量子计算在重要金融产品定价问题的应用演示
FUTURE远见| 2021-02-01
Future|远见
Future|远见future选编
金融分析是未来量子计算的一个重要应用领域,并且在近年来陆续出现相关研究。金融业涉及到各种数值和分析任务,例如衍生产品定价,信用评级,外汇算法交易,投资组合优化等,都需要大量的定量分析工作,而其提高的计算速度和精度将带来巨大的社会价值。而这正是量子计算的目标。十几年前时,量子物理学家试着运用量子力学方程式改进金融模型,例如使用薛定谔方程和费曼路径积分法来求解利率衍生产品的随机微分方程,并且将海森堡不确定性原理用于解释股价波动。近年来的研究则是是把量子计算作为一个利用量子优势实现的更快的计算工具,在量子电路中实现各种加速算法,例如量子幅度估计(QAE),量子主成分分析(PCA),量子生成对抗网络(QGAN),量子经典混合变分量子本征求解器(VQE)算法,量子近似优化算法(QAOA)等算法不断涌现,并已有部分应用于金融分析任务。
在量化金融的所有领域中,蒙特卡罗(Monte Carlo)模拟始终发挥着重要作用,因为只有少数金融衍生产品的随机微分方程具有解析解,而大多数只能通过在不确定性分布(例如正态或对数正态分布)中重复多次随机设置来数值求解,因此金融产品定价会耗费时间。量子幅度估计(QAE)算法于2002年提出,在2018年被指出可以有效代替蒙特卡罗方法,应用于金融分析并实现平方加速,目前已在期权定价和信用风险分析中实现初步应用演示。
图一:金融产品分类示意图
考虑到蒙特卡罗模拟的广泛性和定价模型的多样性,量子技术在金融领域的介入仍处于起步阶段。如图一所示,金融产品主要包括股票(Equity)、固定收益(Fixed Income, 又称为债券Bonds)以及衍生品(Derivatives)三类。其中衍生品包括期权(Options)、期货(Future)、互换(Swap)等多种工具,以及资产担保证券(Asset-based security,ABS)等更复杂的结构性产品。衍生品既可以基于股票(Equity Derivative),也可以基于固定收益(Fixed Income Derivative),其中后者更加广泛。各种金融产品为金融工程提供了丰富多样的量化工具。
抵押债务凭证(Collateral Debt Obligations,或Collateralized Debt Obligations,简称CDO)就是资产担保证券ABS的一种,是重要的结构性金融衍生产品。CDO可以算作基于固定收益的衍生品,因为它的资产池包括各种债务工具,按信用评级从高到低可包括长中短期国家债券(Sovereign Bond)、公司债券(Corporate Bonds),高收益新兴市场(Emerging Market)公司债券等等。在这样的资产池投资组合里,每个资产都有各自的违约概率,并且相互之间存在违约的相关性。CDO则是将该投资组合通常打包分为三个CDO批次(CDO Tranche),如图二所示,包括股票批次(虽然名字叫股票,其实通常由信用评级低、甚至没有信用评级的债券组成),夹层批次(通常由A或A +级证券组成)和高级批次(通常由信用评级最高的AAA级债券组成)。当池中任何资产发生违约时,CDO规定由股票批次投资者首先承担损失,如果损失大于第一个临界点(Attachment Point),则多出的部分由夹层批次投资者承担。只有当损失大于第二个临界点时,高级批次投资者才会亏损。高级批次投资者具有最佳的风险防护,还具有接受本金和利息支付的优先级。根据金融风险和回报的一致性,高级批次投资者获得最低利率回报,而股票批次投资者在承担最多风险的同时获得最高收益。
图二:CDO包括股票批次(Equity Tranche),夹层批次(Mezzanine Tranche)和高级批次(Senior Tranche),各批次承担损失的顺序不同。
CDO可以有效地保护高级批次免于损失。CDO是一种有用的信贷工具,可以以非常定量的方式计算和重新分配信贷风险,目前金融行业具有信用风险管理的强烈需求,因此CDO在量化金融中得到广泛研究并不断完善。到本工作报道之前,还从未有量子算法在CDO等复杂结构性金融工具的应用报道。
CDO定价模型
CDO的定价,指的就是计算出每个批次可能承担损失的期望值,除以这个批次的资产价值,得到这个批次面临的损失率,那么该批次应当支付投资人相当的收益率实现风险和收益的平衡。
CDO每个批次承担损失与总损失的关系函数类似于期权定价中的收益函数(pay-off function)。看涨期权的价值在特定临界点后随着资产价值的提升以1为斜率线性增长,期权价值为正(in the money)。CDO批次损失同样在特定临界范围内随总损失线性增长。这种和特定临界点进行比较的操作都可以在量子线路的比较器模块中实现,将在后文中提及。
资产池的总损失取决于每个资产的违约情况。资产价格遵循一个不确定性分布随机上下浮动,当价格低于某阈值时认为该资产违约。这个不确定性分布模型中以高斯分布最常见。但现实世界中,价格分布往往还存在偏度和峰度。正态逆高斯(Normal Inverse Gaussian, 简称NIG)模型,则可以通过更多的参数调控,实现灵活的偏度和峰度,能更好地解释高斯分布不能解释的CDO市场“相关性微笑”(Correlation Smile)等现象。如图三所示,图ab分别是用四个量子比特导入的高斯分布,以及符合某个真实CDO市场数据的正态逆高斯分布。
图三:用4个量子比特加载高斯分布或NIG分布示意图。该NIG分布的偏度为1,峰度为6。
CDO定价需要重点注意的,是大量资产之间违约事件存在一定的相关性,数学上通常采用copula模型描述。不管单因素高斯copula, 还是NIG copula,都可以使用Vasicek提出的条件独立方法(Conditional independence approach),将每个资产i之间的违约风险相关性转化为与系统风险Z的相关性。
F代表Z的分布函数,在本文中是高斯分布或NIG分布。公式中包含的原始独立违约概率,可以从其历史表现中获得;与Z的相关性参数则可以通过校准市场数据获得的相关参数。
使用这种条件独立性模型,预期总损失则是Z取特定分布中不同值的各资产违约产生损失之和的期望值。
CDO定价的量子线路构造I——加载相关联的违约风险
要将量子计算应用于CDO定价,首先需要将投资组合中的资产风险以及相关性加载到量子电路中。量子线路框架如图四所示。
图四:CDO定价的量子线路框架。
(1)首先通过Lx加载违约风险互不相关的独立的资产,使|1>态的概率就是资产 i 的独立违约概率p_i。
(2)同时加载系统风险Z的高斯分布或NIG分布(图中Load Z distribution模块)。对于高斯分布,使用IBM Qiskit中自带的Uncertainty Model和Conditional Independence Model程序。对于NIG分布,作者则上传了相应程序,为Qiskit开源程序库的丰富完善作了一定贡献。
(3)然后通过Lz处理资产违约风险之间的相关性,旋转使|1>态的概率变为受系统风险z影响的p_i(z)。p_i(z)与z和p_i的函数表达式上文已给出。运算符Lz的slope和offset与z和p_i关系的详细推导可参阅论文的附录II。Lz运算符使用n_z个量子比特,就可以将分布离散化到2 的n_z次方个槽中。例如,具有3个量子位,z的范围在0到7之间,对应于高斯分布的正负三个方差区间。对于z=4=1*1+0*2+1*4-1,量子比特1和3会打开其相应的受控旋转门,而量子比特2不会。通过这样的仿射映射,z值对线性旋转的影响被编码在量子电路中。
(4)使用S进一步求和投资组合的总损失。即系数i乘以资产i 的给定违约损失并求和,如果资产i违约,则系数i为1,反之为0。系数i为1的概率正是Lz运算符输出的p_i(z)。
CDO定价的量子线路构造II——计算批次损失
图四的量子线路中还有最后一个重要的模块,C&R,即包括了比较器运算符C和分段线性旋转运算符R。
比较器运算符是完成金融产品定价任务的重要组成部分。在期权定价的量子计算中,它用于将资产价格与行使价格进行比较。这里使用比较器运算符C,对上述运算符S输出的损失总和值和每个批次的固定下临界点进行比较。如果损失总和大于该批次下临界点,C将会从|0>态翻转到|1>态,否则保持|0>态不变。
与此同时,还有一个目标量子比特,它将在比较器比特的控制下旋转其状态。也就是说,通过比较器运算符C和分段线性旋转运算符R实现如下转换:
这样一来,目标量子比特在|1>态的概率P1则包含了特定批次的预期损失E [L_tranche]的信息,具体推导可参考论文。只要得到P1,就能计算出批次损失,除以该批次的资产价值,就得到该批次投资人作为风险补偿应得的收益,实现CDO定价。
那么怎样测得概率P1呢?我们知道对一个旋转了任意角度的量子态进行测量,它会坍缩到一组选定的正交基矢。测量单一正交基矢的分量不能还原相位,测量的概率值对应是模平方,已经抹除了相位信息。采用量子态层析技术是可行的,但是需要准备多份样本,并且需要多组基矢测量,多次测量破坏量子态来获得相位。
量子幅度估计(Quantum Amplitude Estimation, QAE)算法,它的内核是量子相位估计(Quantum Phase Estimation),不需要破坏目标量子态就能有效获得其相位、计算出P1。QAE的主要思想就是,采用m个辅助量子比特,则可以生成2的m次方个不同的值,就像切蛋糕一样把π分成了2的m次方份。对m个量子比特进行测量,得到的二进制数转换成十进制数y, 占了y小块蛋糕,那么测量的角度约等于y除以2的m次方乘以π。如何将测量角度映射到m个辅助量子比特中,涉及到量子反傅立叶变换等操作,具体可以参阅论文。辅助量子比特数m决定估算的精度,一般大于3比较合适。
CDO定价的量子计算示例
以一个示例来说明CDO的定价。该CDO资产池包括四个资产。如左表所示,第二、三四列分别为资产的给定违约损失、独立违约概率以及对系统风险敏感性。右表的第二第三列显示了CDO批次的下临界点和上临界点。
对于此任务,需要n_k = 4个量子比特来表示Lx运算符中的四个资产。在Lz运算符中使用n_z = 4个量子比特产生2 ^ 4 = 16个槽位用于展示系统风险Z的不确定性分布,即前文中的图三。使用条件独立性模型,资产违约风险之间的相关性将转换为系统风险Z的相关性。
在加权和运算符S中,考虑所有资产均违约时,此投资组合的最大累计损失为 7(小于2的3次方减1),因此使用n_s = 3个量子比特对总损失进行编码。
量子电路使用Qiskit内置的分段线性旋转函数,其中包括比较器C和分段线性旋转器R。内置函数使用breakpoints数组记录连接点,并使用slopes和offsets数组记录斜率和偏移量。
图五:股票、夹层和高级批次的损失与总损失的关系图,每子图小框中的三个数组分别表示breakpoints、slopes和offsets数组
进行完以上设置就可以使用QAE算法估P1,然后转换求得每个批次的损失期望值。使用Qiskit的QASM模拟器,QAE中使用m = 4个辅助量子比特, 求得结果与经典蒙特卡洛结果进行比较。如图六显示Z为NIG分布时,两种方法的结果非常吻合。另外当Z遵循高斯分布时结果也一致。如果增加辅助量子比特数m,估算的精度还可进一步提高。
图六:计算所得股票、夹层和高级批次的损失。蓝色柱和红色虚线分别为量子计算和蒙特卡罗结果
用上图所得的批次损失除以批次资产(即批次上下临界点之差),就可以计算出股票,夹层和高级批次的批次收益。高级批次在现实中就是低回报的,首先是因为它是承受亏损的风险最小,其次因为高级批次的资产价值很大,往往占总资产的80%以上。股票和夹层批次的回报率算出来偏高,现实中通常分别为15-25%、5-15%左右。一方面是这里设的独立违约概率比现实情形高,另一个原因是,这里专注基本模型结构就没有考虑资产的恢复率。恢复率通常设置为40%,这意味着当资产违约时,可以尝试通过出售一些房地产等方式来恢复某些价值以补偿投资者。最大损失将等于总名义值乘以(1-恢复率)。在此示例中,40%恢复率会使给定违约损失变为1.2、1.2、0.6和1.2,而批次临界点保持不变,就会降低批次损失。
量子计算应用于金融问题的讨论展望
CDO是相对先进和复杂的结构化金融产品,尽管在2008年金融危机期间存在一些争议,但CDO仍然在量化金融中被广泛研究并不断完善。这项工作实现了相比高斯模型更具优势的正态高斯逆模型。还有Variance Gamma等适于CDO定价的新型模型,以及期货等更多衍生品的定价模型,它们和期权、CDO一样,都可以用量子QAE算法代替蒙特卡罗方法实现。
图七:列举更多金融量化问题及可能的量子计算方法
除了衍生品定价问题,如上图所示,金融领域还存在其他大量的量化分析场景,需要解决每天都在产生的海量金融数据分析问题。随着量子机器学习的发展,一些量子版本的回归、分类算法及量子神经网络模型将在金融时间序列相关的各项应用场景中发挥作用。此外,适用于NISQ环境的变分量子算法,以及基于伊辛机模型的量子退火器,都可用于金融场景中广泛存在的优化问题。总之,量子算法金融问题应用的更加广阔无垠的可能,亟待人们去探索实践。
论文第一作者为上海交通大学物理与天文学院助理研究员唐豪博士,通迅作者为唐豪博士和金贤敏教授。第一作者还对其在伦敦商学院进行固定收益及利率衍生品量化分析学习的授课教授予以致谢。
论文得到IBM Qiskit Finance部门负责人Stefan Woerner博士的关注,并共同商议将本工作示例在Qiskit社群的进一步分享。
论文链接:https://arxiv.org/abs/2008.04110
FUTURE|远见
End