怎么用Matlab实现三叉树期权定价

论坛 期权论坛 期权     
霸王TA150   2017-8-25 21:58   15507   2
怎么用Matlab实现三叉树期权定价
分享到 :
0 人收藏

2 个回复

倒序浏览
2#
热心网友  15级至尊 | 2017-8-25 22:04:05 发帖IP地址来自

自己去看John C Hull的期货期权以及其他金融衍生品啊,现在谁还在用二叉树对冲资产啊
3#
袜子和栗子  1级新秀 | 2017-8-25 22:04:06 发帖IP地址来自

function
[Call,Put] = TrinomialEuro(s0,k,T,n,r,sigma)

% s0 underlying asset price

% k exercise price

% T expiration date

% numbers of steps

% risk free rate

% sigma volitility of stock

deltat=T/n;
u=exp(sigma*sqrt(deltat));
d=1/u;
m=1;
P=(exp(2*r*deltat)+sigma^2*deltat-(d+1)*exp(r*deltat)+d)/((u^2-1)-(u-
1)*(d+1));
Q=(exp(r*deltat)-1-(u-1)*P)/(d-1);
M=1-Q-P;
for
i=1:n+1

for
j=1:n+2-i
s(i,j)=s0*u^(i-1)*m^(j-1)*d^(n+2-i-j);

w(i,j)=nchoosek(n,i-1)*P^(i-1)*nchoosek(n+1-i,j-1)*M^(j-1)*Q^(n+2-i-j
);
x(i,j)=max(s(i,j)-k,0);
y(i,j)=max(k-s(i,j),0);
cv(i,j)=w(i,j)*x(i,j);
pv(i,j)=w(i,j)*y(i,j);

end

end

Call=sum(cv(:))*exp(-r*T);
Put=sum(pv(:))*exp(-r*T);

Price=max(exp(-r*deltat)*(p*f(1,1)+q*f(1,2)),0);
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP