当前位置:文档之家› 欧式看涨期权二叉树定价

欧式看涨期权二叉树定价

欧式看涨期权二叉树定价(含m a t l a b代码和结果图)实验概述本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。

19. 2 实验目的(1)了解二叉树的定价机理;(2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法;(3)掌握欧式期权和美式期权的二叉树定价方法。

19. 3 实验工具MATLAB 7. 0。

19. 4 理论要点构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。

这个树图表示了在期权有效期内股票价格可能遵循的路径。

二叉树定价方法与风险中性定价理论是紧密联系的。

Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。

1)一个简单的例子假设当前(3月份)股票的价格So =50元,月利率是25%。

4月份股票价格有两种可能:S高=100元,S低=25元。

有一份看涨期权合约,合约约定在4月份可以以50元价格买进一股股票。

现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,借期为一个月。

根据上述组合,我们可以得到以下到期收益分布表,如表19. 1所示。

表19.1 投资组合的到期收益分布表四月份三月份S低=25元S高=100元卖出3份看涨期权合约3C 0 -150买人两股股票-100 50 200借人现金40 -50 -50总计0 0 0由一价定律3C-100+40=0,可得C= 20元,即为期权的价格。

这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。

我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。

于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。

二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。

2)二叉树模型考虑一个不支付红利的股票期权价格估值。

我们把期权的有效期分为很多很小的时间间隔Δt。

假设在每一个时间段内股票价格从开始的价格S以概率p上升到Su,以概率1-p下降到Sd,其中,u>1,O<d<l。

也就是说在任何一个时期,股票都有两个可能的价值,如图19. 1所示。

Su4Su Su3p Su2 Su2Su SuS S S SSd Sd1-p Sd2 Sd2Sd Sd3 Sd4图19. 1股票价值变化的可能性图19. 2 二叉树模型例如,我们假定将期权的有效期分成4个时期,在任何一个时期,股票都有两种可能的价值,即每个时间段都假定是一个两状态过程。

当N=4时,我们有以下结点图19. 2。

在风险中性概率Q 下,P=du d e t r --∆- 且有,f 0=t r e ∆-[pf u +(1-p)f d ]其中fu 和fd 是在△t 期后的期权可能的价格分布,分别为期权价格高点和低点。

令u=1/d ,根据股票回报率的方差t ∆2σ,我们有u=t e ∆σ和d=t e ∆-σ若每个股票价格路径的样本点个数为N+1,那么欧式看涨期权的到期收益的样本路径为:f N,= max [0,Su j d N-j -X], j=0,1,…,N向后递归可得:f ij =t e ∆-σ[pf i+1,j+1+(1-p)f i+1,j ]相应欧式看跌期权的到期收益表示:f N,j =max[0,X-Su j d N-j ], j=0,1,…,N美式看涨期权的到期收益与欧式看涨期权是一致的,因此我们下面仅考虑美式看跌期权的格子(Lattice): f N,j =max[0,X-Su j d N-j ], j=0,1,…,N向后递归可得: max{X-Su j d i-j ,t e ∆-σ[pf i+1,j+1+(1-p)f i+1,j ]}。

i=N-1,N-2,…,0;j=0,1,…i 19. 5 实验过程我们首先给出欧式期权的二叉树定价的MATLAB 代码,然后给出美式期权的二叉树定价的代码。

19. 5. 1 欧式看涨期权1)欧式看涨期权的二叉树定价下面的函数LatticeEurCall( )给出了利用二叉树的方法给欧式看涨期权定%欧式看涨期权的二叉树定价价:%LatticeEurCall.mfunction [price, lattice]=LattceEurCall(SO,E,r,T,sigma, N)%S0:股票现价,E:执行价格,r:利率,T:期权的有效期限,sigma:波动率,N:结点数deltaT=T/N;%日期步长u=exp(sigma*sqrt(deltaT);d=1/u;p=(exp(r*deltaT)/(u-d); %凤险中性概率lattice=zeros(N+ 1, N+1)for j=0,Nlattice(N+1,j+1)=max(0,S0*(u^j)*(d^(N-j))-E);endfor i=N-1:-1:0for j=0:ilattice(i+1,j+1)=exp(-r*deltaT)*…(p* lattice(i+2,j+2)+(1-p)* lattice(i+2,j+1));endendprice= lattice1,1);假设存在有效期为1年的欧式看涨期权,股票初始价格为50,利率为0. 03,波动率为0. 2,执行价格为40,且令结点数N为10,在命令窗口中输人:[price, lattice]=LatticeEurCall(50,40,0. 03,1,0. 2,10)就可以得到一个以下三角矩阵表示二叉树的格子以及欧式看涨期权的价格11. 614 5,如图19. 3所示。

2)欧式看涨期权的二叉树的收敛性质Gox, Ross & Rubinstein (1979)证明了二叉树收敛于Black-Scholes期权定价公式。

取当前时刻为t一△t,在给定参数p, u和d的条件下将二叉树公式:f(S,t一△t)=[pf(Su,t)+(1-p)f(Sd,t)]t r e∆-在(S, t)处进行泰勒展开,可以得到:当△t→0时,二叉树模型收敛于Black-Scholes偏微分方程。

下面给出一个二叉树收敛的直观结果,给出代码CompLatticeBls. m。

%二叉树期权定价的收敛性质%CompLatticeBls. mS0=50;E=50; %执行价格r=0.1; %年利率sigma=0.4; %波动率T=5/12;%有效期限为5个月N=50;BlasC=blsprice(S0,E,r,T,sigma);LatticeC=zeros)1,N);for i=1:NLatticeC(i)=LatticeEurCall(S0,E,r,T,sigma,i); endplot(1:N,ones(1,N)*BlsC);hold on;plot(1:N,LatticeC);xlabel('N')ylabel('二叉树价格')运行CompLatticeBls.m,可以得到图19. 4。

从图19. 4可以看出,随着区间长度的缩小,二叉树定价收敛于B一S公式确定的价格。

19. 5. 2 欧式看跌期权与欧式看涨期权类似,我们只需将欧式看涨期权的代码稍做改动即可。

%欧式看跌期权的二叉树定价%LatticeEurPut.mfunction[price,lattice]=LatticeEurPut(S0,E,r,T,sigma,N)%S0:股票现价,E:执行价格,r:年率,T:期权的有效期限,sigma:波动率,N:结点数deltaT=T/N;%日期步长u=exp(sigma*sqrt(deltaT));d=1/u;p=(exp(r*deltaT)-d)/(u-d);Lattice=zeros(N+1,N+1);for j= 0:Nlattice(N+1,j+1)=max(0,E-S0*(u^j)*(d^(N-j)));endfor i=N-1:-1:0for j =0:ilattice (i+1,j+1)=exp(-r*deltaT)*…(p*lattice(i+2,j+2)+(1-p)*lattice(i+2,j+1));endendprice=lattice(1,1);19. 5. 3 美式看跌期权的二叉树定价根据美式看跌期权的递归公式:f ij = max{X-Su j d i-j,t r e∆-[pf i+1,j+1+(1-p)f i+1,j]}i= N-1,N-2,…,0;j=0,1,…,i可以编写一下代码:%美式看跌期权的二叉树定价%LatticeAmPut.mFunction[price,lattice]=LatticeAmPut(S0,E,r,T,sigma,N0%S0股票现价,E:执行价格,r:利率期权的有效期限,sigma:波动率,N:结点数deltaT=T/N; %日期步长u=exp(sigma*sqrt(deltaT));d=1/u;p=(exp(r*deltaT)-d)/(u-d);lattice=zeros(N+1,N+1);for j= 0;N;Lattice(N+1,j+1)= max(0,E-S0*u^j)*(d^(N-j)));endfor i=N-1:-1:0for j =0:ilattice (i+1,j+1)=max(E-S0*u^j*d^(i-j),exp(-r*deltaT)*…(p*lattice(i+2,j+2)+(1-p)*lattice(i+2,j+1));endendPrice=lattice(1,1);假设存在有效期为1年的美式看跌期权,股票初始价格为50,利率为0. 03,波动率为0. 2,执行价格为60,且令结点数N为100,在命令窗口中输人:LatticeAmPut ( 50,60,0. 03,1,0. 2,100),得到美式看跌期权的价格为10. 3056。

比较标准Black-Scholes欧式期权定价公式的结果9. 610 0,显然美式期权的价格要大。

此外,MATLAB7.0金融工具箱还提供了为美式期权二叉树定价的binprice()函数:[Stockprice, Optionprice]=binprice(S0,E, r, T, dt, sigma, FLAG, q) 其中,FLAG取1时为看涨期权,取0时为看跌期权。

q为红利率,可缺省。

运行binprice,返回的是股票和期权在每个节点的价值的矩阵。

在命令窗口输人:[Stockprice, Optionprice]= binprice( 50,60,0. 03,1,0.01,0.2,0);和Optionprice(-1,1)得到美式看跌期权的价格为10. 305 6。

相关主题