两资产的价差障碍期权定价分析_第1页
两资产的价差障碍期权定价分析_第2页
两资产的价差障碍期权定价分析_第3页
两资产的价差障碍期权定价分析_第4页
两资产的价差障碍期权定价分析_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于两资产的价差障碍期权定价分析 多维二叉树模型、蒙特卡罗模拟1 变量说明表变量名称变量说明X0 、Y0资产X、Y初始价格LNX、LNY资产X、Y的价格对数值X、Y资产X、Y的价格sigma1、sigma2资产X、Y的波动率barrier障碍价格Rho资产X、Y的相关系数strike期权执行价格nstep二叉树步数npath蒙特卡罗模拟的资产路径数rfrate无风险利率outbarrier外障碍价格inbarrier内障碍价格2 多维二叉树模型1. 基本原理(1)多维二叉树 He.H.在1990年发表的论文“Convergence from Discrete to C

2、ontinuous Time Contingent Claims Prices”中提出要使得基于多资产的衍生产品的价格是无套利的并且市场是完备的,那么基于K个资产的标的产品应该有K+1种价格状态,并非之前认为的K*(K+1)种状态。并且这K+1种价格状态是反应多资产间的相关系数的。并进而证明这样的多维二叉树模型计算的价格最终将收敛于Black-Scholes多变量模型。 参照He.H.的基本思路,Ren-Raw Chen, San-Lin Chung和Tyler T. Yang在2002年提出了简单易行的计算K+1种价格状态的方法。在完备市场和无套利原则下,衍生产品的价格可以通过多个风险资产和

3、一个债券的资产组合价格复制得到:期初衍生产品的价格为:以基于两资产的衍生产品为例,两个风险资产的价格服从几何布朗运动,且它们的相关系数为,我们可以得到:其中: 此时资产价格的二叉树三维图形为:Time 0 Time 1 Time 2Time 3以Time 1为例,在Time 1两个资产的三个价格状态为:下面确定A、B、C的值。A、B、C的值应该一方面反映两个资产各自的波动率:1,2的值,另一方面反映出两个资产的相关系数的值。前提假设:资产取每个价格状态是等可能的,那么1)当两个资产没有相关性时(两个布朗运动独立),即=0,那么A、B、C的值可以通过在半径为1的圆上取等间距的三个点的坐标表示:如

4、图所示,A、B、C点的坐标或者其他任意三个等间距取的点的坐标代表当资产没有相关性时资产价格状态的波动程度,此时Time 1的价格状态波动项为:,2)当两个资产的相关性为不为零时,通过变换坐标抽的方法计算波动率。如图转动X轴和Y轴,转动的角度代表相关系数的大小,它们之间的关系是:坐标轴转动后A、B、C新的坐标表示为: (2) 障碍期权定价原理 二叉树下障碍期权定价与一般的期权定价方法一致,唯一差别在于需要设定障碍条件。障碍条件涉及以下两个基本特征:1) 障碍设定在当前价格之上或者之下(up or down);2) 触发障碍敲入还是敲出(knock in or knock out)。以上升敲出期权

5、为例,在价格触发barrier之前,期权有效,定价方式与一般期权定价相同;当触发barrier时,期权失效,期权价值变为零。根据上面的描述,对于一个上升敲出的看涨期权来说,当采用二叉树定价时,只需将股票在障碍之上的期权价值设为零,然后采用和普通期权一样的定价方法定价即可。但存在一个问题,即设定的barrier水平不一定正好落在二叉树的节点水平上,对于这样的情况我们采取设立外障碍与内障碍分别定价的方法,再通过线性插值法得到相应barrier的期权价格。具体步骤是:首先选定上下最为临近barrier水平的两个节点水平,分别作为外障碍水平和内障碍水平;其次,分别对外障碍水平下的期权和内障碍水平下的期

6、权定价;最后,用线性插值方法得到真实障碍水平下的期权价格。2. 多维二叉树定价程序说明function option,mcoption=barrier(X0,Y0,sigma1,sigma2,strike,barrier,t,nstep,npath,rfrate,Rho)LNX=cell(nstep,1);LNY=cell(nstep,1);X=cell(nstep,1);Y=cell(nstep,1);Spread=cell(nstep,1);预先设定储存空间M=cell(1,nstep);C=cell(1,nstep);B=cell(1,nstep);A=cell(1,nstep);G=c

7、ell(1,nstep);H=cell(1,nstep);K=cell(1,nstep);F=cell(1,nstep);Option=cell(nstep,1);dt=t/nstep;rx=sigma1*sqrt(2*dt);ry=sigma2*sqrt(2*dt);计算加入相关系数的波动项Phi=0.5*asin(Rho);Psi1=cos(Phi),sin(Phi);Psi2=sin(Phi),cos(Phi);R1=rx*(Psi1*0.5*sqrt(3),0,-0.5*sqrt(3);-0.5,1,-0.5);R2=ry*(Psi2*0.5*sqrt(3),0,-0.5*sqrt(3

8、);-0.5,1,-0.5);%计算对数价格%M1,1=0,0,0;1,1,0;0,0,1;C1,1=1,1,1;0,0,0;0,0,0;A1,1=1,0,0;0,1,0;0,0,1;B1,1=0,0,0;1,0,0;0,1,1;K1,1=1;0;0;m=0;0;1;for i=2:nstep G1,2=C1,1,M1,1; B1,i=B1,i-1,m; A1,i=A1,i-1,B1,i-1; K1,i=K1,i-1;0; if (i=2) LNX1,1=log(X0),log(X0),log(X0)*C1,1+R1*A1,1; LNY1,1=log(Y0),log(Y0),log(Y0)*C

9、1,1+R2*A1,1;在Time2时资产的对数价格 LNXi,1=LNX1,1*G1,2+R1*A1,i; LNYi,1=LNY1,1*G1,2+R2*A1,i; else F1,i=K1,i-2,eye(i);Time 2之后到Time nstep的资产对数价格 H1,i=zeros(0.5*i*(i-1),i+1);F1,i; C1,i=G1,i-1;zeros(i,0.5*i*(i+1); G1,i=C1,i,H1,i; LNXi,1=LNXi-1,1*G1,i+R1*A1,i; LNYi,1=LNYi-1,1*G1,i+R2*A1,i; end;end;%计算资产价格%for i=1

10、:nstep取指数,得到资产的价格 for j=1:0.5*(i+1)*(i+2) Xi,1(j)=exp(LNXi,1(j); Yi,1(j)=exp(LNYi,1(j); %计算价差% Spreadi,1(j)=abs(Xi,1(j)-Yi,1(j); end;end; %设定内外barrier% for i=1:nstep for j=1:0.5*(i+1)*(i+2) if (Spreadi,1(j)>=barrier) outbarrier=min(Spreadi,1(j); end; if (Spreadi,1(j)<=barrier) inbarrier=max(Sp

11、readi,1(j); end; end; end; %计算outbarrier期权价格% for i=nstep:-1:1 N=0.5*(i+1)*(i+2); k=i; for j=0.5*(i+1)*(i+2):-1:1 if(i=nstep) if(Spreadnstep,1(j)>=outbarrier) Optionnstep,1(j)=0; else Optionnstep,1(j)=max(Spreadnstep,1(j)-strike,0); end; else if(N-j<=k+1) Optioni,1(j)=exp(-rfrate*dt)*1/3*(Opti

12、oni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); else k=k-1; N=N-(k+2); Optioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); end; end; end; end;outprice=exp(-rfrate*dt)*1/3*(Option1,1(1)+Option1,1(2)+Option1,1(3);%计算inbarrier期权价格% for i=nstep:-1:1 N=0.5*(i+1)*(i+2

13、); k=i; for j=0.5*(i+1)*(i+2):-1:1 if(i=nstep) if(Spreadnstep,1(j)>=inbarrier) Optionnstep,1(j)=0; else Optionnstep,1(j)=max(Spreadnstep,1(j)-strike,0); end; else if(N-j<=k+1) Optioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); else k=k-1; N=N-(k+2); Optioni

14、,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); end; end; end; end;inprice=exp(-rfrate*dt)*1/3*(Option1,1(1)+Option1,1(2)+Option1,1(3);%插值计算最终期权价格%option=inprice+(outprice-inprice)*(barrier-inbarrier)/(outbarrier-inbarrier);3 蒙特卡罗模拟定价1.基本原理 假设两个资产S1,S2的相关系数为,1与2是两个独立

15、的标准正态分布,则有:关键是怎样产生两个独立的标准正态分布,这里有许多方法可供选择,我们采取的是Box-Muller方法。 Box-Muller方法的基本原理 两个独立的标准正态分布X、Y的联合密度函数为: Box-Muller方法的步骤:此时得到的随机变量X、Y是两个独立的标准正态随机变量。2. 程序说明%MC模拟%将相关系数矩阵进行Cholesky分解%cov=1,Rho;Rho,1;L=chol(cov);L=L' 生成两个独立的均匀分布随机变量U1=rand(npath,nstep);U2=rand(npath,nstep);R=sqrt(-2*log(U1);Theta=2*

16、pi*U2;得到两个独立的标准正态随机变量rand1=R.*cos(Theta);rand2=R.*sin(Theta); Payoff=zeros(npath,nstep); Drift1=(rfrate-0.5*sigma12)*dt;模拟第一个资产的价格路径Volatility1=sigma1*sqrt(dt)*L(1,1)*rand1; Increments1=Drift1+Volatility1; LogPaths1=cumsum(Increments1,2)+log(X0); PricePaths1=exp(LogPaths1);模拟第二个资产的价格路径Drift2=(rfrate

17、-0.5*sigma22)*dt;Volatility2=sigma2*sqrt(dt)*(L(2,1)*rand1+L(2,2)*rand2); Increments2=Drift2+Volatility2; LogPaths2=cumsum(Increments2,2)+log(Y0); PricePaths2=exp(LogPaths2);计算价差,判断是否在障碍水平之上Spread=abs(PricePaths1-PricePaths2);for j=1:npathif (Spread(j,nstep)>=barrier) Payoff(j,nstep)=0;else最后一期的p

18、ayoff折现,求得期权初期价格Payoff(j,nstep)=max(Spread(j,nstep)-strike,0);end;end;mcoption=normfit(mean(exp(-rfrate*t)*Payoff(:,nstep);4 运行结果比较以X、Y两只股票价格差的绝对值水平为标的,看涨上升敲出期权的价格计算。基本参数设置如下:方法期权价格步数N=10N=20N=30N=40N=50N=60多维二叉树 0.6466 0.39970.55700.45010.40550.4919蒙特卡罗模拟 0.3594 0.39770.4035 0.44350.34850.43065 结论从

19、上表的运行结果可以看到,两种方法计算出的价格大体上比较一致,需要进一步研究的地方有:验证一:增加蒙特卡罗模拟路径的路径数到10000条,查看运行结果:方法期权价格NN=10N=20N=30N=40N=50N=60多维二叉树 0.6466 0.39970.55700.45010.40550.4919蒙特卡罗模拟 0.3995 0.39550.3951 0.3851 0.39570.3801增加路径数后蒙特卡罗模拟值趋于稳定,取值范围缩小为0.38010.3995,二叉树结果随着步数增加逐渐向蒙特卡罗模拟值收敛,但是在N=60步时收敛趋势出现逆转。验证二:相关系数的由-1到1变化时,期权价格变化结

20、果:(N=20步,条数1000,其他值不改变)方法期权价格=-1=-0.7=-0.2=0=0.2=0.7=1多维二叉树 1.0421 0.36170.54380.59370.68010.70770.2187蒙特卡罗模拟 0.3472 0.40830.4135 0.4218 0.45810.2865 0.0591相关系数与期权价格的关系,如图所示:(N=20步,路径条数=1000条,其他值保持不变)相关系数在等于1和等于-1处明显出现异常值,在=-1时,多维二叉树计算的期权价格高于正常价格水平;=1时,两种方法计算出的期权价格跳跃下降,低于正常价格水平。验证三:障碍水平的变化与期权价格的关系,如

21、图所示:(N=20,路径=1000,K=10)随着障碍水平的升高,期权价格也逐渐上升。附:完整程序function option,mcoption=barrier(X0,Y0,sigma1,sigma2,strike,barrier,t,nstep,npath,rfrate,Rho)LNX=cell(nstep,1);LNY=cell(nstep,1);X=cell(nstep,1);Y=cell(nstep,1);Spread=cell(nstep,1);M=cell(1,nstep);C=cell(1,nstep);B=cell(1,nstep);A=cell(1,nstep);G=cel

22、l(1,nstep);H=cell(1,nstep);K=cell(1,nstep);F=cell(1,nstep);Option=cell(nstep,1);dt=t/nstep;rx=sigma1*sqrt(2*dt);ry=sigma2*sqrt(2*dt);Phi=0.5*asin(Rho);Psi1=cos(Phi),sin(Phi);Psi2=sin(Phi),cos(Phi); R1=rx*(Psi1*0.5*sqrt(3),0,-0.5*sqrt(3);-0.5,1,-0.5);R2=ry*(Psi2*0.5*sqrt(3),0,-0.5*sqrt(3);-0.5,1,-0.5

23、);M1,1=0,0,0;1,1,0;0,0,1;C1,1=1,1,1;0,0,0;0,0,0;A1,1=1,0,0;0,1,0;0,0,1;B1,1=0,0,0;1,0,0;0,1,1;K1,1=1;0;0;m=0;0;1;for i=2:nstep G1,2=C1,1,M1,1; B1,i=B1,i-1,m; A1,i=A1,i-1,B1,i-1; K1,i=K1,i-1;0; if (i=2) LNX1,1=log(X0),log(X0),log(X0)*C1,1+R1*A1,1; LNY1,1=log(Y0),log(Y0),log(Y0)*C1,1+R2*A1,1; LNXi,1=L

24、NX1,1*G1,2+R1*A1,i; LNYi,1=LNY1,1*G1,2+R2*A1,i; else F1,i=K1,i-2,eye(i); H1,i=zeros(0.5*i*(i-1),i+1);F1,i; C1,i=G1,i-1;zeros(i,0.5*i*(i+1); G1,i=C1,i,H1,i; LNXi,1=LNXi-1,1*G1,i+R1*A1,i; LNYi,1=LNYi-1,1*G1,i+R2*A1,i; end;end;%计算价格%for i=1:nstep for j=1:0.5*(i+1)*(i+2) Xi,1(j)=exp(LNXi,1(j); Yi,1(j)=e

25、xp(LNYi,1(j); %差价计算% Spreadi,1(j)=abs(Xi,1(j)-Yi,1(j); end;end; %设定内外barrier% for i=1:nstep for j=1:0.5*(i+1)*(i+2) if (Spreadi,1(j)>=barrier) outbarrier=min(Spreadi,1(j); end; if (Spreadi,1(j)<=barrier) inbarrier=max(Spreadi,1(j); end; end; end; %计算outbarrier期权价格% for i=nstep:-1:1 N=0.5*(i+1)

26、*(i+2); k=i; for j=0.5*(i+1)*(i+2):-1:1 if(i=nstep) if(Spreadnstep,1(j)>=outbarrier) Optionnstep,1(j)=0; else Optionnstep,1(j)=max(Spreadnstep,1(j)-strike,0); end; else if(N-j<=k+1) Optioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); else k=k-1; N=N-(k+2); O

27、ptioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); end; end; end; end;outprice=exp(-rfrate*dt)*1/3*(Option1,1(1)+Option1,1(2)+Option1,1(3);%计算inbarrier期权价格% for i=nstep:-1:1 N=0.5*(i+1)*(i+2); k=i; for j=0.5*(i+1)*(i+2):-1:1 if(i=nstep) if(Spreadnstep,1(j)>=inb

28、arrier) Optionnstep,1(j)=0; else Optionnstep,1(j)=max(Spreadnstep,1(j)-strike,0); end; else if(N-j<=k+1) Optioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j+k+2); else k=k-1; N=N-(k+2); Optioni,1(j)=exp(-rfrate*dt)*1/3*(Optioni+1,1(j)+Optioni+1,1(j+k+1)+Optioni+1,1(j

29、+k+2); end; end; end; end;inprice=exp(-rfrate*dt)*1/3*(Option1,1(1)+Option1,1(2)+Option1,1(3);%插值计算最终期权价格%option=inprice+(outprice-inprice)*(barrier-inbarrier)/(outbarrier-inbarrier);%MC模拟%U1=rand(npath,nstep);U2=rand(npath,nstep);R=sqrt(-2*log(U1);Theta=2*pi*U2;rand1=R.*cos(Theta);rand2=R.*sin(Theta);Payoff=zeros(npath,nstep);Drift1=(rfrate-0.5*sigma12)*dt;Volatility1=sigma1*sqrt(dt)*rand1;Increments1=Dri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论