全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5330 4
2015-03-25
欧式期权是对的,美式期权定出的价格差距就很大,不知道哪里问题,是理论出问题了吗?谢谢大家

    if AoE  %欧式期权
        P(1,:)=exp(-r*T)*P(N+1,:);
    else
        if type
         P(i,:)=max(exp(-r*dt)*P(i+1,:),max(S(i,:)-K,0));%立即执行与贴现比较
        else
         P(i,:)=max(exp(-r*dt)*P(i+1,:),max(K-S(i,:),0));
        end
    end
这一部的意思是 倒数第二期的价值和立即执行比较,哪个大取哪一个。
MC2(30,28,0.04,1,0.7056,10,100000,1,1)=9.48
MC2(30,28,0.04,1,0.7056,10,100000,1,0)=17.82
这两个上面是欧式的 和书上一样,下面那个美式的也应该是9.48左右,哎。
现附上代码 请大神指点迷津 谢谢

function price=MC2(S0,K,r,T,sigma,N,M,type,AoE)%M是模拟次数 type=1是期权看涨 AoE=1 欧式期权
dt=T/N;
R=exp((r-sigma^2/2)*dt+sigma*sqrt(dt)*randn(N,M));
S=cumprod([S0*ones(1,M);R]);%合并矩阵
if type%看涨期权
    P(N+1,:)=max(S(N+1,:)-K,0);
else
    P(N+1,:)=max(K-S(N+1,:),0);
end
for i=N:-1:1
    if AoE  %欧式期权
        P(1,:)=exp(-r*T)*P(N+1,:);
    else
        if type
         P(i,:)=max(exp(-r*dt)*P(i+1,:),max(S(i,:)-K,0));%立即执行与贴现比较
        else
         P(i,:)=max(exp(-r*dt)*P(i+1,:),max(K-S(i,:),0));
        end
    end
end
price=mean(P(1,:));
end


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-3-25 14:18:38
顶一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-25 18:46:06
顶一下 期权定价啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-3-25 18:46:56
我用遍历树倒是解出来一样,不过就想知道上面哪里有问题 希望多多指教
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-9-17 17:55:07
抓狂了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群