全部版块 我的主页
论坛 金融投资论坛 六区 金融学(理论版) 金融工程(数量金融)与金融衍生品
2413 1
2018-06-18
本章概要说明整体计算机的发展现况,包括CPU发展的瓶颈,多核技术在绘图卡上的蓬勃发展,金融业使用并行计算的现况,以及平行运算在产品开发上的使用方式。我们也简单回顾市场上GPU的主流开发架构,并以一个简单的例子说明平行运算的效益。最后说明本书的内容架构以及预期达成的目标。



第一节 计算机计算的发展与金融计算的要求

图一 1971-2011微处理器晶体管数目与摩尔定律

Fig_01_01.jpg

在1965年时,Gordon Earle Moore发表了他著名的摩尔定律,指出同一体积的集成电路(Integrated Circuit, IC)上的组件(主要是晶体管)数目,大约每两年增加一倍。由于IC的计算能力,大体上可以用晶体管的数量来代表,这意味着计算能力只要两年就可以翻倍。也就是说,经过20年下来,IC上的组件数目可以有2的10次方成长,经过40年则可以提高100万倍之多。这提供给我们在计算能力上,大幅度的提升。图一是维基百科上1971年到2011年微处理器上晶体管数量的成长趋势图,大致上也呼应摩尔定律的观点。

现代的财务理论始于1950年代,由Markowitz所提出的投资组合理论(Portfolio Theory),与Treynor、Sharpe、Linter和Mossin进一步的发展所提出的资本资产订价理论(CAPM,Capital Asset Pricing Model),成为财务中研究证券资产价格与风险的数量模型。在这些理论中,基本上是使用随机变量的平均数(Mean)与变异数(Variance)去表达证券的报酬与风险,这种数量上的进展,大幅地提升财务的定量研究。

然而,在1950年代中,还有一个重要的理论发展,对目前财务数量模型有着巨大影响的,那便是由Miller与Modigliani所提出的无套利假说(Arbitriage Free Hypothesis)。此假说主张在均衡的市场情况下,套利组合是不存在的。此一主张对衍生商品的订价模型,有着主导性的角色。

1970年代可说是金融工程的起始时段,这是由于Black、Scholes与Merton(BSM)提出了著名的选择权订价理论(Option Pricing Theory)。事实上,早在1900年便有学者提出了选择订价公式,然而该公式并没有被实务工作者所采用。BSM的模型之所以广为市场所接受,在于其理论假设的合理性,与实务操作上的可行性。BSM应用无套利假说,将选择权与标的股票形成无套利组合,利用此均衡条件,设定此组合的应有报酬为无风险报酬。BSM另一个重要的突破,在于对股票价格行为的假设上,选择了一个相当良好的随机过程(Stochastic Process)─几何布朗运动型式(Geometrical Brownian Motion),配合随机积分(Stochastic Integral)的Ito’s Lemma,得到选择权价格的偏微分方程式。

这些财务理论与实务的进展,都需要大量的数据计算能力。可以这么说,过去40年来的金融创新,也都伴随着计算机计算能力的大幅成长,相辅相成地创造了今日金融产业的蓬勃发展。然而,好景不再,今日摩尔定律似乎也遇到瓶颈,一方面制程技术面临微小结构制造上的困难;另一方面,中央处理器(CPU,Central Processing Unit)的散热问题越来越严重。因此,传统使用单一运算核心(Single Core)之处理器的生产模式,遭遇到严重的挑战。

A. P.Chandrakasan等人在他们的文章“Optimizing Power Using Transformations”(注一)中提出,使用双核心(DualCores)的微处理器,可以在相同的计算能力下,减少能量消耗的60%。这一观点促使微处理器转向多核心架构的发展,低频率运行的多核微处理器在功率效能上,有更好的表现。然而,这也给软件产业带来一个全新的挑战,亦即,传统单核的程序撰写模式要转向到多核的程序开发,才能继续享有高速成长的计算机运算能量。



第二节 显示适配器计算能力的跃升

在过去的发展历史上,对于大部分的计算机而言,显示适配器(Display Card)已是个不可获缺的配件。显示适配器的功能一直被定位为辅助CPU来处理计算机上相关图形与影像方面的计算工作。早先显示适配器上的图形处理器(Graphics Processing Unit, GPU)中的运算核心的数目不多,约为2至16个。但近年来,随着制程技术的改良,一方面GPU的运算频率提升,另一方面GPU运算核心的数目大举上升到256至512个。这使得显示适配器每秒所能处理的浮点运算数目跟着明显地提升。

图二(注二)中可以看到,NVIDIA公司所生产的GPU显示适配器,在2003年G80系列之后的单精准度浮点运算的理论值,就开始大幅领先Intel的CPU了,之后逐年扩大领先差距。至于在双精准度浮点运算方面,在NVIDIA推出Tesla系列后,GPU的运算能力也优于CPU的双精准度浮点运算效能。

图二 2001-2014 Intel CPU与NVIDIA GPU理论浮点计算能力

Fig_01_02.jpg


除此之外,显示适配器上的内存容量也达到1至2GB,而且,显示适配器的内存存取带宽也不断在成长。NVIDIA的GeforceGTX 480显示适配器内存存取带宽以达到每秒180GB,明显优于Intel CPU。显示适配器上内存容量的增加以及内存存取带宽的提升,使得涉及大量数据存取的应用,可获得更高的计算效能提升。

图三 2003-2013Intel CPUNVIDIA GPU理论资料存取带宽

Fig_01_03.jpg




第三节 平行运算与超级计算机在金融界的运用情况

由于前述的理由,根据NVIDIA公司的数据,在2012年Top500超级计算机中,使用GPU (Graphic Processing Unit)以加速运算之计算机以有52台,比重已超过10%。图四(注三)中可以看到在2007~2012中,此一数目呈现快速的增长。

图四 超级计算机使用GPU的成长趋势

Fig_01_04.jpg


另外,在Top50中则有7台超级计算机是以GPU来加速计算。

图五 超级计算机使用GPU的情况

Fig_01_05.jpg

在2013年的Top500超级计算机中,结合CPU与GPU的异质架构已成为市场的主流趋势。在前10名的超级计算机中有两台使用IntelXeon Phi多核协同处理器,包括第一名的中国大陆天河二号,两台使用NVIDIA的GPU来加数运算,包括第十名的中国大陆天河一号A型。

根据牛津大学Mike Giles教授在2013年所做的调查(注四),在所有Top500的超级计算机中,有10%是用于金融计算之上。主要分别用于投资银行与避险基金的业务上。

在投资银行内,计算的重点在于各种选择权订价模型的应用。其中,主要的应用为蒙地卡罗模拟法,占了60%的计算量;PDE与有限差分法次之,约占30%的计算量;其他半解析法最少,约占10%的计算量。这是由于近年来金融产品的创新很多都是将权利条件,加到原有的金融商品之上,也因此产生截然不同的偿付型式。以最近在台湾市场销售的主流结构产品,都是内嵌权利条件的金融商品。至于在避险基金内,则主要使用于高频算法的程序交易之中。

根据NVIDIA的数据(注五),BNP Paribas(法国巴黎银行)使用Tesla GPU进行衍生性金融商品的定价;Bloomberg采用GPU以加速债券定价,J.P.Morgan 的权益衍生性商品部门在 2010 年挑选了 Tesla M2070 GPU 与其全球运算架构结合。另外,各商用软件竞相采用GPU作为计算强化方式,下表摘要专攻计量财务之独立软件开发商(ISV)及采用CUDA的应用程序。


表一:计量财务之独立软件开发商(ISV)及其采用CUDA的应用程序

  

独立软件供货商(ISV)

  
  

说明

  
  

Murex

  
  

风险分析(MACS)

  
  

MATLAB®

  
  

数据平行数学 (MATLAB PCT, MDCS)

  
  

Wolfram Mathematica

  
  

符号运算分析(Mathematica)

  
  

Streambase

  
  

复合事件处理 (Stream Base CEP Engine)

  
  

Risk Management Solutions

  
  

巨灾保险分析

  
  

Hanweck Associates

  
  

选择权定价(Volera)

  
  

SciComp, Inc

  
  

衍生性商品定价 (SciFinance)

  
  

Xcelerit

  
  

C++ 专用 GPU SDK,针对 Monte  Carlo 和其他数值方法。

  


第四节 产品开发对金融计算的要求

金融市场是一个充满随机性的地方,自从BSM模型被提出之后,随机过程被用于各个金融变量之上,不论是汇率、股价、利率、商品价格,甚至信用价差,都是以适当的随机过程,进入到财务模型之中。透过金融市场的均衡条件,我们便会求得这些金融变量的随机微分方程(Stochastic Differential Equation)。这一方法以成为目前金融产品开发时,计算其价格与风险的标准程序。

随机微分方程一般化的求解方式,可以使用测度转换的方法求得。在特定条件下,少数的随机微分方程可以有解析解,如阳春型选择权。但是,就如目前市场上销售的外汇结构产品Target Redemption Notes,大部分由于偿付条件过于复杂,且是路径相关的条件,因此无法求得简单的解析解。此时我们只有利用蒙地卡罗模拟法配合测度转换的理论,使用大数法则来计算这些产品的价格与风险。

在蒙地卡罗模拟法中,我们进行大量的模拟,每一次的模拟就是一个可能的情境路径(Scenario Path)。实务上,10万条的仿真路径是一般的要求,但这只是计算一个价格。通常我们还需要计算Delta、Gamma与Vega等参数,以做为避险的规划与涉险值的估算。由于没有解析解,因此需要使用差分来求的这些数值。保守估计,一个产品需要计算四个仿真价格,也就是40万条的仿真路径。如果在每条的情境路径上,每天走一步,产品为一年到期,则每一产品我们一共需要产生约1.5亿个模拟随机数(365╳400,000=145,600,000)来执行相关计算。

上述情况在金融计算上并非特例,在一些利率类的结构产品上,情况更为严苛。这是因为在外汇产品上,通常只需要模拟一个汇率因子。而在利率类的结构产品上,可能同时要模拟20个利率因子。至于整体公司部位的风险值计算,那就又是另外一种各加严苛的情况,以现今大型银行的资产组合规模而言,计算能量的要求只有更多了。

然而,多核的硬件结构却是当今金融计算的一个解药。传统个人计算机只有一个计算核心的CPU,因此,同时只有一个程序(Process)在执行。当CPU中的计算核心数目增加后,我们可以使用多线程(Multi-Threads)的方式,增加计算能力。也就是说在一个主程序执行后,我们可以将主程序展开程多条的线程,分别使用每一个计算核去执行各自的工作,最后再合并到主程序来结束。

然而,这样的做法前提是这些展开的线程彼此的工作有一定的独立性,可以各自工作,到最后才需整并合一,否则这样的计算流程变没有办法提升计算效率。对于前述的蒙地卡罗模拟法,就刚好满足此一要求。因为每一次的情境路径仿真,都是各自独立执行的,这可说是王八看绿豆,对上眼了。

然而,即使可以在CPU内增加计算核(Core)的数量,但是目前CPU最多也只有8个计算核(AMD),似乎缓不济急。自然而然,就会想到GPU上大量的计算核心,是否可以成为可用的方案。这里要说明一点,CPU上的核是通用型的,除了数值运算还有逻辑运算,因此无法像GPU上的专用型核,可以制造那么多的核。

NAVIA公司于2007年正式发布其泛用GPU(General Purpose GPU)架构,计算统一装置架构(Computer Unified Device Architecture, CUDA)。在此架构下,程序员可以使用一般的C语言,撰写执行于GPU上的程序,充分利用GPU多核特性的平行运算程序。自此,摩尔定律的计算红利,又可以为金融界所共享。




附件列表
Form_01_01.jpg

原图尺寸 20.85 KB

Form_01_01.jpg

Fig_01_06.jpg

原图尺寸 42.66 KB

Fig_01_06.jpg

Fig_01_05.jpg

原图尺寸 42.92 KB

Fig_01_05.jpg

Fig_01_04.jpg

原图尺寸 36.98 KB

Fig_01_04.jpg

Fig_01_01.jpg

原图尺寸 34.01 KB

Fig_01_01.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-6-18 22:31:05
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群