欧式期权二叉树定价MATLAB代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

调用函数代码functionPrice=EuroOption(S0,K,T,r,M,type,sigma)dt=T/M;u=exp(sqrt(dt)*sigma);d=1/u;p=(exp(r*dt)-d)/(u-d);S=zeros(M+1,M+1);S(1,1)=S0;forj=1:Mfori=0:jS(i+1,j+1)=S0*u^(j-i)*d^i;endendV=zeros(M+1,M+1);fori=0:Mswitchtypecase'call'V(i+1,M+1)=max(S(i+1,M+1)-K,0);case'put'V(i+1,M+1)=max(K-S(i+1,M+1),0);case'stra'V(i+1,M+1)=max(S(i+1,M+1)-K,0)+max(K-S(i+1,M+1),0);case'bino'V(i+1,M+1)=(S(i+1,M+1)K);endendforj=M-1:-1:0fori=0:jV(i+1,j+1)=exp(-r*dt)*(p*V(i+1,j+2)+(1-p)*V(i+2,j+2));endendPrice=V(1,1);数据作图S0=6;K=5;T=1;r=0.05;sigma=0.20;forM=1:100type='call';Price=EuroOption(S0,K,T,r,M,type,sigma);Vec(M)=Price;endforM=1:100type='put';Price=EuroOption(S0,K,T,r,M,type,sigma);Vep(M)=Price;endforM=1:100type='call';Price=AmOption(S0,K,T,r,M,type,sigma);Vac(M)=Price;endforM=1:100type='put';Price=AmOption(S0,K,T,r,M,type,sigma);Vap(M)=Price;endfigure(1)plot(Vec,'b');holdonplot(Vac,'r');holdofflegend('Eurocall','Amcall');figure(2)plot(Vep,'b');holdonplot(Vap,'r');legend('Europut','Amput');

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功