Matlab看跌期权二叉树,欧式期权二叉树MATLAB程序
歐式期權(quán)二叉樹MATLAB程序
function EXS()
S=input('請(qǐng)輸入當(dāng)前股價(jià):\n');
K=input('請(qǐng)輸入股票執(zhí)行價(jià)格:\n');
r=input('請(qǐng)輸入無風(fēng)險(xiǎn)利率:\n');
theta=input('請(qǐng)輸入波動(dòng)率:\n');
T=input('請(qǐng)輸入到期時(shí)間:\n');
bc=input('請(qǐng)輸入步長(zhǎng):\n');
q=input('請(qǐng)輸入股息率:\n');
KZ=input('是否為看漲期權(quán)?若是請(qǐng)輸入1,若不是請(qǐng)輸入其他任意值\n');
u=exp(theta*(T/bc)^0.5);
d=1/u;
a=exp((r-q)*(T/bc));
p=(a-d)/(u-d);
stock=[];
option=[];
stock(1,1)=S;
for i=2:bc+1
for j=1:i
if(j<=i/2)
stock(i,j)=stock(i-1,j)*u;
else
stock(i,j)=stock(i-1,j-1)*d;
end
end
end
for i=1:bc+1
if(KZ==1)
if(stock(bc+1,i)<=K)
option(bc+1,i)=0;
else
option(bc+1,i)=stock(bc+1,i)-K;
end
else
if(stock(bc+1,i)>=S)
option(bc+1,i)=0;
else
option(bc+1,i)=K-stock(bc+1,i);
end
end
end
for i=bc:-1:1;
for j=1:i
option(i,j)=(option(i+1,j)*p+option(i+1,j+1)*(1-p))*exp(-r*T/bc);
end
end
stock,option
總結(jié)
以上是生活随笔為你收集整理的Matlab看跌期权二叉树,欧式期权二叉树MATLAB程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何表格中的变为超链接,php中将
- 下一篇: c语言大数相加怎么写,大数相加