Tag: 金融领域

欧式期权价格delta数值计算方法及装置

(19)国家知识产权局

(12)发明专利申请

(10)申请公布号

(43)申请公布日

(21)申请号202211392624.3

(22)申请日2022.11.08

(71)申请人中国银行股份有限公司

地址100818北京市西城区复兴门内大街1

(72)发明人周军 高辉

(74)专利代理机构北京三友知识产权代理有限

公司11127

专利代理师马冬生 吕俊刚

(51)Int.Cl.

G06F9/50(2006.01)

G06Q30/0201(2023.01)

G06Q40/04(2012.01)

(54)发明名称

欧式期权价格delta数值计算方法及装置

(57)摘要

本申请提供了一种欧式期权价格delta数值

计算方法及装置,其中,该方法包括:初始化中央

处理器(CPU)和图形处理器(GPU)的相关组件,将

需要的标的动态信息加载至内存;根据所述标的

动态信息,计算需要调用的所述GPU的个数以及

所述GPU的内存分配,多线程调用所述GPU进行并

行计算;以及收集并组装所述GPU的计算结果,清

理内存。本申请通过GPU‑CPU异构架构实现欧式

期权价格delta数值的并行计算,能够提升计算

性能,提高计算效率,而且GPU‑CPU异构架构的并

行程度高,易于实现。

权利要求书2页说明书6页附图4页

CN115904704A

2023.04.04

1.一种欧式期权价格delta数值计算方法,其特征在于,所述方法包括:

初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将需要的标的动态信息加载

至内存;

根据所述标的动态信息,计算需要调用的所述GPU的个数以及所述GPU的内存分配,多

线程调用所述GPU进行并行计算;以及

收集并组装所述GPU的计算结果,清理内存。

2.如权利要求1所述的方法,其特征在于,

根据所述标的动态信息,计算需要调用的所述GPU的个数以及所述GPU的内存分配,多

线程调用所述GPU进行并行计算,包括:

根据所述标的动态信息,计算需要的所述GPU和所述CPU的内存数量、内存大小、计算线

程数量等,进行分配,并生成执行指令;以及

接收所述执行指令进行计算。

3.如权利要求2所述的方法,其特征在于,

通过应用程序接口接收所述执行指令进行计算,包括:

计算对数货币波动率与日期权重;

将3维坐标系的行权价格、期限、所述对数货币波动率和所述日期权重创建到GPU内存;

并行计算标的价格增加1个单位的第一期权价格;

并行计算所述标的价格减少1个单位的第二期权价格;以及

根据所述第一期权价格和所述第二期权价格,并行计算3维曲面上所有点的delta值。

4.如权利要求3所述的方法,其特征在于,

计算对数货币波动率与日期权重,包括:

采用三次样条法计算对数货币波动率,并采用线性插值法计算日期权重。

5.如权利要求2所述的方法,其特征在于,

接收所述执行指令,包括:

通过应用程序接口接收所述执行指令。

6.如权利要求1所述的方法,其特征在于,所述方法还包括:

所述标的动态信息至少包括标的量、交易量、行情信息、市场惯例信息、调度参数信息、

结束条件信息、标准期限的波动率。

7.一种欧式期权价格delta数值计算装置,其特征在于,所述装置包括:

初始化模块,其用于初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将需要

的标的动态信息加载至内存;

计算模块,其用于根据所述标的动态信息,计算需要调用的所述GPU的个数以及所述

GPU的内存分配,多线程调用所述GPU进行并行计算;以及

组装模块,其用于收集并组装所述GPU的计算结果,清理内存。

8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计

算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述

的欧式期权价格delta数值计算方法。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利

要求1至6任一项所述的欧式期权价格delta数值计算方法的计算机程序。

权 利 要 求 书

1/2页

CN115904704A

10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计

算机程序被处理器执行时实现权利要求1至6任一项所述的欧式期权价格delta数值计算方

法。

权 利 要 求 书

2/2页

CN115904704A

欧式期权价格delta数值计算方法及装置

技术领域

本申请涉及金融领域,尤其涉及一种欧式期权价格delta数值计算方法及装置。

背景技术

期权定价的输入维度为行权价格、期权和波动率,且每个维度的数据量都较大。当

交易量比较大时,会出现大量的重复的计算场景。CPU具有串行计算的特性,CPU体系架构下

的性能优化会受限于其体系结构的局限而出现瓶颈,适用于大量计算的GPU框架成了解决

其瓶颈的必然选择。

发明内容

本申请的目的在于提供一种欧式期权价格delta数值计算方法及装置,通过GPU‑

CPU异构架构实现欧式期权价格delta数值的并行计算,能够提升计算性能,提高计算效率,

而且GPU‑CPU异构架构的并行程度高,易于实现。

本申请实施例提供一种欧式期权价格delta数值计算方法,该方法包括:

初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将需要的标的动态信息

加载至内存;

根据所述标的动态信息,计算需要调用的所述GPU的个数以及所述GPU的内存分

配,多线程调用所述GPU进行并行计算;以及

利用所述CPU收集并组装所述GPU的计算结果,清理内存。

具体实施例中,根据所述标的动态信息,计算需要调用的所述GPU的个数以及所述

GPU的内存分配,多线程调用所述GPU进行并行计算,包括:

根据所述标的动态信息,计算需要的所述GPU和所述CPU的内存数量、内存大小、计

算线程数量等,进行分配,并生成执行指令;以及

接收所述执行指令进行计算。

具体实施例中,通过应用程序接口接收所述执行指令进行计算,包括:

计算对数货币波动率与日期权重;

将3维坐标系的行权价格、期限、所述对数货币波动率和所述日期权重创建到GPU

内存;

并行计算标的价格增加1个单位的第一期权价格;

并行计算所述标的价格减少1个单位的第二期权价格;以及

根据所述第一期权价格和所述第二期权价格,并行计算3维曲面上所有点的delta

值。

具体实施例中,计算对数货币波动率与日期权重,包括:

采用三次样条法计算对数货币波动率,并采用线性插值法计算日期权重。

具体实施例中,接收所述执行指令,包括:

通过应用程序接口接收所述执行指令。

说 明 书

1/6 页

CN 115904704 A

具体实施例中,所述标的动态信息至少包括标的量、交易量、行情信息、市场惯例

信息、调度参数信息、结束条件信息、标准期限的波动率。

本申请实施例提供一种欧式期权价格delta数值计算装置,该装置包括:

初始化模块,其用于初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将

需要的标的动态信息加载至内存;

计算模块,其用于根据所述标的动态信息,计算需要调用的所述GPU的个数以及所

述GPU的内存分配,多线程调用所述GPU进行并行计算;以及

组装模块,其用于利用所述CPU收集并组装所述GPU的计算结果,清理内存。

本申请实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并

可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述欧式期权价

格delta数值计算方法。

本申请实施例也提供一种计算机可读存储介质,所述计算机可读存储介质存储有

执行上述欧式期权价格delta数值计算方法的计算机程序。

本申请实施例也提供一种计算机程序产品,该计算机程序产品包括计算机程序,

所述计算机程序被处理器执行时实现上述欧式期权价格delta数值计算方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用

的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本

领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的

附图。

图1是本申请的欧式期权价格delta数值计算方法的一个流程图;

图2是本申请的步骤12的一个流程图;

图3是本申请的步骤122的一个流程图;

图4是本申请的欧式期权价格delta数值计算装置的一个示意图;

图5是本申请的计算模块20的一个示意图;

图6是本申请的计算单元202的一个示意图;

图7是本申请的计算机设备的一个示意图。

具体实施方式

参照附图,通过下面的说明书,本申请的前述以及其它特征将变得明显。在说明书

和附图中,具体公开了本申请的特定实施方式,其表明了其中可以采用本申请的原则的部

分实施方式,应了解的是,本申请不限于所描述的实施方式,相反,本申请包括落入所附权

利要求的范围内的全部修改、变型以及等同物。

在本申请实施例中,术语“和/或”包括相关联列出的术语的一种或多个中的任何

一个和所有组合。术语“包含”、“包括”、“具有”等是指所陈述的特征、元素、元件或组件的存

在,但并不排除存在或添加一个或多个其他特征、元素、元件或组件。

在本申请实施例中,单数形式“一”、“该”等可以包括复数形式,应广义地理解为

“一种”或“一类”而并不是限定为“一个”的含义;此外术语“所述”应理解为既包括单数形式

说 明 书

2/6 页

CN 115904704 A

也包括复数形式,除非上下文另外明确指出。此外术语“根据”应理解为“至少部分根

据……”,术语“基于”应理解为“至少部分基于……”,除非上下文另外明确指出。

本申请实施例提供了一种欧式期权价格delta数值计算方法。图1是本申请实施例

中欧式期权价格delta数值计算方法的流程图。如图1所示,该方法包括:

步骤11、初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将需要的标的

动态信息加载至内存;

步骤12、根据标的动态信息,计算需要调用的GPU的个数以及GPU的内存分配,多线

程调用GPU进行并行计算;以及

步骤13、收集并组装GPU的计算结果,清理内存。

由上述实施例可知,本申请通过GPU‑CPU异构架构实现欧式期权价格delta数值的

并行计算,能够提升计算性能,提高计算效率,而且GPU‑CPU异构架构的并行程度高,易于实

现。

下面对步骤11进行示例性说明。

在一些实施例中,将计算时需要使用的标的动态信息,比如,标的量、交易量、行情

信息、市场惯例信息、调度参数信息、结束条件信息、标准期限的波动率等加载至CPU缓存。

下面对步骤12进行示例性说明。

图2是步骤12的流程图。如图2所示,步骤12包括以下步骤:

步骤121、根据上述标的动态信息,计算需要的GPU的内存数量、内存大小、计算线

程数量等,进行分配,并生成执行指令;以及

步骤122、通过应用程序接口(Application  Programming  Interface,API)接收上

述执行指令进行计算。

图3是步骤122的流程图。如图3所示,步骤122包括以下步骤:

步骤1221、采用三次样条法计算对数货币(log‑moneyness)波动率,采用线性插值

法计算日期权重(day‑weighted)。对于非标准期限、非平价期权(at  the  money,ATM)波动

率,需要计算对数货币(log‑moneyness)波动率与日期权重(day‑weighted)。对于标准期

限、ATM波动率,无需计算对数货币(log‑moneyness)波动率与日期权重(day‑weighted);

步骤1222、将3维坐标系的行权价格、期限、对数货币波动率和日期权重创建到GPU

内存。对于期限,可以预先将其加载到GPU内存。对于行权价格和波动率,将其变动部分更新

即可,例如,CPU将行权价格和波动率的变动筛选出来,输送到GPU中;

步骤1223、并行计算标的价格增加1个单位的第一期权价格。对于同一个行权价

(strike),需要计算不同期限的期权价格。因此,对于同一个strike计算得到的期权价格的

个数等于期限的个数。利用GPU进行并行计算,可以最大限度地同时计算出所有的期权价

格。例如,对于5笔交易,以strike的数量等于10、期限的数量等于20为例,GPU最大化可以一

次性计算出200*5个期权价格,而对于8核CPU来说,一次性最大只能计算出8个期权价格。因

此,充分利用GPU的并行度,其计算性能会大幅提高,GPU的计算性能会远远高于多核CPU的

计算性能;

步骤1224、并行计算标的价格减少1个单位的第二期权价格;以及

步骤1225、根据上述第一期权价格和第二期权价格,并行计算3维曲面上所有点的

delta值。

说 明 书

3/6 页

CN 115904704 A

下面对步骤13进行示例性说明。

在一些实施例中,将步骤1225计算出的delta值输出到CPU,由CPU生成用户格式进

行输出。

上述具体应用的实施仅为举例,其余实施方式不再一一赘述。

基于同一发明构思,本申请实施例还提供一种欧式期权价格delta数值计算装置。

由于欧式期权价格delta数值计算装置所解决问题的原理与欧式期权价格delta数值计算

方法相似,因此欧式期权价格delta数值计算装置的实施可以参见欧式期权价格delta数值

计算方法的实施,重复之处不再赘述。

图4是本申请实施例的欧式期权价格delta数值计算装置的示意图。如图4所示,本

申请实施例提供的欧式期权价格delta数值计算装置1包括初始化模块10、计算模块20和组

装模块30。

初始化模块10用于初始化中央处理器(CPU)和图形处理器(GPU)的相关组件,将需

要的标的动态信息加载至内存。

计算模块20用于根据标的动态信息,计算需要调用的GPU的个数以及GPU的内存分

配,多线程调用GPU进行并行计算。

组装模块30用于收集并组装GPU的计算结果,清理内存。

由上述实施例可知,本申请通过GPU‑CPU异构架构实现欧式期权价格delta数值的

并行计算,能够提升计算性能,提高计算效率,而且GPU‑CPU异构架构的并行程度高,易于实

现。

下面对初始化模块10进行示例性说明。

在一些实施例中,初始化模块10将计算时需要使用的标的动态信息,比如,标的

量、交易量、行情信息、市场惯例信息、调度参数信息、结束条件信息、标准期限的波动率等

加载至CPU缓存。

下面对计算模块20进行示例性说明。

图5是计算模块20的示意图。如图5所示,计算模块20包括调度单元201和计算单元

202。

调度单元201用于根据上述标的动态信息,计算需要的GPU的内存数量、内存大小、

计算线程数量等,进行分配,并生成执行指令。

计算单元202用于通过应用程序接口(Application  Programming  Interface,

API)接收上述执行指令进行并行计算。在一些实施例中,计算单元202为GPU。

图6是计算单元202的示意图。如图6所示,计算单元202包括第一计算单元2021、创

建单元2022、第二计算单元2023、第三计算单元2024和第四计算单元2025。

第一计算单元2021采用三次样条法计算对数货币(log‑moneyness)波动率,采用

线性插值法计算日期权重(day‑weighted)。对于非标准期限、非平价期权(at  the  money,

ATM)波动率,需要计算对数货币(log‑moneyness)波动率与日期权重(day‑weighted)。对于

标准期限、ATM波动率,则无需计算对数货币(log‑moneyness)波动率与日期权重(day‑

weighted)。

创建单元2022用于将3维坐标系的行权价格、期限、对数货币波动率和日期权重创

建到GPU内存。对于期限,可以预先将其加载到GPU内存。对于行权价格和波动率,将其变动

说 明 书

4/6 页

CN 115904704 A

部分更新即可,例如,CPU将行权价格和波动率的变动筛选出来,输送到GPU中。

第二计算单元2023用于并行计算标的价格增加1个单位的第一期权价格。对于同

一个行权价(strike),需要计算不同期限的期权价格。因此,对于同一个strike计算得到的

期权价格的个数等于期限的个数。利用GPU进行并行计算,可以最大限度地同时计算出所有

的期权价格。例如,对于5笔交易,以strike的数量等于10、期限的数量等于20为例,GPU最大

化可以一次性计算出200*5个期权价格,而对于8核CPU来说,一次性最大只能计算出8个期

权价格。因此,充分利用GPU的并行度,其计算性能会大幅提高,GPU的计算性能会远远高于

多核CPU的计算性能。

第三计算单元2024用于并行计算标的价格减少1个单位的第二期权价格。

第四计算单元2025用于根据上述第一期权价格和第二期权价格,并行计算3维曲

面上所有点的delta值。

下面对组装模块30进行示例性说明。

在一些实施例中,组装模块30将第四计算单元2025计算出的delta值输出到CPU,

由CPU生成最终的数据格式进行输出。

本申请实施例还提供一种计算机设备。图7是本申请实施例的计算机设备的示意

图。计算机设备2包括存储器21、处理器22及存储在存储器上并可在处理器上运行的计算机

程序,处理器执行所述计算机程序时实现上述欧式期权价格delta数值计算方法。

本申请实施例也提供一种计算机可读存储介质,计算机可读存储介质存储有执行

上述欧式期权价格delta数值计算方法的计算机程序。

本申请实施例也提供一种计算机程序产品,该计算机程序产品包括计算机程序,

所述计算机程序被处理器执行时实现上述欧式期权价格delta数值计算方法。

需要说明的是,本申请中技术方案中对数据的获取、存储、使用、处理等均符合国

家法律法规的相关规定。

本申请实施例中的用户信息均是通过合法合规途径获得,并且对用户信息的获

取、存储、使用、处理等经过用户授权同意的。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创

造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤

执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可

以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处

理的环境)。

本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机

程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬

件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代

码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计

算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图

和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程

和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指

令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生

说 明 书

5/6 页

CN 115904704 A

一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现

在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特

定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指

令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或

多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计

算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或

其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一

个方框或多个方框中指定的功能的步骤。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部

分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实

施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例

的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者

操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何

这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他

性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且

还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的

要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为

了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方

位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可

以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可

以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的

普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。需要说明的

是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本申请并不局

限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的

任意组合和/或置换。而且,可以单独使用本申请的每个方面和/或实施例或者与一个或更

多其他方面和/或其实施例结合使用。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽

管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依

然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进

行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术

方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。

说 明 书

6/6 页

CN 115904704 A

图1

图2

说 明 书 附 图

1/4 页

10

CN 115904704 A

10

图3

图4

说 明 书 附 图

2/4 页

11

CN 115904704 A

11

图5

图6

说 明 书 附 图

3/4 页

12

CN 115904704 A

12

图7

说 明 书 附 图

4/4 页

13

CN 115904704 A

13