期权定价中的蒙特卡洛模拟方法 下载本文

编制最小二乘蒙特卡洛模拟的MATLAB程序如下: function price=AmericanOptLSM(S0,K,r,T,sigma,N,M) dt=T/N;

R=exp((r-sigma^2/2)*dt+sigma*sqrt(dt)*randn(N,M)); S=cumprod([S0*ones(1,M);R]); ExTime=N*ones(M,1); CF=zeros(size(S));

CF(end,:)=max(K-S(end,:),0); for ii=N:-1:2

Idx=find(S(ii,:)

Y=CF(ii+1,Idx)'*exp(-r*dt);

R=[ones(size(X1)) (1-X1) 1/2*(2-4*X1+X1.^2)]; a=R\\Y; C=R*a;

Jdx=max(K-X,0)>C;

nIdx=setdiff((1:M),Idx(Jdx));

CF(ii,Idx(Jdx))=max(K-X(Jdx)',0); ExTime(Idx(Jdx))=ii;

CF(ii,nIdx)=exp(-r*dt)*CF(ii+1,nIdx); end

Price=mean(CF(2,:))*exp(-r*dt)

%%%%% 绘制标的股票价格模拟图 %%%%% x1=[0:N];y1=S';y2=mean(S'); subplot(2,1,1) plot(x1,y1) subplot(2,1,2) plot(x1,y2)

xlabel('期权存续期间')

ylabel('股价的模拟路径')

%%%%% 绘制期权价值模拟图 %%%%% figure;

x2=[1:N];y3=CF(2:end,:)'; for i=1:M

y4(i)=y3(i,ExTime(i)); end

plot(x2,y3,ExTime,y4,'*') xlabel('期权的最优停止时间') ylabel('期权价值的模拟路径')

模拟的美式看跌期权的价格路径如下图所示:

模拟的期权价值路径及其最优停时如下图:

本例中的美式看跌期权价格为: price=AmericanOptLSM(50,50,0.1,5/12,0.4,50,100000) Price=4.2654 §7. 改进蒙特卡洛方法计算效率的常用几种方差减少技术 方差减少技术的共性是利用模型特点,调整或修正模拟的输出变量,从而降低估计值的方差。在采用方差减少技术时,要具体问题具体分析,针对不同期权类型的特点应用相关的方差减少技术,从而取得效率的最大改进。 ◆对偶变量(Antithetic variates)技术 对偶变量技术是最简单和最常用的方差减少技术。以标准欧式看涨期权为例,其标准蒙特卡洛估计值为 CMCm1?exp(?rT)?Cj?mj?1exp(?rT)?max?0,STj?K?j?1mm 标的股票的股价终值抽样为 S?S0ejT1(r??2)T??2Tzj,j?1,2,?,m 由概率论的知识可知{?Zj}也是标准正态分布中相互独?j也是股票价格终值的立的抽样值,那么用?Zj代替Zj得到的ST??exp(?rT)max?0,S?j?K?,j?1,2,?,m的平均值也能抽样,从而由CjT得到期权价格的无偏估计量。因此,由对偶变量技术得到的?期权价格蒙特卡洛估计值为CAV?1mCj?Cj??mj?12。 ?],所以 对偶变量技术的有效性:由于Var[Cj]?Var[CjVar[?Cj?Cj2]?1?]);并且,令C??(Z),对于标(Var[Cj]?Cov[Cj,Cjjj2准欧式看涨期权,?(Zj)是单调递增函数。由不等式?]?0,从而E[?(Zj)?(?Zj)]?E[?(Zj)]E[?(?Zj)],可知Cov[Cj,CjVar[?Cj?Cj21]?(Var[Cj]),对偶变量技术有效。 2 显然,标准欧式看跌期权和亚式期权对应的必也是单调函数,所以对偶变量技术对这两种期权也适用,而障碍期权 和回望期权则反之。 ?,C,C?,?,C,C?并对偶变量技术置信区间的估计:由于C1,C122mm??C?C?Cm?CC1?Cm122,,?,不独立,而才是独立同分布的抽样,故222??C?C?Cm?CC1?Cm122?,C,C?,?,C,C?来,,?,采用n个而非2n个C1,C122mm222计算样本标准差。 以上对偶变量技术采用的输入变量Z服从标准正态分