楼主: 何人来此
1691 51

[量化金融] 衍生工具投资组合建模的高斯过程回归 [推广有奖]

21
mingdashike22 在职认证  发表于 2022-6-11 12:59:47
(右)BS delta和GP估计值之间的误差。图5:该图显示(左)买入期权的GP估计值的比较EGAν:=Cσ和BS vega公式。(右)BS vega和GPestimate之间的误差。16 ub=300#域上的上界17 sigma n=1e-8#a d i t i v e n o i s i n GP19 c a l l l=λx,y:bsf orm ul a(1,lb+(ub-l(b)*x,KC,r,T,y,0)[0]20 put=λx,y:bsf或m ul a(-1,磅+(ub-l(b)*x,KP,r,T,y,0)[0]22 T r ai ni n g n um b e r=10023 T e st i n g nu m b e r=5025 x T r a i n=np。ar RAY(np.l i n s p a c e(0.0 1,1.2,tr a i n in g n u mb er),dtype=\'f l o a t 3 2\')。re s h a p e(tra in i ng n um be r,1)26 x t e s t=np。a rr ay(np.l i n s p a c e(0.0 1,1.0,te s ti n g n u m b e r),dtype=\'f l o a t 3 2\')。re s h a p e(tes ti ng n u mber,1)28 y t r a i n=[]30 f r i d x i n范围(l e n(x t r a i n)):31 y t r a i n。附加(c a l l(x t r a i n[id x],sigma))32 y t r a i n=np。ar RAY(y t r a i n)34 s k k e r n e l=RBF(l e n g t h s c a l e=1.0,l e n g t h s c a l e b o u n d s=(0.01,1 0 0 0 0 0))35 gp=g a u s i a n p r o c e s。G a u s ia n P r o c e s Re G r s o r(k k e r n e l=s k e r n e l,n r e s t a r t s o P t i m i z e r=20)36 gp。f i t(x t r a i n,y t r a i n)37 y pred,s ig ma h a t=gp。p r e d i c t(x t e s t,r e t u r n s t d=真)39 l=总成。k e r n e l。l n g t h s c a l e40 r b f=g a u s i a n p r o c e s。k e r n e l s。径向基函数(l e n g t h s c a l e=l)42 Ker n el=r b f(x t r a i n,x t r a i n)43 K y=Ker nel+np。眼睛(tr a i ni n g n u m be r)* 西格玛n44 L=sp。l i n a l g。c h o f a c t o r(K y)45 a lp ha p=sp。l i n a l g。c h o s o l v e(np。

22
kedemingshi 在职认证  发表于 2022-6-11 12:59:50
t r a n s p o s e(L),y t r a i n)47 k s=r b f(x t e s t,x t r a i n)49 k s p r i m e=np。z e r o s([l e n(x t e s t),l e n(x t r a i n)])50 f r i n g(l e n(x t e s t)):51 f r j n g(l e n(x t r a i n)):52 k s p r i m[i,j]=(1.0/l** 2) * (x t r a i n[j]- x t e s t[i])* k s[i,j]53#C a l C u l a l a t e平均u s i n g方程的gr a d i n t e t o n g reeking sub-s e c t i o无纸。54 f p r i m e=np。点(k s p r i me,a l p h a p)/(ub-lb)56#显示BS d e l t a和GP d e l t a57 d e l t a=λx,y:BS f或mul a(1,l b+(ub-l(b)*x,KC,r,T,y,0)[1]58 d e l T a(x T e s T,sigma)-f p r i m eListing 2:这个Python 3.0代码节选,使用scikit learn,演示了如何通过区分GP价格模型来计算期权的价格。x是网格化的基础股票价值,因此f prime是delta的估计值。如果x是网格化的波动率,那么f素将是织女星的估计值。清单仅提供了显著的细节,读者应参考示例2-GP-BS-DERIVATIONS。Github中的ipynb以实现完整的实现。3.3无网格GPs上述数值示例已在均匀网格上训练和测试GPs。这种方法避免了严格的维度诅咒问题,因为训练点的数量随着数据维度的增加而显著增加(参见第2.3节)。因此,在实践中,为了估算MtM立方体,我们提倡分而治之,即在特定资产类别上并行使用大量低输入维空间p、GPs(见第5.5节和Guhaniyogi et al.(2017))。此外,完全没有必要使用固定网格。我们在这里展示了GPs如何通过相对较少的模拟参考点(参见。

23
mingdashike22 在职认证  发表于 2022-6-11 12:59:53
Gramacy和Apley(2015))。图6显示了使用(左)50和(右)100个模拟训练点(用“+”表示)从均匀随机分布中得出的预测赫斯顿看涨期权价格。Hestoncall期权在K=100时行使,到期日为T=2年。图7(左)显示了基于赫斯顿模拟训练点数量的预测GP MSE的收敛性。3.4大规模可扩展GPS将模拟点的数量固定为100个,但增加每个观测点的输入空间维数p(即包括越来越多的赫斯顿参数),图7:使用(左)50和(右)100个模拟训练点预测赫斯顿看涨价格,用“+”表示,从均匀随机分布中得出。图7:(左)基于模拟赫斯顿训练点的数量,显示了预测的GP MSE的收敛性。(右)将模拟点的数量固定为100,但增加每个观察点的维数p(包括越来越多的赫斯顿参数),图中显示了使用滑雪训练GP的挂钟时间。(右)显示了使用滑雪板训练GP的挂钟时间(参见第2.3节)。请注意,SGD迭代次数已固定为1000。图8显示了MSGP训练时间和预测时间相对于Black-Scholes模型中训练点数n的增加。将诱导点的数量固定为m=30(见第2.3节),我们增加了p=1维训练集中的观察值数量n。将SGD迭代次数设置为1000,我们观察到训练样本的训练时间大约增加了1.4倍。我们观察到,训练样本增加10倍,预测时间大约增加2倍。预测时间随n增长的原因(而不是常数,参见。

24
可人4 在职认证  发表于 2022-6-11 12:59:56
第2.3)节是由于我们实现中的记忆性,每个点预测都涉及将新测试点加载到内存中。快速缓存方法可以用来减少这种内存延迟,但超出了本研究的范围。请注意,使用GPU上的CUDA可以改进培训和测试时间,但此处未对其进行评估。图8:(左)显示了根据Black-Scholes模型生成的训练点数进行训练所用的挂钟时间。(右)根据测试点的数量显示预测单个点所用的挂钟时间。预测时间增加的原因(而第2.3节回顾的理论认为它应该是恒定的)是由于我们实现中的内存延迟,每个点预测都涉及将新测试点加载到内存中。4多响应高斯过程多响应高斯过程是随机向量的集合,任意数量的向量具有矩阵变量高斯分布。我们借用了Chen等人(2017)的以下公式,即perAlvarez等人(2012,公式(9))提出的可分离无噪声多响应核规范:根据定义,f是基于向量值平均函数u:Rp7的d变量高斯过程→ Rd,内核k:Rp×Rp7→ R、 和正半限定参数协方差矩阵Ohm ∈ Rd×d,如果向量f(x)的任何有限集合的向量化,f(xn)具有联合多变量高斯分布,vec([f(x),…,f(xn)])~ N(vec(M),∑ Ohm),其中f(xi)∈ Rdi是一个列向量,其分量是函数{fl(xi)}dl=1,M是Rd×nw中的矩阵,其中Mli=ul(xi),∑是Rn×nw中的矩阵,其中∑ij=k(xi,xj),和∑Ohm是Kronecker的产品ΣOhm ··· ∑1nOhm.........∑m1Ohm ··· ∑mnOhm.有时∑被称为列协方差矩阵,而Ohm 是行(或任务)协方差矩阵。我们表示f~ MGP(u,k,Ohm). 如等式后所述。

25
大多数88 在职认证  发表于 2022-6-11 13:00:00
(10) 在Alvarez et al.(2012)中,矩阵∑和Ohm 对输入和输出之间的依赖关系进行编码。4.1带噪声观测的多输出高斯过程回归和预测在实践中,观测值不是从函数中提取的,而是表现出噪声。给定噪声观测值的npair{(xi,yi)}ni=1,xi∈ Rp,yi∈ Rd,我们假设模型yi=f(xi)+, 我∈ {1,…,n},其中y~ MGP(u,k,Ohm) k=k(xi,xj)+δijσ,其中σ是加性高斯i.i.d.噪声的方差,. 因此,函数集合[f(x),…,f(xn)]的向量化遵循多元高斯分布vec([f(x),…,f(xn)])~ N(0,KX,X Ohm),式中,KX,Xis是n×n协方差矩阵,其中(i,j)-th元素[KX,X]ij=k(xi,xj)。预测新变量f*= [f*1.f*m] 在试验位置X*= [xn+1,…,xn+m],训练观测值Y=[Y,…,yn]和预测目标的联合分布*由给出Yf公司*~ 明尼苏达州0,KX、XKTX*,XKX公司*,XKX公司*,十、*, Ohm, (11) 式中,KX,Xis是一个n×n矩阵,其中(i,j)-th元素[KX,X]ij=k(xi,xj),KX*,Xis是一个m×n矩阵,其中(i,j)-th元素[KX*,十] ij=k(xn+i,xj)和KX*,十、*是一个具有(i,j)-th元素[KX]的m×m矩阵*,十、*]ij=k(xn+i,xn+j)。因此,利用多元高斯过程的条件分布,预测分布为:p(vec(f*)|十、 Y,X*) = N(vec(^M),^∑^Ohm), (12) 式中,^M=KTX*,X(KX,X)-1Y,(13)^∑=KX*,十、*- KTX公司*,X(KX,X)-1倍*,十、 (14)^Ohm = Ohm. (15) 协方差矩阵的超参数和元素Ohm 通过最小化(λ,Ohm) 观测值的负对数边际似然:L(Y | X,λ,Ohm) =ndln(2π)+dln | KX,X |+nln|Ohm| +tr((KX,X)-1年Ohm-1YT)。(16) Bonilla et al.(2007)、Alvarez et al.(2012)和Chen et al.(2017)提供了有关多重GP的更多详细信息。

26
nandehutu2022 在职认证  发表于 2022-6-11 13:00:03
第2.3节中的计算备注也适用于此处,另外的备注是,训练和预测时间也与维度d的数量成线性(成比例)缩放。请注意,任务协方差矩阵Ohm I通过a d估计-矢量因子bOhm = bbT+ωI(其中ω分量对应于标准白噪声项)。Alvarez et al.(2012)第6.1节描述了另一种利用内核可分离性的计算方法,其复杂性为(d+n)。4.2投资组合价值和市场风险估计金融衍生品投资组合的价值π通常可以表示为一组基本风险因素x的d向量f的组成部分的线性组合,即π(x)=wTf(x)。(17) 我们估计了预测分布p(π)的矩*|十、 Y,X*) 再见[π*|十、 Y,X*] = wT^M(18)cov(π*|十、 Y,X*) = wT^∑ Ohmw、 (19)式中,^M=KTX*,X(KX,X)-1Y,(20)^∑=KX*,十、*- KTX公司*,X(KX,X)-1倍*,十、 (21)特别是,(19)给出了一个表达式,用于估计投资组合的点估计中的GP不确定性,考虑到潜在风险因素,这解释了金融衍生工具合同之间的依赖关系。一般来说,投资组合中的金融衍生品合同具有共同的风险因素,并且风险因素是相互关联的。因此,如果对计算要求不太高,那么多GPapproach应该是{fl(xi)}dl=1的元建模方法。一旦学习了(17)中的向量函数f,就可以很快地评估f跨越的任何投资组合。因此,多重GP方法的实际效用是能够快速预测投资组合价值,以及误差估计,该误差估计还可以解释测试点上衍生品价格的协方差(以训练点为条件)。请注意,元模型仅指f(与投资组合权重相反)。

27
mingdashike22 在职认证  发表于 2022-6-11 13:00:06
因此,即使投资组合构成发生变化,投资组合的预测分布仍然有效(例如,在贸易增量XVA计算的背景下,见Albanese等人(2019年,第5节))。请注意,如果向投资组合中添加了新的衍生工具,我们不必对所有GPs进行重新培训,原始投资组合价值的后验平均估计仍然有效。然而,必须重新学习核以更新协方差估计。通过构造,只需将权重设置为零即可从投资组合中减去衍生工具,无需再培训。GP分而治之策略我们重申,使用GPs的好处主要在于快速实时计算。由于MtM立方体计算中涉及的不同GPs是独立的(参见第3.3节),因此可以在GPU或manycore CPU等计算节点网格上对其进行并行训练。在使用单个GPs的情况下,每个模型的输入变量数量通常很小,因此训练集由相对较少的观测值组成。多GPs的培训更具挑战性,因为它涉及在组合中安装多个仪器。在实践中,我们可以确定具有共同风险因素的衍生工具子集,并为每个子集提供多重GP。多GP的计算开销通过更精确的不确定性估计进行调整。除了如上所述为子投资组合中的每个衍生工具设置一个GP组件(是否与其他组件相关),另一种选择是为每个总体子投资组合值设置一个GP。然而,如果投资组合的权重发生变化,则必须重新训练相应的GP。

28
大多数88 在职认证  发表于 2022-6-11 13:00:09
我们提到这些利弊,以便为每个风险应用程序评估最合适的方法。4.3数值说明图9和图10说明了上述概念,其中,投资组合持有110(左)点买入期权中的两个多头头寸和90(中)点看跌期权中的空头头寸,其中S=100。回想一下,两种期权都有一个共同的风险因素,即基础工具S,每个期权的到期日为2年。为了说明多重GP回归下的不确定性带,将具有MAkernel(ν固定为2.5)的二元GP训练为Black-Scholes模型,作为S on fiftyTraining点的函数,加性高斯i.i.d.噪声,如清单3所示。通常,一个人会使用数百个训练点。经过300次迭代后,确定的内核长度尺度和噪声为^λ=[0.208,1.356355],确定的任务协方差矩阵为^Ohm =36.977943-1.1028435-1.1028435 3.068603.双变量GP随后估计期权的价值和投资组合ata测试点的数量。其中一些测试点的选择与训练集一致,而其他测试点则不在训练集中。点估计的不确定性通过灰色带显示,表示95%的GP不确定性。在投资组合的情况下,这种不确定性是每个期权价格的点估计中的不确定性和等式(19)中协方差矩阵中的交叉项的加权组合。相反,如果将单个GPs分别用于看跌期权和看涨期权价格,则投资组合点估计的不确定性将忽略协方差矩阵中的交叉项。(a) 看涨期权价格(b)看跌期权价格(c)投资组合价格图9:该图将多重GP期权价格预测与Black-Scholes模型进行了比较。

29
nandehutu2022 在职认证  发表于 2022-6-11 13:00:12
具有MA核的多重GP在n=50 X,Y对上进行训练,其中X是基础网格价格,Y是相应看涨期权价格的d=2向量。预测平均值(红线)和后验方差由方程(18)和(19)估计,m=100个网格测试点,S*, 对于(左)看涨期权(中)看跌期权和(右)投资组合。灰色阴影包络线表示后验平均值的95%置信区间。使用Black-Scholes定价公式,精确结果由黑线给出。期权的到期时间固定为两年。为了更深入地了解不确定度的组成部分,图10显示了不确定度在f=(f,f)到100个测试点的点估计中的分布。选择了两个实验(5个和50个训练样本)来说明多重GP设置中的各种属性。选择前一个实验(图中的左图)来突出交叉项在后验协方差cov(f1)中的重要性*, f2层*| 十、 Y,X*), 在这个例子中是否定的。我们重申,此类术语仅在multi-GPsetting中表示。在有噪声数据或大型投资组合的情况下,它可能会对投资组合价值的不确定性产生不可忽视的贡献。1导入math2导入到r c h3导入gpyt到rch4导入numpy作为np5从s c i p y导入*6从Bl a ck S c h o l es导入*7从s c i p y导入s t a t s9 r=0。0#r i s k-f r e r a t e(a)5个训练点(b)50个训练点图10:该图显示了多个GPs如何能够将组合价值点估计的不确定性归因于组成工具。带有MAkernel的多重GP在X,Y对上进行训练,其中X是期权的网格底层,Y是相应看涨期权和看跌期权价格的ad=2向量。

30
大多数88 在职认证  发表于 2022-6-11 13:00:15
后验协方差矩阵的元素在m=100点的测试集上绘制为分布。(左)使用5个训练点,我们显示了后验协方差的分量。后验协方差中的交叉项不是由单个GPs给出的,可以观察到它是负的和重要的。(右)50个训练点的后验协方差。观察到每个元素都会收缩,并且更加均匀(即集中),从而导致组合值不确定性的整体降低,解释了图9.10中狭窄的均匀灰色不确定性带,即S po t11 KC=110 C a l l S t r i k e12 KP=90#Put S t r i k e13 sigma=0。3#i m p l i e d v o l a t i t y 14 t=2。0#时间t到材料y16 c a l l=λx:bs表示μl(1,l b+(ub-l(b)*x,KC,r,T,sigma,0)[0]17 put=λx:b sf o rm ul a(-1,l b+(ub-l(b)*x,KP,r,T,sigma,0)[0]19 l b=0。0 01#域上下限20 ub=300#域上上限21 t r ai ni n g n um b e r=50#样本数22 t e st i n g nu m b e r=100#样本数24 t r a i n x=t o r c h。l i n s p a c e(0,1.0,trai n i n g n um b e r)26 t r a i n y 1=t o r c h。Float Ten s or(c a l l l(np.a r ay(t r a i n x)))27 t r a i n y 2=t o r c h。Float Ten s or(put(np.ar ray(t r a i n x)))29#创建一个t r a i n y,它与两个30 t r a i n y=t o r c h。s t a c k([t r a i n y 1,t r a i n y 2],-1) 32 c l a s MultitaskGPModel(gpyt o rch.models.ExactGP):33 d e f i n i t(s e l f,t r a i n x,t r a i n y,l i k e l i h o d):34 SUP er(MultitaskGPModel,s e l f)。i i t(t r a i n x,t r a i n y,l i k l i h o d)35 s e l f。平均模量=g p yto r ch。方法多任务平均(36 gpy或小时。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-3 08:06