清风信步 发表于 2012-11-15 04:06 
求二叉树模型的倒推定价matlab程序:
参数为: sigma=0.3; r=0.05; dt=1; N=5; s(0)=150.
求t=0时刻forwa ...
期权二叉树定价:
function price=calloption(s,k,t,r,sigma,n)
% price for option by binominal tree
% 2012-11-15,R2010b版本
S=zeros(n+1);
V=zeros(n+1);
dt=t/n; %二叉树时间间隔长度
v=exp(-r*dt); %折现因子
u=exp(sigma*dt^0.5); %上涨幅度
d=1/u; %下跌幅度
p=(1+r*dt-d)/(u-d); %风险中性概率
for i=1:n+1
tn=n+1-i; %第tn个时间段
for j=1:tn+1
un=j-1; %股票上涨的次数
S(j,i)=s*u^un*d^(tn-un);
if i==1
V(j,i)=max(S(j,i)-k,0); %某状态下期权价值
else
V(j,i)=(p*V(j+1,i-1)+(1-p)*V(j,i-1))*v;
end
end
end
price=V(1,n+1);