去年底到苏州待了两个多月,与一些使用QuantLib的朋友在上海见面,聊了一些程序开发的问题。我就问了一位朋友,他是如何实作雪球的定价?因为我在他的部落格看到他最近写了不少有关Heston模型的文章,以为他会实作Heston的模拟法来定价,想跟他讨论模拟上的一些细节。没想到他的回答出乎我意料之外,竟然是在使用局部波动性(Local Volatility, LV)的模型在定价。

他跟我说,如果使用仿真法,交易员要求在10万条路径的仿真下,要在1秒钟完成计算,以Snow Ball需要逐日模拟的条件,无法达成这个要求。即使是固定波动性(Constant Volatility, CV)的几何布朗运动过程(GBM)中,只有一个随机变量都做不到这样的要求。当然也不用去考虑Heston的随机波动(Stochastic Volatility, SV)模型,因为Heston模型有两个随机变量,仿真的运算量更大,想都别想。他跟我说,他最后是用有限差分法,搭配Local Volatility模型来进行计算的。

我心中觉得这似乎是亚洲华人地区金工人员的通病,大家的理论模型能力都很强,但是实作的IT能力却明显不足。而实作能力的不足,最终将限制理论实际应用的范围。现在国际投行在开发外汇、股票相关的结构商品,大都使用随机波动性(SV)模型。固定波动(CV)与局部波动(LV)模型已经很少使用了,因为前者(CV)无法解释波动性Smile的现象,后者(LV)在动态避险上会产生反效果,甚至比前者的效果还差。但是在实务上,我发现真正会使用SV来定价的金工人员还很少见。

为了比较模型上的差异,也为了展示高能运算的成效,我就自己拟了一笔雪球的契约规格,以沪深300指数为标的,进行定价的计算。我打算以五个小范例,来进行相关的讨论。

范例一:固定波动性的GBM过程,CPU单线程计算

范例二:固定波动性的GBM过程,GPU计算

范例三:随机波动性的Heson过程,CPU单线程计算

范例四:随机波动性的Heson过程,CPU平行12线程计算

范例五:随机波动性的Heson过程,GPU计算

我首先整理了2023/3/24的沪深300指数期权报价资料,建构出波动性曲面(图一)。然后将以此数据求得ATM的波动性曲线,这条曲线是进行范例一与范例二中计算时,配合BS模型GBM过程定价之用。

接下来我以图一的波动性曲面数据,进行Heston模型参数的校正,我使用2023/3/24的Shibor一年内的报价利率,来建构利率期限结构。使用非线性最适化算法,Levenberg-Marquardt法,校正出五个Heston模型参数(图二)。LM法是欧美专业金融软件,如NumeriX、FinCAD等使用的标准方法。校正速度非常快,比Simplex法效率高10倍以上。

然后我就撰写了这五个范例的计算程序(图三),其中CPU单线程的BS模拟定价,MTM = 97.073,Time = 2.472(1X)。GPU的BS模拟定价,MTM = 97.103,Time = 0.603(4.1X)。CPU单线程的Heston模拟定价,MTM = 95.426,Time = 4.251(0.58X)。我也使用CPU的12线程平行运算来模拟定价,MTM = 95.300,Time = 0.536(4.6X)。另外,GPU的Heston模拟定价,MTM = 95.538,Time = 0.683(3.6X)。

首先,令人意外的是BS模型与Heston模型价格差异不小,在单线程CPU上,97.072 vs. 95.426,这表示BS与Heston的权利定价比为(100-97.072) vs. (100-95.426),亦即2.928 vs. 4.574。Heston模型的计算时间约为BS模型的1.7倍。

其次,CPU的平行运算效果相当不错,我使用12个线程来平行处理,Heston的模拟时间(0.536)竟然小于GPU的模拟时间(0.683)。

最后,13万条的路径仿真,不论是固定波动性还是随机波动性的模拟,在GPU下都能在1.0秒内完成,达成交易员的速度要求。

我使用的机器规格为,Windows 11 专业版,32 GB RAM,CPU为AMD R5 7600X (6 Cores, 12 Threads),GPU为NVIDIA Geforce RTX 2060 12GB RAM。CPU平行运算是使用.Net Framework的TPL链接库。开发工具为Visual Studio 2022,开发语言为C#。

雪球(Snow Ball)定价实作:使用Heston模型与GPU加速运算相关推荐

  1. R语言中进行期权定价的Heston模型

    在本文中,我将向您展示如何模拟股票价格的Heston随机波动率模型. 最近我们被客户要求撰写关于Heston的研究报告,包括一些图形和统计输出. Heston模型是一种期权估值方法,它考虑到同一资产在 ...

  2. Heston模型推导

    我在学习Heston模型的时候,根据Heston在1993年的原论文进行推导,有些许问题,后面在姜礼尚老师的书中解决了我的一些疑惑,现将原文奉上. 文章末尾有原论文资源链接. 原论文下载 链接:htt ...

  3. 考虑条件风险价值的多微网主从-合作博弈动态定价与优化调度模型

    考虑条件风险价值的多微网主从-合作博弈动态定价与优化调度模型 摘要:代码主要做的是多微网的能量交互与动态定价问题. 代码整体采用主从博弈框架,上层是零售商的动态定价模型,同时考虑了条件风险价值,对不确 ...

  4. 深度学习模型压缩与加速综述!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Pikachu5808,编辑:极市平台 来源丨https://zh ...

  5. 深度学习模型压缩与加速综述

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 本文详细介绍了4种主流的压缩与加速技术:结构优化.剪枝.量化 ...

  6. 一文看懂深度学习模型压缩和加速

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 1 前言 近年来深度学习模型在计算机视 ...

  7. 腾讯 AI Lab 正式开源PocketFlow自动化深度学习模型压缩与加速框架

    11月1日,腾讯AI Lab在南京举办的腾讯全球合作伙伴论坛上宣布正式开源"PocketFlow"项目, 该项目是一个自动化深度学习模型压缩与加速框架,整合多种模型压缩与加速算法并 ...

  8. 端上智能——深度学习模型压缩与加速

    摘要:随着深度学习网络规模的增大,计算复杂度随之增高,严重限制了其在手机等智能设备上的应用.如何使用深度学习来对模型进行压缩和加速,并且保持几乎一样的精度?本文将为大家详细介绍两种模型压缩算法,并展示 ...

  9. 模型压缩与加速:Octave Convolution

      自AlexNet刷新了ImageNet比赛的最佳记录以来,神经网络的又一次高潮猛烈的到来了.一些列各种各样的网络层出不穷,图像/音频/文本等各种任务下都开始了神经网络一统天下的声音.然而神经网络虽 ...

最新文章

  1. :link,:visited,:focus,:hover,:active详解
  2. 用户请求接口信息日志记录
  3. 动态内存的基本功能和使用
  4. linux1到10累加,10个有趣的 Linux 命令
  5. Linux 添加新硬盘
  6. 32 - II. 从上到下打印二叉树 II
  7. 国人项目,上Github全球热榜了!! 来瞅瞅,你会发现相见恨晚
  8. 微信小程序云开发教程-微信小程序的JS基础-js文件基本结构与生命周期
  9. 一位财务自由人士的投资修行
  10. 电力网络故障的计算机算法,电力系统故障分析的计算机算法.pdf
  11. zepto 操作 cookie
  12. 高中计算机技术教材,广西科学技术出版高中信息技术教材第一册《计算机硬件组成》...
  13. 天涯python_用python做了个简易的天涯脱水功能
  14. 正确编译差分包签名(MTK系统)
  15. 第6节 构建简单局域网并实现远程管理路由器与交换机——基于PacketTracer仿真
  16. NVIDIA vulkan driver的安装和Jetson平台上vulkan sdk的制作
  17. 语法转换_【语法专题】句型转换(下)
  18. 数据可视化 - 地图 - 世界地图
  19. 天猫京东凡客 简析三类B2C模式
  20. Linux将鼠标解放,懒人福音,黑科技鼠标将彻底解放你的双手

热门文章

  1. 如何制作linux再生龙u盘制作,再生龙制作U盘启动盘教程 | 楚盟博客
  2. Windows驱动程序的安装(一)
  3. P72-前端基础项目开发-首页main部分开发Banner
  4. JavaCV:对任意图片进行等比缩放(黑边填充)
  5. 关于鼠标滚动,横向滚动条不滚动问题
  6. python中的object是什么意思_Python函数是所谓的第一类对象(First-Class Object)是什么鬼?...
  7. HLS直播降低延迟的方法
  8. 关于过度依赖计算机的英语作文,2016年6月英语四级作文范文:过度依赖网络
  9. 国庆连夜测试羊了个羊,发现了一些游戏Bug
  10. SAP ABAP 查找更改文档对象(SCDO)和表关系的在线字典1/2(全)