GPGPU 上的金融应用程序

16

我想知道可以使用GPGPU实现哪些与金融相关的应用。我知道可以使用CUDA在GPGPU上使用Monte Carlo模拟进行期权定价/股票价格估算。能否列举一下在金融领域利用GPGPU实现任何应用的各种可能性呢?


请提供要翻译的英文编程内容,我会将其翻译成中文并提供相关的资料和资源链接。 - CUDA-dev
7个回答

4
有许多金融应用可以在GPU上运行,涉及定价和风险等各个领域。NVIDIA的Computational Finance页面提供了一些链接。
对于许多人来说,Monte Carlo确实是最明显的起点。 Monte Carlo是一类非常广泛的应用程序,其中许多应用程序适合于GPU。此外,许多基于格子的问题也可以在GPU上运行。显式有限差分方法运行良好且易于实现,在NVIDIA网站以及SDK中有很多示例,它也经常在石油和天然气代码中使用,因此材料充足。隐式有限差分方法也可以根据问题的确切性质正常工作,Mike Giles在他的site上有一个3D ADI求解器,还有其他有用的金融内容。
GPU也非常适合线性代数类型的问题,特别是您可以将数据保留在GPU上进行合理的工作时。 NVIDIA为CUDA Toolkit提供了cuBLAS,您也可以获得cuLAPACK

3

基本上,任何需要大量并行计算的东西都可以使用。就像你最初提到的那样,无法使用封闭形式解法来计算期权的蒙特卡罗模拟是非常好的选择。任何涉及到大型矩阵和对它们进行操作的东西都是理想的;毕竟,三维图形使用了大量矩阵数学。

考虑到许多交易员桌面有“工作站”级别的GPU以驱动多个监视器,可能还带有视频源,有限的三维图形(波动率曲面等),将一些价格分析运行在GPU上而不是将责任推给计算网格是有意义的;根据我的经验,计算网格经常承受着每个银行中的每个人都试图使用它们的压力,其中一些网格计算产品留下了很多问题。

除了这个特定问题之外,使用GPU能够轻松实现的其他东西并不是很多,因为指令集和管道在功能范围上与常规的CISC CPU相比更加有限。

采用GPU的问题在于标准化;NVidia有CUDA,ATI有Stream。大多数银行已经有足够的供应商锁定要处理,而不用将其衍生分析(许多人认为这是极其敏感的知识产权)挂钩到图形卡供应商的加速技术中。我想随着OpenCL作为开放标准的可用性,这种情况可能会改变。


1

2
它是一种1-2年前的语言,如何能被广泛使用? - Meh
1
@Adal:F#在一定程度上基于OCaml,后者在金融业中被广泛使用和知晓。此外,如果你看一下,F#针对社区的第一个版本已经发布了大约5年,因此很多人已经深入研究过它了。 - elmattic

1

高端GPU逐渐开始提供ECC内存(对于金融和军事应用而言是一个严肃的考虑因素)以及高精度类型。

但目前真正重要的是蒙特卡罗方法。

你可以参加研讨会,从他们的描述中可以看到它将专注于蒙特卡罗方法。


1
这是“Monte”而不是著名的赌场“Monty”。 - Ross

1

1
使用GPU会对应用程序的架构、部署和维护带来限制。 在你投入精力解决方案之前要三思。 例如,如果您在虚拟环境中运行,则需要所有物理机器都安装了GPU硬件以及特殊的vGPU硬件和软件支持+许可证。 如果您决定在云中托管服务(例如Azure、Amazon),怎么办呢? 在许多情况下,提前构建架构以支持扩展和灵活性是值得的,而不是尽可能地从硬件中挤取更多(当然有一些额外开销)。

0
回答你问题的补充:任何涉及会计的事情都不能在GPGPU上完成(或者说二进制浮点数也不行)。

是的,我想知道有哪些典型的金融应用程序可以移植到GPGPU平台上。 - CUDA-dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接