美式期权二叉树定价及MATLAB程序
金融随机分析课程
美式期权的二叉树定价
1、对于连续随机游走: 可以用离散格随机游走模型来表示,即标的资产的价格只在离散时间点,2,3,…,N取值,表示很小但非无穷小的时间步长;如果标的资产在时刻m的价格为,那么在时刻 m+1 其价格有两种可能的值:和,并且标的资产的价格从上升到的概率为p。
2、风险中性假设在风险中性条件下,随机微分方程:
中的可以用r来表示。即
风险中性条件下,在时刻m衍生证券的价格是其在时刻 m+1 的期望值按照无风险利率r贴现所得到的,即。
期权的计算
期权的计算是从二叉树图的末端(时刻T)开始向后倒退进行的。T时刻期权的价值已知。对于一个看涨期权来说,有
对于一个看跌期权来说,有
其中,n 0,1,2,…,N, K为执行价格。
在风险中性条件下,时刻的每个结点上的期权值都可以用T时刻期权价值的期望值在时间内用利率r贴现求出;同理,时刻的每个结点的期权值可以用时刻的期望值在时间内用利率r贴现求出,其它结点依次类推。
而如果对于美式期权,必须检查二叉树图的每个结点,以确定提前执行是否比继续持有时间更为有利。最后,向后倒推通过所有结点就求出了当前时刻的期权价值。
下面对美式期权定价问题进行研究:
美式看涨期权被提前执行时,其内涵价值为
n 0,1,2,…,m
对于看期权来说,有
n 0,1,2,…,m
在m时刻从节点 m,n 向 m+1 时刻的结点 m+1,n+1 移动的概率为p;向 m+1 时刻的结点 m+1,n 移动的概率为1-p。
假设期权不提前执行,有:
若期权提前执行,必须与内涵价值相比较。那么,对于看涨期权,有
对于看跌期权,有
计算美式看涨期权的价格的Matlab实现(基于具体的算例)
Matlab程序如下:
%输入具体参数
S0 100; %当前股价
K 105; %执行价格
r 0.05; %利率
T 1; %期权有效期
sigma 0.3; %波动率
q 0.02; %红利率
n 1000; %步数
dt T/n; %时间步长
%计算二叉树各参数
u exp sigma*sqrt dt ; %计算上升比率
d 1/u; %计算下降比率
p exp r-q *dt -d / u-d ; %计算上升的概率
%构造二叉树矩阵,i表示行数,j表示列数,Sx为股价矩阵,fx为期权的内在价值
for j 1:n+1 for i 1:j Sx i,j S0* u^ j-i * d^ i-1 ; fx i,j max Sx i,j -K,0 ; end;
end;
%计算美式期权价格矩阵Afx和欧式期权价格矩阵Efx
for i 1:n+1 %到期时 j n+1 期权价格 Afx i,n+1 fx i,n+1 ; Efx i,n+1 fx i,n+1 ;
end;
for jj 1:n %倒推前面各期 j n-1,n-2,…,1 期权价格 j n+1-jj; for i 1:j Efx i,j exp -r*dt * p*Efx i,j+1 + 1-p *Efx i+1,j+1 ; Afx i,j max exp -r*dt * p*Afx i,j+1 + 1-p *Afx i+1,j+1 ,fx i,j ; end;
end;
%输出结果
AmeOptionPrice Afx 1,1
ErouOptionPrice Efx 1,1
AmeOptionPrice 10.座机电话号码587509
ErouOptionPrice 10.座机电话号码424911