Chemist_MZ 发表于 2012-7-30 09:24 
帮你修改好了,这回应该没问题了。你那个程序有问题,写得乱七八糟的。或者直接粘来的可能作者没有把输入 ...
我又发现一个小问题,在于Price矩阵的边界条件。原代码中欧式看涨期权的上边界条件“ price(end,:) = (Svec(end)-X)*exp(-r*tvec(end:-1:1));”应改为“ price(end,:) = Svec(end)-X*exp(-r*tvec(end:-1:1);”
同理,原代码中看跌期权的下边界条件“ price(1,:) = (X-Svec(1))*exp(-r*tvec(end:-1:1))”应改为“ price(1,:) = X*exp(-r*tvec(end:-1:1);”。由于Svec(1)=0,所以其实看跌期权也可以不改,不影响结果。
若有错误,欢迎指正交流。