与预报系统相关的改进技术领域
本发明涉及改进的预报系统,具体地但不排他地涉及用于使用近似技术来准确地
执行预测功能的系统。
背景技术
预测参数的未来值在许多领域(包括分子生物学、石油和天然气、结构工程、金融
建模和天气预报)内是期望的。典型地,在这些领域内,参数的值取决于若干关键变量因子
与次变量之间的复杂关系。可以基于预测来决策和预期,因此预报(即,用与每个未来潜在
事件相关联的概率确定未来潜在事件)是有用的。此外,这样的预测分析能够向控制系统提
供有用反馈以将系统或装置配置为适应未来状态或事件。
使用近似技术的预测功能用在以下状况下:给定参数仅可以通过考虑一组函数而
确定,而其中每个函数基于多个场景而确定。该未来行为模拟所需的计算工作量如此大(例
如,可能上百万变量值需要进行上百万次的近似计算)以致于甚至现有技术的计算平台的
当前状态才勉强符合期望的准确性和性能水平。例如,当前的预报系统可以减少所执行的
近似计算的次数,从而降低准确性,或者增加所使用的处理能力的数量,从而增加系统的电
力和资源要求。这样的预测分析技术的应用包括诸如结构工程、分子生物学、天气预报、石
油与天然气以及金融建模的领域。
例如,在生物医学和生物研究中,极其重要的是确定复杂系统中的分子的行为。因
而,分子间相互作用的模拟对于预测变量改变的结果是必要的,诸如药物与其溶剂的相互
作用或者与其结合的受体的相互作用,该模拟可能影响分子所在的系统。当用简单分子标
准统计方法就足够时,但在诸如DNA、蛋白质或RNA的复杂分子的情况下,分子模拟方法要求
包括在显性意外方面影响生物系统的全局行为的变量。
复杂模拟可以用于例如预测蛋白质在空间内如何折叠、膜受体如何将配体输送到
细胞的细胞质、该受体如何与配体相互作用以引起生理反应或者病毒构型如何改变以与寄
主膜结合并成功地感染该寄主膜。复杂模拟和预测系统在许多情况下都基于其他方法当中
的蒙特卡洛方法。此外,蒙特卡洛方法已用于使用来自不同物种的分子数据来模拟和预测
进化改变。
另外,可以对将蛋白质原子链折叠成使其可使用的形状进行建模。该建模可以使
用模拟的蒙特卡洛方法(即,蒙特卡洛模拟)来进行,其中,每个时间步长模拟随机的步进,
然后,如本领域已知的那样,对建立电磁平衡点的方程式进行求解。这些方程式计算并使用
相当大量的计算资源极其复杂。
在结构工程中,例如,对于汽车制造商,一般存在能够用于确定汽车的每个部件可
以承受的应力和损坏的非常复杂且准确的模型。期望了解部件在不同驾驶条件下失效的情
况下汽车会持续工作多长时间,以便优化部件的设计和相互作用。可以在不同的时间段内
模拟不同的驾驶场景(例如,城市驾驶、在高速路上、在乡村、城市与乡村的组合、以不同速
度等)。然后,可以使用该模型来确定车辆的每个部件的渐进损坏,直到损坏达到会引起部
件失效的应力阈值。通过运行这些模拟,可以了解汽车能够保持适于道路行驶平均多长时
间,其在1年内、在5年内、在20年损坏的概率等。
典型的现有技术的预报系统
在上述示例中,可以使用诸如蒙特卡洛方法的随机建模来确定影响期望参数的关
键变量。然后可以将该随机模型馈入到确定期望的结果,因为期望结果与关键变量因子之
间的复杂关系是已知的。然而,为了实现更准确的结果,必须运行多个关键变量的组合。这
使得计算开销变得非常大,尤其当增大迭代次数时。
在图1中示出了典型的现有技术的预报系统10。预报系统10适于可以使用随机建
模来确定影响所期望的参数的关键变量的应用。在此以通用术语以及以下的示例的上下文
应用对预报系统10的特征进行描述。预报系统10包括控制器12、输入因子模块14、场景模块
16、度量模块18和输入/输出模块20。输入因子模块14、场景模块16、度量模块18和输入/输
出模块20均连接至控制器12。
输入因子模块14确定馈送到参数函数25(下文将更详细地描述)中的关键变量的
不同场景21(即,随机模型)。输入参数场景21存储在随机模型数据库22中。
度量模块18被配置成基于所评价的参数函数25来生成预报。输入/输出模块20将
与预报系统10的接口提供给外方。例如,输入变量的值可以由用户或独立系统经由输入/输
出模块20来提供。
图2更详细地示出了场景模块16。场景模块16包括均连接至场景控制器28的参数
函数评价器24和参数函数数据库26。参数函数评价器24被配置成使用来自输入因子模块14
的输入变量来评价参数函数25以生成预报场景27。
参数函数数据库26包括多个应用专用参数函数25。参数函数的输入是来自输入因
子模块14的一个或多个变量的集合。当针对一个或多个变量的集合的值而评价参数函数
时,参数函数的输出是该参数在这些变量的给定值下的值。
图3示出了输入场景21、创建场景的关键变量(在该示例中,两个变量)、参数函数
25之一(在该示例中,为函数F2)、预报场景27与度量19之间的关系。即,每个场景由关键变
量的值的不同组合来限定。这些场景被输入至用于生成输出的函数F2。F2的输出是预报场
景27,预报场景27进而又可以用于确定度量19。
图4示出了概述以上关于图1所描述的预报系统10执行的现有技术处理30的流程
图。处理30首先在步骤32中输入因子模块14使用随机建模来评价用于参数函数的所有输入
变量并将其存储在随机模型数据库22中。
在使用输入变量作为参数函数25的输入的情况下,在步骤34中场景模块16确定参
数场景。参数场景也随机变化但随输入变量的统计模型而不同。场景模块16的参数函数评
价器24根据参数函数数据库26评价适当的参数函数25达到确定期望的参数场景所需的次
数。用于预报的参数函数通常是预定的。
然后,在步骤36中,度量模块18采用来自场景模块16生成的参数场景的输入来评
价度量19。然后,可以在步骤38中使用在步骤36中所确定的度量来生成预测或预报。预报的
输出可以是事件发生的概率。
以下在石油与天然气工业、天气预报和金融建模的背景下更详细地描述预报系统
10。参考图1至4所述的典型的现有技术的预报系统来描述石油与天然气以及天气预报示
例。
石油与天然气
在石油与天然气工业的示例中,预报系统10执行的处理30涉及输入因子模块14在
步骤32中评价针对输入变量的随机模型。输入变量的集合可以包括:均随时间随机变化的
原油的粘性、储油器中的剩余供应量、抽油容量、井温度、钻井流体的可利用性和/或有效
性。针对每个输入变量的不同场景21(即,随机模型)存储在随机模型数据库22中。
在该示例中场景模块16的参数函数数据库26存储用以确定油井中的原油随时间
的可提取量的参数函数25。在步骤34中,场景模型16使用来自随机模型数据库22的输入变
量来确定该参数的场景21。在每个场景下按每个时间步长评价参数函数以形成可提取量参
数的随机模型。
然后,在步骤36中,度量模块18基于可以从油井提取的预期原油量来确定度量。在
该示例中,度量19可以包括所需的油精炼与提纯能力以及在下游工艺中所需的人员配备水
平。所算出的度量19允许在步骤38中生成预报,例如,未来精炼与提纯要求超过当前能力的
概率。准确的预报有益于实现及时提高精炼与提纯能力以满足使得精炼与提纯工艺更有效
的预测要求。
对于所需的人员配备水平的度量,在确定是否需要雇佣额外的或更少的人员以满
足油井的生产要求时,准确的预报是有利的。
为了提高预报的准确性,增加在步骤34中所确定的参数函数场景的时间分辨率。
然而,将评价参数函数25的典型时间与针对每个场景21而评价参数函数25的次数相结合意
味着,即使使用采用可利用的最高能力的计算装置的系统来生成针对可提取量参数的准确
的高分辨率随机模型通常也可能花费很长时间。如果生成参数函数场景所花费的时间太
长,则由于开始条件的值可能已改变,因此结果可能不再有效。
为了针对预报以及时的方式来生成用于可提取量参数的随机模型,现有技术的预
报系统10通常采取以下中的一项或多项:
1)通过场景模块16减少在步骤34中所确定的场景和时间点的数量,使得可以在合
理时间内进行计算。然而,缺点在于,这降低了场景的分辨率并且减小了用于生成预报的度
量的准确性。
2)不尝试计算复杂参数函数,这是因为这些函数会占用更多计算时间。此外,作为
结果,所确定的度量会受到准确性减小的负面影响;以及
3)增加被配置以实现预报系统10的计算机数量(并且因此增大计算能力)。然而,
减少确保这些结果有效且有用所需的时间所需要的计算机数量会完全不切实际。因此,即
使在计算能力增大的情况下,这些结果的分辨率仍低且准确性仍差。
4)实现计算方法中的捷径,这些方法可能增大速度但在计算中总是以准确性为代
价。结果,所生成的度量的准确性和可用性达不到标准。
天气预报
预报系统10的另一示例实例在天气预报领域内。当在特定时间在某一个位置预测
温度或降雨量时,可以使用参数函数来预测温度或降雨量,在这些参数函数中,一个或多个
输入变量的集合可以包括均来自成百上千个乃至更多不同位置的气压、空气密度、太阳能
量和湿度。蒙特卡洛模拟用于以条件(例如,温度、湿度、压力)已知时的大气状态开始的天
气预测。
预报系统10执行的处理30以步骤32开始,在步骤32中,输入因子模块14确定输入
变量在多个场景21之间随着时间的变化。每个输入变量随着时间的变化(即,随机模型)的
不同场景存储在随机模型数据库22中。
在该示例中,参数函数数据库26包括根据输入变量中的一个或多个来输出在地理
位置处的温度的参数函数25。在步骤34中,场景模块16使用来自随机模型数据库22的输入
变量来确定该参数25的场景21。在每个场景21中以每个时间步长评价参数函数25以形成温
度的随机模型。
然后,在步骤36中,度量模块18基于在该地理位置处的预期温度变化来确定度量
19。度量19可以包括例如海平面、花粉量、UV指数和风速/风向。所算出的度量19允许在步骤
38中生成预报。例如,风速和风向度量可以用于确定风速超过预定阈值的概率,超出该阈值
将需要公共服务以及时的方式采取预防措施。另一示例是花粉量或UV指数的概率是否超过
预定阈值。可以向一般公众发布预报以使得他们能够采取适当行动。
在天气建模中以及在石油与天然气建模中,准确的预报是有利的。度量19的准确
性取决于在步骤34中所确定的参数函数场景21的分辨率。然而,将评价参数函数25的典型
时间与针对每个场景21而评价参数函数25的次数相结合,意味着一般花费很长时间生成准
确预报。一个问题是如果生成参数函数场景所花费的时间太长,则由于开始条件的已知值
(根据这些开始条件生成输入参数,并且开始条件可以包括在输入参数中)可能已改变,因
此这些结果可能不再有效。
参数函数数据库26还可以包括参数函数25,该参数函数25被配置成输出大气中的
均衡状态,以使得场景展示大气条件的演变。通常,在步骤34中,在蒙特卡洛模拟中以小时
间步长评价该参数函数,并且在每个时间步长之后,在下一时间步长之前确定大气中的均
衡状态。时间步长越小,越容易对描述大气均衡的新状态的方程式进行求解。然而,在时间
步长较小的情况下,运行远到未来(即,较长时间帧)的模拟的计算开销变得高昂。因此,要
实现在模拟中在时间上预测得更远,在模拟中就要使用更大的时间步长。然而,这些时间步
长越大就使得计算新的大气均衡点的方程式越复杂并因此越难以求解。
为了针对预报以及时的方式生成参数函数场景,现有技术的预报系统10一般采取
上述三个选项中的一个或多个,即:
1)场景模块16减少在步骤34中所确定的场景和时间点的数量;
2)简单地不尝试计算复杂参数函数;以及
3)增加被配置为实现预报系统10的计算机的数量(并且因此,增大计算能力)。
4)实现在所实现的方法中能够增大速度但降低计算准确性的捷径。
通常,上述选项中的任一个都未带来如期望的准确性的令人满意的解决方案。
金融建模
以下在金融建模领域中讨论更详细且更起作用的预报示例,以说明现有技术的预
报模拟技术的现有状态的限制。然而,应理解,在实现这些系统和技术中存在的技术限制同
样适用于预报和模拟技术的所有应用领域。
将金融作为具体示例,场外交易(OTC)衍生工具是全球金融世界中的重要部分。
OTC衍生工具是两个机构签署的合同,这两个机构据其在合同期限内和/或在合同期满同意
交换一系列现金流。这些现金流将依据某些所指定的外部变量的值来驱动。达成这些合同
的两个机构通常被称为OTC衍生工具的“对手方”。金融机构可以包括“投资组合”或“账簿”
中的大量OTC衍生工具,其中,通常达到几百万个OTC衍生工具。
每个OTC衍生工具包括一个或多个价格参数。价格参数的示例包括:价格的数值、
价格的时间有效性和价格的潜在变化范围(例如,标准偏差)、价格对于外部因素的敏感度
(例如,在本领域内所谓的“天书(Greeks)”)。
合同的一个示例是股票期货(Equity Future)。在该示例中,今天是2014年1月1
日,并且实体A和实体B就2015年1月1日在他们之间的以下现金流达成一致:SP500的值在这
两天之差乘以协定的名义价值。因此,他们同意合同的价格参数P大致通过下式来确定:
P=Notional(SP5001,1,15-SP5001,1,14)
其中,Notional是例如一千美元,SP500是标准普尔500股票指数的值,其使得
SP5001,1,14是在2014年1月1日的值而SP5001,1,15是在2015年1月1日的值。如果P大于0,则实
体A从实体B接收现金流,如果P小于0,则实体A付给实体B现金流。
必须注意,这些资产具有不断变化且变化往往非常迅速的值,这些资产的价格参
数和风险管理对于资产所有者而言是主要问题。其原因是对准确风险度量的评价在计算上
要求极高,达到在许多情况下无法适当地实现的程度。这在本文档中将更详细地进行解释。
此外,价格参数和风险度量的计算要求使用价格参数函数来直接根据市场数据进行估价。
该合同具有在2014年1月1日与2015年1月1日之间的任何时间t处的价格参数,其
可以通过下式来近似:
Pt=Notional(SP500t-SP5001,1,14)
概括上述示例,为了计算在任意时间点处OTC衍生工具的价格参数,存在两个可区
分的分量:
1)风险因子
OTC衍生工具的价格参数基于若干风险因子的值。在以上提供的简化示例中,仅存
在一个风险因子:SP500股票指数的值。然而,在大多数OTC衍生工具中,存在相当大量的可
变风险因子。这些风险因子包括若干类型的利率、外汇率、股票价格、信用差价、商品价格、
债券价格等。OTC衍生工具的金融机构账簿将对这些因素中的多个因素敏感,通常这些因素
的范围从数百个风险因子到数千个风险因子。
2)衍生价格参数函数
一旦已确定影响OTC衍生工具的价格参数的风险因子,在时间t处的价格参数将通
过函数f(x)来给出,以使得:
Pt=f(xt)
其中,x是指与OTC衍生工具在时间t处的价格参数相关的全部风险因子的加权组
合集。返回参照前一示例,如果将x当作等同于SP500,则f(xt)=Notional(xt-x0),其中,x0
是是风险因子的初始值,即,SP5001,1,14。
对手方信用风险度量的确定
在金融服务的背景下,对手方信用风险是金融合同的对手方将在合同到期之前违
约的风险。由于OTC衍生工具通常是对手方之间的私下协商合同,因此它们受对手方风险支
配。对手方风险类似于其他形式的信用风险,原因在于经济损失的起因是债务人是否违约
(例如,进入清盘阶段)。然而,对手方风险与形式更传统的信用风险的差别在于敞口的不确
定性(即,潜在损失的值可能变化)及其双边性质(即,双方都向彼此敞口)。为了降低敞口不
确定性并管理对手方信用风险,使用一个或多个度量来测量并量化风险。
图5(a)示出了可以用于确定对手方信用风险度量的示例性现有技术预报系统
100。该系统包括控制器102以及均连接至控制器102的风险因子模块104、价格参数模块
106、风险度量模块108和输入/输出模块110。风险因子模块104确定馈送给价格参数函数并
且影响OTC衍生工具的价格的关键变量随时间的变化。
价格参数函数f(x)是限定一个或多个输入变量之间的关系以产生输出的数学函
数,其中,该输出是价格参数。在一个或多个输入变量的(一个或多个)域内限定价格参数函
数。相应地,价格参数函数在一个或多个关系域(与时间域相对)内变化,其中,每个关系域
对应于一个或多个输入变量对函数的输出的影响。
风险因子模块104将关于风险因子的值的数据存储在参照图5(b)更详细描述的随
机模型数据库112中。价格参数模块106确定价格参数函数f(x),并且参照图6(a)来更详细
地进行描述。风险度量模块108被配置为确定对手方信用风险度量的值。输入/输出模块110
将与预报系统100的接口提供给外方。
每个模块均包括与多核心结构并联布置的其自身的处理核心或者处理器组,以提
供如本领域已知的增大的处理速度。输入/输出模块110被配置为允许预报系统100与用户
(用户装置或计算机)或计算机网络之间的双向通信,其中,输入是该系统接收到的信号或
数据,而输出是从该系统发送的信号或数据。例如,输入/输出模块110可以是网卡、调制解
调器或包括键盘和监视器的计算机终端。
图5(b)更详细地示出了随机模型数据库112。对于每个风险因子114,在时间点
116,针对多个不同场景118而存储风险因子的值120。在图5(b)的示例中,在四个时间点处
均示出了两个不同的风险因子Factor1和Factor2的值120。
图5(c)是可以存储在随机模型数据库112中的示例随机模型122的图形表示。随机
模型122示出了在潜在结果的四种不同分布124(被称为“场景”)下风险因子随时间变化的
值。在所示的示例中,所有四种场景124在t=0处开始风险因子具有相同的值;然而,必须注
意,在其他应用中,这可能并不始终是这种情况,并且场景的初始值可能不同。在图5(c)中,
为了说明简便而仅示出了四种场景,然而,通常的随机模型可以包括上千种场景。
在该示例中,已知每个风险因子的初始条件,换言之,对于当前时间t=0,每个风
险因子的值是已知的,然而,风险因子在当前时间之后的任意时间的值是未知的。由于每个
风险因子可能随着时间变化,因此风险因子模块被配置为使用随机模拟(诸如,本领域已知
的蒙特卡洛方法)形式的概率建模来确定风险因子随着时间的演变。
四种场景124往往随着时间增加而彼此偏离,这是因为随机模型允许累积的随机
变化,从而引起风险因子的潜在未来值的不确定性增大。随机变化可以基于在风险因子的
历史数据和/或当前数据的值中观察到的波动。
如上所述,每个OTC衍生工具可能受数百种到数千种风险因子影响,每个风险因子
具有其自身的针对数千种场景的值的随机模型。
风险因子模块104生成的随机场景经由控制器102传送至价格参数模块106。
价格参数模块106被配置为在期望时间点以及在给定场景下确定每个OTC衍生工
具的价格参数。对于特定时间t以及在给定场景i下,可以使用定价参数函数Pt,i=f(xt,i)来
确定OTC衍生工具的价格参数。为了建立OTC衍生工具价格参数在给定场景下随着时间的变
化,可以针对不同时间点而确定定价参数函数。
图6(a)更详细地示出了示例性现有技术的价格参数模块106。价格参数模块106包
括价格参数控制器150、价格参数函数评价器152和定价函数数据库154。价格参数控制器
150连接至预报系统100的控制器102。价格参数函数评价器152和定价函数数据库154均连
接至价格参数控制器150。价格参数函数评价器152使用来自随机模型数据库112的风险因
子的值来确定来自定价函数数据库154的价格参数函数的值。定价函数数据库154包括多个
价格参数函数。
图6(b)更详细地示出了定价函数数据库154。定价函数数据库154存储与金融机构
的投资组合中的每个OTC衍生工具158相关联的价格参数函数156。每个价格参数函数156一
般包括风险因子的不同组合和加权。价格参数函数评价器152被配置为确定价格参数函数
156的输出值,从而经由系统的风险因子模块104和控制器以及价格参数控制器150向随机
模型数据库112请求其要求的风险因子的值。
图7(a)是价格参数函数随着时间的示例的图形表示180,并示出了在两个潜在结
果182(即,两个场景)中OTC衍生工具的价格参数在一段时间内的示例分布。在两个场景中
的每一个下OTC衍生工具的价格参数由价格参数函数评价器152确定并且分别在十个时间
点t0至t9中的每一个处示出。
图7(b)是示出价格参数函数随时间的另一示例的图形表示184,其示出四个场景
186分布具有与图7(a)所示的较低分辨率相比较高的分辨率。较高分辨率意味着,已在更多
时间点处评价价格参数函数。
增加确定价格参数的时间点的数量,使场景的分辨率增大,从而提高了对场景做
出的任何分析的准确性。然而,如以下描述的那样,这带来更大的计算成本。这是因为价格
参数模块106对价格参数函数的每次确定都计算开销高昂,并且必须在每个期望时间点和
场景评价价格参数函数。
风险因子模块104生成的随机模型中的场景数量以下将被称为N。例如,参照图5
(c),N=4。另外,确定OTC价格参数的时间点的数量将被称为M。例如,参照图7(a),M=10。由
此可知,在价格参数分布中,针对每个衍生工具而确定价格参数函数N×M次。例如,参照图7
(a),价格参数函数评价器调用价格参数函数2×10=20次。
价格参数模块106生成的价格参数分布经由控制器102传送至风险度量模块108。
风险度量模块108被配置为针对金融机构的所有OTC衍生工具而使用价格参数分
布中的全部场景来确定多个对手方信用风险度量。许多度量通常用于定价、记账、风险管理
和资本计算。度量包括:
a)预期敞口(EE)简档,均有其“肯定”(EPE)和“否定(ENE)”版本
b)未来潜在敞口(PEE)简档
c)用于定价的信用值调整(CVA)和借记值调整(DVA)
d)用于监管资本计算的有效预期正敞口
e)用于内部估价和资产负债表计算的基金值调整(FVA)。
图8(a)示出了概述以上关于图5(a)描述的预报系统100执行的现有技术处理200
的流程图。该处理200开始于步骤202,在步骤202中,风险因子模块104使用随机建模来评价
全部风险因子,并将其存储在随机模型数据库112中。使用风险因子作为对价格参数函数的
输入,价格参数模块106在步骤204中确定价格参数场景(其与风险因子场景相关但与其不
同)。价格参数模块106的价格参数函数评价器152评价来自定价函数数据库154的适当价格
参数函数达到确定期望价格参数场景所需的次数(参照图8(b)更详细地描述)。然后,在步
骤206中,风险度量模块108采用来自价格参数模块106生成的价格参数场景的输入来评价
风险度量。然后,在步骤208中,使用在步骤206中所确定的风险度量来生成预测或预报。
图8(b)示出了价格参数模块106为确定价格参数场景而执行的处理204的流程图。
处理204以如下操作开始:在步骤210中,价格参数函数评价器152接收价格参数场景的期望
分辨率所需的时间点数量M。然后,价格参数函数评价器152在步骤212中接收期望的场景数
量N。然后,价格参数函数评价器152在步骤214中针对来自定价函数数据库154的OTC衍生工
具而获得价格参数函数156,f(x)。
价格参数函数评价器152在步骤216中将当前时间点设置为总时间点数量M中的第
一时间点。然后,价格参数函数评价器152在步骤218中将当前场景设置为总场景数量N中的
第一场景。
对于第一场景的第一时间点,价格参数函数评价器152接着在步骤220中评价价格
参数函数156。然后,参数函数评价器152在步骤222中检验是否已对于第一时间点,针对在
步骤212中接收到的全部场景N而评价价格参数函数。如果没有,价格参数函数评价器152在
步骤224中将当前场景移动至下一场景,并且处理204循环回至步骤220,由此价格参数函数
评价器152针对当前时间点评价价格参数函数156。
该循环继续,直到对于第一时间点而言已针对在步骤212中接收到的全部场景N而
评价价格参数函数156。如果在步骤222中的检验之后,已针对在步骤212中接收到的全部场
景而评价价格参数函数156,则处理204继续前进至在步骤226中检验是否已针对在步骤210
中接收到的全部时间点而评价价格参数函数156。
如果没有,则价格参数函数评价器152在步骤228中将当前时间点移动至下一时间
点,然后,在步骤230中,将当前场景移动至第一场景。然后,处理204循环回至步骤220,由此
价格参数函数评价器152针对当前场景的当前时间点而评价价格参数函数156。一旦已针对
全部场景、针对全部时间点儿评价价格参数函数156,处理204完成。
在其他实施例中,在继续前进至确定针对下一场景的全部时间点之前,确定针对
第一场景的全部时间点,直到已确定针对全部场景的全部时间点。
价格参数模块106为了确定价格场景而执行的处理204表明所需的评价价格参数
函数156的次数(在该示例中为M×N)是预报系统100执行的总体处理200的速度的限制因
子。在以下的金融示例中突出对处理204施加限制的更具体的数值示例。
价格参数函数确定的示例次数
将CVA度量作为示例,通常期望将OTC衍生工具的价格参数计算达到一个“基本点”
的精度(百分之一的百分之一),即0.01%(1/104)。为了实现该定价误差而使用的通常的场
景数量N为大约1百万。
为了经由蒙特卡洛方法而计算CVA“Greeks”(CVA价格参数对市场条件的改变的灵
敏度),必须将CVA价格参数计算达到至少0.01基点(1/106)的分辨率,使得所算出的Greek
参数具有稳定值。随着定价误差在蒙特卡洛仿真中扩展为这意味着,为了计算达到该
精度的Greeks,N会是约100亿(即,10,000,000,000)并且这会在处理204的步骤212中由价
格参数函数评价器152接收。
OTC衍生工具的有效期限的范围可以从几周(例如,外汇衍生工具)到多达50年(例
如,通货膨胀衍生工具)。金融机构的衍生工具账簿的平均有效期限通常可以是大约10年。
例如,如果采用有效期限为10年的普通OTC衍生工具,则在该时段内存在大于2600
个交易日。理想地,金融机构会期望准确确定基于从今天(即,t0)到10年结束的预报而当前
暴露的对手方信用风险。如果将每天作为针对一个OTC衍生工具而确定价格参数的时间点,
则M=2600,并且这会由价格参数函数评价器152在处理204的步骤210中接收。因此,为了将
例如针对该OTC衍生工具的CVA对手方信用风险度量计算达到0.01基点的期望精确程度,在
确定价格参数场景的步骤中确定价格参数函数N×M次或10,000,000,000x 2,600=26,
000,000,000,000(即,26×1012次)(价格参数函数评价器152执行的处理204的步骤220)。
典型的大型金融机构可能有几百万个OTC衍生工具在其账簿上。例如,如果金融机
构的衍生工具数量D是1,000,000,则为了针对每一个而计算CVA度量(并且针对每个OTC衍
生工具而假定平均有效期限10年),则确定价格参数函数156的次数为D×N×M次或1,000,
000x 26,000,000,000,000=26,000,000,000,000,000,000(即,26×1018次)。
该计算量仅会确定风险度量的一个集合。另外,执行大量后续计算。为了经由例如
典型的蒙特卡洛方法计算CVA Greeks,每个Greek会重复该计算至少一次。大型金融机构通
常会期望计算数百个Greek。以下示例使用100个Greek。
此外,每当办理新的衍生工具时,卸下现有衍生工具,或者当执行风险分析时,会
重新运行该计算,至少部分地对于该衍生工具影响的网集合重新运行。
保守地,典型的金融机构可能期望每天运行该计算10次。
这会导致价格参数函数的确定次数在该示例中为:
100×10×26×1018=26×1021
实现该期望的精度水平所需的计算次数要求相当大的计算工作量,因此,花费太
长处理时间以致没有有任何益处。因此,考虑到可获得的计算能力,该精度水平在实际时间
段内不过是不可实现的。
使风险度量的精度最大化在全部领域内都是期望的,包括天气预报和石油与天然
气工业。进而,这增加了相应函数f(x)被评价的次数,从而需要更多计算工作量和时间。
计算能力要求
世界上最大的金融机构包括最先进计算机的服务器群,其对于这些计算而言一天
可利用24小时。尽管如此,据报道它们使用的场景数量的范围在N=1000与N=10000之间,
并且时间点的数量在M=25到M=100之间。
当前优化价格参数函数156针对单个参数所需的计算时间的范围从针对最简单的
衍生工具的大约一毫秒到复杂衍生工具的几分钟或小时。根据报道,大型金融机构通常不
断地且同时地运行几百个系统,通常约两百个,以确定价格参数函数并处理对手方信用风
险度量。
步骤204的大致总计算时间由下式给出:
假设价格参数函数的平均计算时间仅仅为0.01秒,采用以上的典型值,这给出:
因此,步骤204的计算时间可以容易地得到从14.5天到578.7天的范围。
价格参数函数评价器152对价格参数函数156的最大确定次数意味着,到计算完成
时,结果可能不再有效或有用。因此,金融机构在最先进的计算机群中实现预报系统100,但
通常降低精度以便节省时间。另外,为了在可用时间内实现最好的可能结果,实施包括以下
的应变方法:
1)减少场景和时间点的数量,从而可以在合理时间内进行计算。结果,预报系统
100生成的风险度量和后续风险管理结果的质量显著降低。
2)简单地不尝试该计算用于具有复杂价格参数函数的复杂OTC衍生工具,因为这
些会使用更多计算时间。此外,作为结果,风险管理结果受到负面影响。
3)增加被配置为实现预报系统100的计算机的数量(并因此,提高计算能力)。然
而,缩短确保这些结果有效且有用所需的时间而需要的计算机数量是不切实际的。另外,计
算问题的规模如此大以至于附加计算能力实际上会对所需的时间产生微不足道的差异。
4)在计算中实现方法捷径,其可以增大速度但总是导致计算精度不足,因此,降低
所产生的度量的可用性。
本发明设法减轻或者至少克服上述问题中的至少某些问题。
发明内容
根据本发明,提供一种确定在第一域内的参数的近似值的计算机实现方法,所述
参数取决于在第二域内变化的一个或多个变量,并且所述参数由将所述第二域内的一个或
多个变量的值的集合与所述第一域内的对应值相联系的函数来确定,所述方法在包括处理
器的计算机系统上实现,并且所述方法包括:确定所述第二域内的多个锚点,其中,每个锚
点包括所述第二域内的一个或多个变量的值的集合;在每个锚点处,评价所述函数以生成
所述第一域内的参数的对应值;通过将一系列正交函数或对一系列正交函数的近似与所述
第一域内的参数的对应值拟合来生成所述函数的近似函数;以及使用所述近似函数来生成
所述第一域内的参数的近似值。
可选地,该方法包括:在所述生成步骤之前将所述函数变换为中间函数,其中,所
述中间函数是所述函数的线性变换,并且其中,所述生成步骤包括对所述中间函数进行近
似。
可选地,所述变换步骤包括将所述函数线性变换到预定范围内。
可选地,所述一系列正交函数是包括以下各项的组中的一个:正弦函数、余弦函
数、正弦和余弦函数、贝塞尔(Bessel)函数、盖根宝(Gegenbauer)多项式、埃尔米特
(Hermite)多项式、拉盖尔(Laguerre)多项式、切比雪夫(Chebyshev)多项式、雅可比
(Jacobi)多项式、球谐函数、沃尔什(Walsh)函数、勒让德(Legendre)多项式、泽尼克
(Zernike)多项式、威尔逊(Wilson)多项式、Meixner-Pollaczek多项式、连续哈恩(Hahn)多
项式、连续双重哈恩多项式、通过Askey方案描述的经典多项式、Askey-Wilson多项式、
Racah多项式、双重哈恩多项式、Meixner多项式、分段常数插值、线性插值、多项式插值、基
于高斯过程的插值、样条插值、质心插值、Krawtchouk多项式、Charlier多项式、筛式特种球
多项式、筛式雅克布多项式、筛式Pollaczek多项式、有理插值、三角插值、Hermite插值、三
次插值以及多项式。
可选地,所述一系列正交函数是一系列正交多项式。
可选地,对一系列正交函数的近似是对一系列正交多项式的近似。
可选地,该方法包括:在所述生成步骤之前选择一系列正交函数或对一系列正交
函数的近似,其中,所述生成步骤包括使用所选择的一系列正交函数或对所述一系列正交
函数的近似。
可选地,锚点数量NE使得:
其中,Ns是场景数量,t是运行所述近似函数所花费的时间,以及T是运行所述函数
所花费的时间。例如,锚点的数量从1至200、从5至50、从1至50或从5至20。
可选地,该方法包括:在所述评价步骤中,将所述集合中除了一个变量以外的全部
其他变量的值保持恒定。
可选地,该方法包括使用所述参数的近似值来生成标准度量。
可选地,变量的值随机变化。
可选地,所述使用步骤包括:多次使用所述近似函数来生成至少一个场景或一个
时间步长,每个场景或每个时间步长包括多个近似值。
可选地,所述场景或时间步长的数量明显大于所述锚点的数量。
可选地,该函数的输出是金融产品的参数。
可选地,金融产品是包括选自以下中的一个或多个的金融衍生工具:期权定价函
数、交换定价函数及其组合。
可选地,该函数是以下之一:Black-Scholes模型、Longstaff-Schwartz模型、二项
式期权定价模型、Black模型、German-Kohlhagen模型、Vanna-Volga方法、Chen模型、
Merton’s模型、Vasicek模型、Rendleman-Bartter模型、Cox-Ingersoll-Ross模型、Ho-Lee
模型、Hull-White模型、Black-Derman-Toy模型、Black-Karasinski模型、Heston模型、基于
蒙特卡洛的定价模型、二项式定价模型、三项式定价模型、基于树的定价模型、基于有限差
的定价模型、Heath-Jarrow-Morton模型、方差伽马模型、Fuzzy偿付模型、单指数模型、
Chepakovich估价模型、Morkov切换多重分形、Datar Mathews方法和Kalotay-Williams-
Fabozzi模型。
可选地,所述锚点是每个所述正交函数的零点或者所述零点的子集。
可选地,使用内插方案来生成近似函数。
可选地,所述内插方案是选自以下之一:分段常数插值、线性插值、多项式插值、基
于高斯过程的插值、样条插值、质心插值、有理插值、三角插值、Hermite插值、三次插值。
可选地,所述锚点是数值积分方案的积分点。
可选地,所述数值积分方案是选自以下之一:Newton-Cotes方法、梯形法、Simpson
方法、Boole方法、Romberg积分方法、高斯求积方法、Chenshaw-Curtis方法、Fejer方法、
Gaus-Kronrod方法、傅里叶变换方法、自适应求积方法、Richardson外推法、蒙特卡洛和类
似蒙特卡洛方法、马尔科夫链蒙特卡洛方法、Metropolis Hastings算法、Gibbs采样和快速
傅里叶变换方法。
可选地,在所述标准度量的精度没有损失的情况下,所述计算的速度增大,以及/
或者在当使用所述近似函数时所述计算的速度没有减小的情况下,所述标准度量的精度增
大。
可选地,当在所述第一域内的相同点处进行比较时,在第2有效数字上所述参数的
近似值与所述参数之间存在差别。
可选地,当在所述第一域内的相同点处进行比较时,在第4有效数字与第6有效数
字之间所述参数的近似值与所述参数之间存在差别。
可选地,当在所述第一域内的相同点处进行比较时,在第15有效数字上所述参数
的近似值与所述参数之间存在差别。
金融衍生工具可以包括参数,其中,该参数的值是使用上述的计算机实现方法来
确定的。
根据本发明的一方面,提供了一种计算机系统,包括被配置成确定在第一域内的
参数的近似值的处理器,所述参数取决于在第二域内变化的一个或多个变量,并且所述参
数由将所述第二域内的一个或多个变量的值的集合与所述第一域内的对应值相联系的函
数来确定,所述计算机系统包括:确定模块,其被配置成确定所述第二域内的多个锚点,其
中,每个锚点包括所述第二域内的一个或多个变量的值的集合;评价模块,其被配置成在每
个锚点处,评价所述函数以生成所述第一域内的参数的对应值;生成模块,其被配置成通过
将一系列正交函数或对一系列正交函数的近似与第一域内的所述参数的对应值拟合来生
成所述函数的近似函数;以及近似模块,其被配置为使用所述近似函数来生成所述第一域
内的参数的近似值。
根据本发明的一方面,提供了一种确定在第一域内的参数的近似值的计算机实现
方法,所述参数取决于在第二域内变化的一个或多个变量,并且所述参数由将所述第二域
内的一个或多个变量的值的集合与所述第一域内的对应值相联系的函数来确定,所述方法
使用一系列正交函数或对一系列正交函数的近似来对所述函数进行近似。
附图说明
以上已通过背景技术来描述图1(8b),其中:
图1是现有技术预报系统的示意性框图;
图2是图1的系统的场景模块的示意性框图;
图3是现有技术预报系统中的数据流的示意图;
图4是示出图1的现有技术系统执行的处理的流程图;
图5(a)是现有技术预报系统的示意性框图;
图5(b)是图5(a)的现有技术系统的随机模型数据库的示意性框图;
图5(c)是示出在存储在图5(b)的随机模型数据库中的随机模型中风险因子的值
随着时间的变化的示例图;
图6(a)是图5(a)的系统的价格参数模块的示意性框图;
图6(b)是图6(a)的价格参数模块的定价函数数据库的示意性框图;
图7(a)和图7(b)是示出在特定时间点处确定的价格参数的变化的示例图表;
图8(a)是示出图1(a)的现有技术系统执行的处理的流程图;
图8(b)是在图8(a)的处理中确定价格场景的处理的流程图;
现在将参照其余附图来仅作为示例描述本发明的一个或多个实施例,在附图中:
图9(a)是根据本发明的实施例的预报系统的示意性框图;
图9(b)是图9(a)的预报系统的近似模块的示意性框图;
图10(a)是示出根据本发明的实施例的图9(a)的预报系统执行的处理的流程图;
图10(b)是示出在图10(a)的处理中确定价格场景的处理的流程图;
图10(c)是示出在图10(b)的处理中生成近似函数的处理的流程图;
图11至图14是示出将现有技术预报系统与图9(a)的实施例进行比较而获得的结
果的图表;以及
图15是以不止一维示出本实施例的应用的图表。
具体实施方式
本发明可以以许多不同的方式实现,如同先前针对许多不同应用解释的那样。在
以下描述中,对在金融预报领域内的具体实施例进行描述。使用该实施例来说明本发明的
原因是,因为可以使用用于预报在背景技术部分中已描述的OTC合同的期货价格的系统的
元件中的部分来有效地描述本发明。
此外,可以传送使用现有技术系统100和本实施例的预报系统的基准结果,并且已
在本具体实施方式的结尾提供了这些结果。然而,应清楚了解,本实施例仅仅是示例性的,
并且本文中所描述的具体实施例的结构可以由技术人员容易地修改以用于介绍中所提及
的其他应用领域中的任一个。
如上所述,在关于图8(b)所描述的处理204中确定价格参数场景的步骤包括潜在
地估计价格参数函数156十的18次幂次,并且是确定对手方信用风险度量的总体处理200中
计算开销最高昂的部分。
图9(a)示出了根据本发明的实施例的预报系统300。预报系统300具有与图1(a)所
示的现有技术预报系统100基本上相同的结构。然而,在当前实施例中用近似模块302替代
参照图6(a)所描述的现有技术的价格参数模块106以显著地减少生成所需预报结果所需的
计算时间。在图9(a)中用虚线示出的模块和数据库同现有技术的预报系统100基本上未改
变。
近似模块302被配置为评价与定价参数函数156的近似,例如通过将产生与原始定
价参数函数的结果基本上等同的结果的正交函数的扩展替代价格参数函数156。正交函数
一般比其对应的原始价格参数函数更快地得到评价。
图9(b)更详细地示出了近似模块302。近似模块302包括近似控制器310、变换器
312、定价函数数据库154(基本上与图2(a)和图2(b)所示的现有技术定价函数数据库相
同)、近似生成器314、扩展序列数据库320、近似评价器316和近似定价函数数据库318。变换
器312、近似生成器314、近似评价器316、定价函数数据库154和近似定价函数数据库318均
连接至近似控制器310。
近似生成器314被配置成确定定价函数156的近似。扩展序列数据库320连接至近
似生成器314。扩展序列数据库320包括与不同正交函数群相关联的扩展序列321,包括正交
多项式以及对其的近似。例如,扩展序列数据库320存储正交函数的数学关系式,包括正弦
和余弦函数、Bessel函数、Gegenbauer多项式、Hermite多项式、Laguerre多项式、Chebyshev
多项式、Jacobi多项式、球谐函数、Walsh函数、Legendre多项式、Zernike多项式、Wilson多
项式、Meixner-Pollaczek多项式、连续哈恩多项式、连续双重哈恩多项式、通过Askey方案
描述的经典多项式、Askey-Wilson多项式、Racah多项式、双重哈恩多项式、Meixner多项式、
分段常数插值、线性插值、多项式插值、基于高斯过程的插值、样条插值、质心插值、
Krawtchouk多项式、Charlier多项式、筛式特种球多项式、筛式雅克布多项式、筛式
Pollaczek多项式、有理插值、三角插值、Hermite插值、三次插值以及多项
式,其是适合于对价格参数函数156进行近似的函数的数学关系式群的示例。存储在扩展序
列数据库320中的正交函数被称为扩展序列321。扩展序列321可以是正交函数或对正交函
数的近似。
因此,如果需要,在近似生成器314确定定价函数156的近似之前,变换器312被配
置成将价格参数函数156变换到近似扩展序列基本上等同于价格参数函数的范围内。
近似定价函数数据库318存储近似生成器314确定的定价函数156的近似319(即,
近似函数)。
近似评价器316被配置为使用近似319(也称为“近似函数”)来确定价格参数的近
似值。近似评价器316的函数大致与现有技术价格参数模块106的定价参数函数评价器152
相似。
图10(a)示出了预报系统300执行的处理348的概况。处理开始于步骤202,在步骤
202中,以与现有技术的预报系统100基本上相同的方式,风险因子模块104使用随机建模来
评价全部风险因子,并且将其存储在随机模型数据库112中。然后,近似评价器316在步骤
354中使用来自近似定价函数数据库318的(一个或多个)近似函数319来评价价格场景。以
下在针对每个时间步长而生成一个近似函数319的情况下描述具体实施例(参照图10(b)更
详细地描述步骤354),然而,应理解,可以包括多于一个的针对每个时间步长而生成的近似
函数319的其他实施例。
然后以与现有技术预报系统100中的方式基本上相同的方式,风险度量模块108在
步骤206中采用来自近似模块302生成的价格场景的输入来评价风险因子。然后,以与现有
技术预报系统100中的方式基本上相同的方式,在步骤208中,可以使用在步骤206中所确定
的风险度量来生成预测或预报。
图10(b)更详细地示出了在步骤354中使用近似模块302执行的近似函数319来确
定价格场景的处理。
处理354以如下步骤开始:近似评价器316在步骤210中以与现有技术的预报系统
100基本上相同的方式接收该场景的期望分辨率所需的时间点数量M。然后,以与现有技术
的预报系统100的方式基本上相同的方式,近似评价器316在步骤212中接收所期望的场景
数量N。然后,以与现有技术的预报系统100中的方式基本上相同的方式,近似评价器316在
步骤214中针对所期望的来自定价函数数据库154的OTC衍生工具而获得价格参数函数156,
f(x)。
以与现有技术的预报系统100中基本上相同的方式,近似评价器316在步骤216中
将当前时间点设置为总时间点数量M中的第一时间点。然后,以与现有技术的预报系统100
中的方式基本上相同的方式,近似评价器316在步骤218中将当前场景设置为总场景数量N
中的第一场景。此后,近似模块302在步骤380中生成对针对当前时间点的定价函数(即,近
似函数319)进行近似的函数,并将其存储在近似定价函数数据库318中(参照图10(c)更详
细地描述该步骤)。
然后,对于第一场景的第一时间点,以与现有技术的预报系统100中的方式基本上
相同的方式,近似评价器316在步骤382中评价近似函数319。然后,近似评价器316在步骤
222中检验是否已针对第一时间点、对于在步骤212中接收到的全部场景N而评价价格参数
函数。如果不是,近似评价器316在步骤224中将当前场景移动至下一场景,并且处理354循
环回至步骤382,在步骤382中,近似评价器316针对当前时间点而评价近似函数319。
以与现有技术的预报系统100中基本上相同的方式,该循环继续直到已针对在步
骤212中接收到的全部场景N而评价近似函数319为止。在步骤222中的检验之后,如果已针
对在步骤212中接收到的全部场景而评价近似函数319,则以与现有技术的预报系统100中
基本上相同的方式,处理354继续前进至在步骤226中检验是否已针对在步骤210中接收到
的全部时间点而评价近似函数319。
如果不是,则以与现有技术的预报系统100中基本上相同的方式,近似评价器316
在步骤228中将当前时间点移动至下一时间点,然后,在步骤230中,将当前场景移动至第一
场景。然后,处理354循环回至步骤380,在步骤380中,针对当前时间点而生成对价格参数函
数进行近似的函数。然后,在步骤382中,近似评价器316针对当前场景的当前时间点而评价
近似函数319。一旦已针对全部场景的全部时间点而评价近似函数319,则完成处理354。
在其他实施例中,在处理开始时,生成针对全部时间点M的全部近似函数319。然
后,在继续前进至针对下一场景的全部时间点而确定价格参数之前,确定针对第一场景的
全部时间点的价格参数,直到已确定针对全部场景的全部时间点为止。
此外,在其他实施例中,如在现有技术的系统100中说明的那样,可以倒置时间步
长和场景的循环。
可以看出,预报系统300执行的步骤354与现有技术预报系统100执行的步骤204之
间的主要差别在于,近似评价器316评价近似函数319,与以非常高的计算成本直接评价价
格参数函数156的价格参数函数评价器152相比,评价近似函数319的计算成本低廉。
图10(c)更详细地示出了在步骤380中生成近似模块302所执行的近似函数319的
处理。处理以如下操作开始:近似生成器314在步骤360中固定定价函数中的除了一个因素
以外的全部其它因素,以使得锁定定价函数的一个自由度(DOF)。
然后,近似控制器310在步骤362中确定价格参数函数的范围内的变量x是否被限
定在与近似函数相同的范围内。如果不是,则变换器312在步骤364中执行至定价参数数据
库154的价格参数函数156的变量x的线性变换。
如果在步骤362的检查之后或者一旦在步骤364中已变换定价函数而不需要变换,
则近似生成器314在步骤366中使用来自扩展序列数据库320的扩展序列321来确定对线性
变换后的价格参数函数进行近似的函数。近似生成器314在步骤368中将对线性变换后的价
格参数函数进行近似所得到的近似函数319(即,正交近似319)存储在近似定价函数数据库
318中。如以下将更详细讨论的那样,多项式近似319在显著减小的时间帧内产生与原始价
格参数函数156基本上相同的结果。
在以下给出的具体示例中更详细地描述近似模块302执行的处理348中的步骤,其
中,近似模块302采用切比雪夫多项式。然而,应该理解,任何正交函数群或对其的近似可以
用于对价格参数函数156进行近似,每个价格参数函数156均具有稍微不同的精确程度以及
计算成本量。然而,不管使用哪个函数319,计算开销与现有技术预报系统100相比的减少在
多数情况下可以是多个数量级以下。
在其他实施例中,可以将价格参数函数中的时间变量当作近似函数319的多维生
成中的另一变量x(稍后将更详细地说明),在该情况下,不需针对380中的每个时间步长而
生成新近似函数。
变换器312被配置为对来自定价函数数据库的价格参数函数f(x)执行线性变换,
其中,x在最小值a与最大值b之间变化。因此,变换器312确定线性变换后的价格参数函数g
(y),其中,y在最小值c与最大值d之间变换。用数学表示,这会是:
x∈[a,b]→y∈[c,d]
f(x)→g(y)
在多数情况下,变换器312对价格参数函数以及对变量x执行步骤364,在步骤380
中,针对变量x而对价格参数函数进行评价。在精确近似理想的x域内,区间[a,b]由原始价
格参数函数的区间驱动。通常,该区间由变量x的最小值和最大值限定。
区间[c,d]由为该近似而选择的正交函数群限定。该区间由近似精确的y域内的区
间驱动。例如,在切比雪夫多项式的情况下,区间为[-1,1],并且在{sin(nx)和cos(mx)}正
交函数的情况下,区间为[-π,π]。
一旦变换器312已确定线性变换后的定价参数函数,则近似生成器314可以接着在
步骤366中生成对线性变换后的定价参数函数进行近似的函数。
使用扩展序列数据库320中的扩展序列321和来自定价函数数据库154的价格参数
函数156,近似生成器314被配置为确定对定价参数函数156进行近似的近似函数,该定价参
数函数156产生与原始定价参数函数基本上相同的结果。例如,线性变换后的定价参数函数
可以被表示为:
其中,集合{Aj(y)}是期望的正交函数群(321),集合{αj}由近似生成器314算出,并
且通过下式来给出:
αj=<g(y)|Aj(y)>
其中,<■|■>表示限定期望的正交函数群的正交性的标积。通常,经由数值积分
技术来计算{αj}值。例如,使用Newton-Cotes方法、梯形法、Simpson方法、Boole方法、
Romberg积分方法、高斯求积方法、Chenshaw-Curtis方法、Fejer方法、Gaus-Kronrod方法、
傅里叶变换方法、自适应求积方法、Richardson外推法、蒙特卡洛和Quasi蒙特卡洛方法、马
尔科夫链蒙特卡洛、Metropolis Hastings算法、Gibbs采样和快速傅里叶变换方法。
在该情况下,当总和NE的上限足够大时,函数q(y)是线性变换后的定价参数函数g
(y)的精确近似。用数学表示:
f(x)=g(y)≈q(y)对于NE足够大
其中,y是x按照步骤364的线性变换。
然后,近似评价器316可以在期望时间点和场景下使用近似函数319来确定价格参
数函数的近似值。当在由现有技术的预报系统100执行的处理的步骤220中确定价格参数场
景时,使用近似评价器316来替代现有技术的预报系统100的价格参数函数评价器152。
对定价参数函数156进行近似的近似函数319比原始定价参数函数计算更简单。因
此,执行确定价格参数场景的步骤(步骤204)所需的总计算时间显著缩短。如上所述,在步
骤204中现有技术的预报系统100实现精确预测所需的计算时间相当长,这会意味着预测的
结果不再有用。作为确定近似函数319的结果,系统300可以显著减少生成预报的总计算时
间,从而使得结果有用。
近似评价器316相对于价格参数函数评价器152得到的计算速度对于近似数据函
数数据库318中的多个正交函数群319尤其相关,对于这些正交函数群,速度的增益基本上
没有精度损失,或者系统300可以在相同的时间帧内产生比100更精确的参数值或度量,或
者系统300相比于现有技术可以产生速度和精度两者的增大。
现在将描述由改进的价格参数模块302执行的处理348的示例,其中,正交函数群
可以表达在最小值-1与最大值1区间内的近似函数(即,y∈[-1,1]),例如,切比雪夫多项
式。
首先,变换器312在步骤364中将在区间[a,b]内的定价参数函数f(x)变换为在区
间[-1,1]内的等效函数。这以直线方程式开始来实现:
y=mx+c
其中,m是直线的斜率,c表示线与y轴的截距。区间[a,b]与区间[-1,1]之间的映射
意味着,已知直线通过两点:在y=-1处的最小值x,(即,xmin=a),而在y=1处的最大值x
(即,xmax=b)。因此,可以示为:
在将该线性函数表达为y=L(x)的情况下,可以将x表达为函数L的反函数,以使得
x=L-1(y)。在该示例中:
然后,变换器312可以确定线性变换后的价格参数函数,以使得:
f(x)=f(L-1(y))=g(y)
一旦变换器312已确定线性变换后的价格参数函数,近似生成器314可以在步骤
380中基于来自扩展序列数据库320的预定扩展序列321而生成对线性变换后的价格参数函
数进行近似的函数。
例如,可以用于对线性变换后的价格参数函数g(y)进行近似的一个序列是:
T0(y)=1
T1(y)=y
近似生成器使用快速傅里叶(FFT)函数或本领域内已知的任意其他数值积分方法来
计算系数cj。通常,这些方法必须仅以相对低的次数、以‘x’域内的“锚”点调用原始函数f(x)。
在该示例中,当总和的上限NE足够大时并且当g(y)在[-1,1]内Lipschitz连续时,
对于y∈[-1,1],函数c(y)是线性变换后的定价参数函数g(y)的精确近似。必须注意,实际
应用中的函数g(y)中的绝大多数具有该Lipschitz属性。用数学表示:
f(x)=g(y)≈c(y)对于NE足够大
此外,近似函数(例如,c(y))可以通过插值方案来计算或近似,其中,其中的锚点
可以是所选择的正交函数群的每个成员的零点或者零点中的子集。
一般地,在许多预报系统中,使用序列扩展321,NE(即,锚点)的值在1与200之间大
到足以生成近似函数c(y),该近似函数在相同时间点和场景下输出基本上与原始价格参数
函数相同的结果(通常,在本领域已知的10-15的机器精度)。精度是在相同的输入参数集合
下在原始价格参数函数与近似函数的输出之间的差。在一些示例中,NE的值可以在5至50的
范围内以给出计算时间与结果精度之间的更好平衡;在许多情况下,该范围提供10-4与10-6
之间的精度,其在本领域内通常被认为是基本上零误差。在一些其他情况下,相对低的NE
(例如,10)可以给出10-2的精度,其好到足以产生在时间帧内有意义的度量和后续预报,这
使得它们有用。以10-2、10-4、10-6、10-15或通常以10-Q表明,在第2个、第4个、第6个、第15个或
第Q个有效数字开始缺乏精度(例如,误差)。NE的选择是在期望最小化近似函数319的误差
与期望缩短确定期望的价格场景数量所花费的时间之间的平衡。换言之,为NE选择较大值
会最小化近似函数319的误差,但增加近似生成器314生成近似函数所花费的时间,相应地,
增加确定场景所需的总时间。相反地,为NE选择较小值会减少近似生成器314生成近似函数
所花费的时间,相应地,缩短确定场景所需的总时间,然而,近似函数的输出的误差会增加。
显而易见,当场景数量远远大于NE(例如,场景数量N可以是20000,而NE可以是20)时,预报系
统300执行的处理348远远快于现有技术的处理200。
然后,在步骤354中,评价近似函数319达到生成所期望的场景所需的次数。
除了NE以及场景数量(NS)外,确定相对于现有技术的改进而需要考虑的其他因子
是运行近似函数c(y)花费的时间(t)以及运行价格参数函数花费的时间(T)。一般,现有技
术的系统的定价步骤204将花费大约总时间Ns·T来运行;系统300中的定价步骤354将花费
大约NE·T+Ns·t.。当Ns·T大于NE·T+Ns时,系统300相对于现有技术将是有益的。这是许
多预报系统中的情况。换言之,与现有技术的系统相比减少所需的处理时间的NE的值为:
举例来说,针对时间点的期望场景数量为一万,NE为20足以给出足够好的近似,并
且计算近似函数的时间比价格参数函数低,按照现有技术方法将会评价价格参数函数一万
次。然而,使用近似模块302,近似生成器314为确定近似函数319会评价线性变换后的价格
参数函数达到20次。针对给定的时间步长,近似评价器316为确定期望的一万个价格参数会
评价计算更快的近似函数319一万次。
正交函数的选择
确定使用扩展序列数据库320中的哪个正交函数扩展序列321(或对其的近似)来
生成近似函数319可以以各种方式来完成。例如:
1.从业经验
预报系统300的用户可以预先确定近似生成器314使用的期望正交函数序列扩展
321,并且基于使用预报系统300的现有知识和经验来做出该选择。
2.反复试验
预报系统300的用户可以用多个序列扩展321来运行测试,并且确定哪个正交函数
在期望的计算时间内产生最精确的结果。
3.全部运行并分析
预报系统300的近似生成器314被配置为运行可利用的全部序列扩展321(或根据已
知最可能产生最好结果的历史经验和数据来考虑的序列扩展子集),以确定对完成预报的生
成所需的时间和相关联误差的估计。然后,近似生成器314会选择用于预报的最佳正交函数。
相对于现有技术实现的改进
以下讨论了将现有技术的预报系统100与实现本发明的预报系统300进行比较的
以下测试的结果:
1.在对手方风险蒙特卡洛模拟中对两个标准定价器的预报计算时间的影响
a.Black-Scholes期权定价器
b.Longstaff-Schwartz期权定价器
2.在对手方风险蒙特卡洛模拟中随定价函数计算时间对计算时间的影响。
3.对手方风险蒙特卡洛模拟中的噪声降低。
1.计算时间
a.Black-Scholes期权定价器
在本发明的实施例中,p(y)序列扩展用于在预报蒙特卡洛模拟中对相对简单的
Black-Scholes定价参数函数进行近似,其中,时间点为105个以及场景为10000个。在实现
了本发明的实施例的计算机中,使用现有技术预报系统100的价格参数模块106来生成105
×10000个价格参数场景所需的时间为119.1秒,但使用预报系统300的近似模块302将时间
缩短为25.6秒。这表明预报系统300在步骤204中确定定价场景比现有视乎系统快4.7倍。
必须注意,在上述测试中所使用的Black-Scholes定价函数一般已被认为是本领
域内的超快函数。相应地,更通用的价格参数函数会导致更大的加速倍数。
执行处理200并确定对手方信用风险度量的总时间在使用现有技术预报系统100
的情况下为130.4秒,而在使用预报系统300的情况系为36.7秒。这展示了执行相同预报所
需的总时间的3.6倍的改进。
图11(a)和图11(b)示出了该OTC衍生工具合同的EPE(预期正敞口,一个对手方信
用风险度量)简档400、402(一个对手方信用风险度量),两者都根据价格参数函数的直接计
算(简档400)以及经由近似函数(简档402)。这些图示出了针对不同担保条件的EPE简档。可
以看出,针对担保情况和未担保情况的结果基本上相同(在蒙特卡洛模拟的始终存在的数
值噪声内)。
b.Longstaff-Schwartz期权定价器
这是用于美国期权的典型定价器函数。这些期权相当普遍,但使用现有技术的预
报系统100对于良好的对手方风险计算定价太慢。
例如,在执行了该测试的计算机中,计算单个Black-Scholes期权价格的时间大约
0.6毫秒,而在该测试中用于Longstaff-Schwartz期权的时间为约130毫秒。此外,以105个
时间点和10000个场景执行该测试。在这些测试中使用本实施例来计算近似的单一价格的
时间大约0.15毫秒。
使用现有技术的预报系统100来生成价格参数场景所需的时间为25,112秒,但使
用包括近似模块302的预报系统300而减少至57.5秒。这表明,本发明的预报系统300在步骤
204中确定定价场景比现有技术的预报系统100快了437倍。执行处理200并确定对手方信用
风险度量的总时间在现有技术的预报系统100中为25,134秒,而使用本实施例的预报系统
300时为69.3秒。这展示了执行相同计算所需的总时间的363倍改进。
图12(a)和图12(b)示出了该OTC衍生工具合同的PFE简档(潜在期权敞口,对手方
信用风险度量之一),两者都依据对价格参数函数的直接计算(简档404)以及经由近似函数
319(简档406)。两个曲线图是针对担保情况和未担保情况而提供的。可以看出,针对担保情
况和未担保情况的结果基本上相同(在蒙特卡洛模拟的始终存在的数值噪声内)。
2.随定价时间的影响
该性能测试涉及尽可能地使用简单的通用定价函数,包括利用简单减法的一行代
码。时间延迟被引入原始函数中。改变时间延迟并且在以下表格中示出了对所需的计算时
间的影响,其中,在相同条件下使用相同的计算机硬件来执行测试。
该数据在图13中以曲线图示出,其中,现有技术的直接定价曲线图408示出了线性
增加的计算时间与线性增加的价格参数函数计算时间的关系。相反,本发明生成的定价曲
线图410示出几乎恒定的模拟计算时间与增大的各个价格参数函数计算时间。金融机构可
以容易地拥有定价时间超过1秒的OTC衍生工具;在一些情况下为几分钟,或者在某些极端
情况下甚至为几个小时。在函数定价时间为例如1000毫秒的情况下推断以上表格中的结果
数据,预报系统300可以将所需的计算时间提高了5000倍。
此外,在现有技术中,试图根据针对定价函数时间为1分钟的OTC衍生工具的对手
方信用风险度量计算预报是无用的。然而,采用本发明的实施例,能够在非常合理的时间帧
内实现定价计算。
3.噪声的降低
该测试使用Longstaff-Schwartz定价函数,其中,使用现有技术的预报系统100来
运行100个场景,以及使用预测系统300来运行400000个场景。这两种测试都使用了105个时
间步长。
利用对定价参数函数的直接评价(即,现有技术方法)的处理204所花费的时间为
13955秒。使用预报系统300的近似方法所花费的时间相当于12248秒。然而,来自利用对现
有技术的定价参数函数的直接评价的该模拟的PFE结果412中的噪声明显高于本实施例的
预报系统300产生的噪声414,如可以在图14(a)和图14(b)中所看出的那样。
该测试表明,对于大致相同的计算时间,相对于现有技术的预报系统100,可以使
用预报系统300来确定更精确且噪声更少的风险度量。
多维应用
已参照一维价格参数函数(即,以单个变量x)来讨论上述实施例。在其他实施例
中,价格参数函数156可以是多维的,即,具有n维的多变量,例如f(x1,x2,x3,…,xn)。预报系
统300可以以多种方式处理多维价格参数函数。以下仅作为示例来讨论预报系统300为了执
行多维预报而可以执行的四种方法。应理解,预报系统300可以被配置为以如下若干方式中
的一种或多种方式来执行多维预报:
1.将价格参数函数锁定为一个自由度
在多数实施例中,x1至xn之中的一个变量使得价格参数函数156的输出大部分改
变。在这种情况下,其他变量的值可以保持恒定,因为改变该变量的值一般对价格参数函数
156的输出产生可忽略的影响。在使用符号来表示变量保持恒定的情况下,采用x1是
价格参数函数156中的主导变量的示例,可以证明:
可以看出,锁定的自由度的数量比维数小一。使用该近似,近似生成器314可以在
以上参照图6(a)和图6(b)描述的步骤354的一维方法中确定近似函数319。
例如,在天气预报系统中采用输出温度的价格参数函数,其中,价格参数函数包括
两个变量,即湿度(x1)和高度(x2),当在相当平坦的土地区域上预报温度时,高度x2被当作
恒定值然后,预报系统300对函数进行近似。
2.坐标变换
在其他实施例中,根据预报系统300改变坐标系以使得可以应用在将价格参数函
数锁定为一个自由度时的上述方法。例如,在考虑x1+x2引起价格参数函数的输出显著变化
的双变量情况下,应用以下的坐标变换:
z1=x1+x2
z2=x1-x2
以使得在新的参考帧中:
然后,如上所述的近似生成器314可以对该价格参数进行近似。
在该示例提出二维价格参数函数时,应理解,这可以容易地应用于一般的n维价格
参数函数而不损失一般性。
3.多于一维的近似
在一些实施例中,多个变量可能以组合的形式对价格参数函数156的输出产生很
强影响,该组合使价格参数函数156在计算上非常难以应用坐标变换和/或将价格参数函数
锁定为上述方法中的一个自由度。
以二维价格参数函数f(x1,x2)为例,其中,变量x1引起价格参数函数的输出的主要
改变,但变量x2也引起f(x1,x2)的输出的不可忽略的改变。通过采用x2的两个代表值(例如,
最小值和最大值可以将价格参数函数锁定为以上针对和
说明的一个自由度方法。然后,变量x2的线性内插用于找出对于f(x1,x2)的良
好近似。
解决该问题的全面方式会是通过将n维近似问题变换为n个一维近似问题。
以下以二维实施例作为示例说明,然而,应理解,相同的方法可以容易地扩展至n
维。
从上述的序列扩展的一维示例开始:
T0(y)=1
T1(y)=y
首先,近似模块302的变换器312对每个变量x1和x2执行线性变换,以使得:
x1∈[a1,b1]→y1∈[c1,d1]
x2∈[a2,b2]→y2∈[c2,d2]
其中,在该示例中,c1=c2=-1,d1=d2=1。
然后,构建每者具有NE,1和NE,2的近似阶数的两个一维近似。图15示出了NE,1=3和
NE,2=4的曲线图500,因此,为了计算正交近似插值函数,对于变量y1存在四个主要锚点
502,对于变量y2存在五个主要锚点502。在图15中以实线演示出了锚点。
然后,按以下步骤确定由值给出的价格参数函数在点X(在图15
中标记为504)处的输出:
1.生成用于近似评价的信息
这由在每个主要锚点502处评价f(x1,x2)=g(y1,y2)的近似生成器314来进行。进
行该评价,从而对全部价格参数函数进行求解,并且在图15的示例中,对其进行评价20次。
2.计算
a)如果是主要锚点502,则使用它们,近似评价器316可以确定对于
的近似值,以确定由图15中的空心演示出的五个次要锚点506的集合。已锁定价格
参数函数的一个自由度,以便确定次要锚点506。换言之,沿着y1,已针对每个次要锚点506
而分别确定一维近似方法,其中,在的每个主要锚点值处,y2的值保持恒定。
b)在使用次要锚点506的情况下,近似评价器316可以使用近似函数来确定沿着y2
的的输出,其中,y1的值在的值处保持恒定。
值得注意的是,在计算的步骤中次要锚点506的确定很快,这
是因为其使用近似函数319,以上已描述了该近似函数的优点。
4.在超过一维内进行近似于锁定自由度的组合
在其他实施例中,价格参数函数156包括多个变量,其中,一些变量对价格参数函
数的输出几乎没有任何影响,但其他变量对其有影响。在这种情况下,可以使用如上所述的
在价格参数函数中锁定一个或多个自由度与在超过一维内进行近似的组合。首先,不可忽
略的变量不锁定:
将不可忽略的变量的数量取为s,则所锁定的自由度的数量为小于维数的s。然后,
多维技术可以应用于未锁定的这些变量。
相对于在超过一维内进行近似的现有技术所实现的改进
举例来说,针对二维价格参数函数的每次评价而采用存在105个时间步长和10000
个场景以及将计算时间取为130毫秒(如在上述的Longstaff-Schwartz示例的情况下),针
对全部时间点和场景而评价价格参数函数156所花费的时间为:
105×10,000×130毫秒≈37.9个小时
然而,在本发明的实施例的二维价格参数函数中使用多维技术,并且假设NE,1=
NE,2=10(导致121个锚点502),并且假设所估计的每个一维近似函数的计算时间为0.15毫
秒(如在Longstaff-Schwartz示例中),则计算相同的时间点和场景的估计时间是通过将针
对锚点而评价价格参数函数所花费的时间加上针对全部时间点和场景而评价次要锚点506
所花费的时间而给出的:
11×11×130毫秒+105×10,000×(11+1)×0.15毫秒=0.5小时
这产生减小约76倍的计算时间的改进。
在不背离以所附权利要求限定的本发明的精神和范围的情况下,可以对上述示例
进行许多变型。
例如,价格参数函数可以是可以用于在石油与天然气工业中评价在特定时间可从
储油器提取的原油体积的函数,或者其可以用于在天气建模领域内确定在特定时间、在某
个位置的温度。
上述的功能和处理可以经由系统体系结构(诸如,图1(a)、图1(b)、图2(a)、图2
(b)、图4(a)、图4(b)、图5(a)、图5(b)、图6(a)、图6(b)和图6(c)所示的系统体系结构)来实
现。在其最普遍的水平,根据本发明的预报系统300包括每一个均由处理器实现或者可以是
在任何并行处理处理器平台上实现的软件实例的风险因子模块104、风险度量模块108、近
似模块302和控制器102。可以适合于本发明的示例性处理体系结构包括利用Haswell、
Sandy Bridge或Ivy Bridge微体系结构的Intel Xeon、Core i7和Core i5x86-84微处理
器、利用Bulldozer、Piledriver或Jaguar微体系结构的AMD Opteron x86-64微处理器、或
者64位ARM芯片上系统体系结构。
除了金融建模中的OTC衍生工具外,预报系统300可以同样地用在不同预报应用
中。例如,通过将适当的参数函数包括在定价函数数据库154中,预报系统300可以适于用在
分子生物学、石油与天然气、结构工程以及天气预报。另外,适当的随机输入变量会由风险
因子模块104确定并存储在随机模型数据库112中。
更具体地,返回至背景技术部分中所描述的石油与天然气的示例,一个或多个输
入参数的集合可以包括:均随时间随机变化的原油的粘性、储油器中的剩余供应量、抽油容
量、井温度、钻井流体的可利用性和/或有效性。在该示例中,参数数据库包括输出油井中的
原油的可提取量的参数函数,该参数函数使用输入参数。与使用价格参数函数相比,由预报
系统300执行的处理348和354基本上相同。然而,在步骤380中,针对用于输出油井中的原油
的可提取量的参数函数而生成近似函数。近似函数的计算成本对于相对于原始参数函数而
进行评价不太高昂。在每个场景下针对每个时间点而评价近似函数。然后,在步骤354中使
用近似函数来确定的场景可以用于确定可以包括所需的油精炼与提纯容量以及在下游工
艺中所需的人员配备水平的度量。优选地,所使用的近似函数基于将一组正交函数或对一
组正交函数的近似拟合于这些参数。
使用拟合生成近似函数(即,曲线拟合)是构造曲线或数学函数的过程,其具有对
一系列数据点的最佳拟合,可能受制于约束。
近似函数或度量的精度是测量、计算或规定的结果符合正确值或标准的程度。
类似地,对于天气预报,一个或多个输入变量的集合可以包括均来自上百个以上
的不同位置的气压、空气密度、太阳能量和湿度。参数数据库包括用以根据一个或多个输入
变量输出在地理位置处的温度的参数函数。与使用价格参数函数相比,预报系统300执行的
处理348和354基本上相同。然而,在步骤380中,针对用于输出在地理位置处的温度的参数
函数而生成近似函数。相对于原始参数函数评价近似函数的计算成本不太高昂。针对每个
场景下的每个时间点而评价近似函数。然后,在步骤354中使用近似函数来确定场景可以用
于确定可以包括海平面、花粉量、UV指数和风速/风向的度量。优选地,所使用的近似函数基
于将一组正交函数或对一组正交函数的近似拟合于这些参数。
用户装置还可以例如经由诸如互联网的通信网络与预报系统300进行通信,并且
经由在便携式多功能装置(例如,智能电话、个人数字助理(PDA)、iPadTM、笔记本、小型笔记
本、平板式PC、电子阅读器等)或非便携装置(例如,台式计算机,诸如PC或Mac、能够使用互
联网的电子显示器/TV等)上运行的网络使能浏览器或应用于输入/输出模块接口。
预报系统300还可以包括一个或多个处理器模块。在图1(a)和图5(a)中,示出了五
个模块。然而,应该理解,可以设想分担系统的功能的处理模块和数据库的其他布置,其也
会在本发明的范围内。
基于所撰写的本发明的说明书和流程图的计算机程序在有经验的开发者的技术
水平内。在本申请中所描述的各种软件部件、函数、程序和/或程序模块可以使用本领域技
术人员已知的任一种技术来创建或者可以与现有软件结合设计,并且由处理器使用任何适
当计算机语言(诸如,例如C++、Perl、HTML或XML))实现为要执行的软件代码。该软
件代码可以被存储为在计算机可读介质(诸如,随机存取存储器(RAM)、只读存储器(ROM)、
诸如硬驱动器或软盘的磁性介质、或者诸如CD-ROM的光学介质)上的一系列指令或命令。任
何这样的计算机可读介质可以存在于单个计算设备上或之内,并且可以存在于系统或网络
内的不同计算设备上或之内。