求matlab高手解答!一道经济类题目

Function Price=AmercianOptLSM(S0,K,r,T,sigma,N,M)
%longstaff-schwartz 最小二乘法计算美式看跌期权
%输入参数
%s0 价格股票 50
%k 执行价 50
%r 无风险利率 0.1
%t 期权存续期 5/12
%sigma 股票收益率标准差 0.4
%n 时间步数 50
%m 模拟路径个数 10000
dt=T/N;
R=exp((r-sigma^2/2)*dt+sigma*sqrt(dt)*randn(N,M));
S=cumprod([S0*ones(1,M);R]);
ExTime=(M+1)*ones(N,1);
%now for the algorithm
CF=zeros(size(S));
CF(end,:)=max(K-S(end,:),0);
for ii=size(S)-1:-1:2
Idx=find(S(ii,:)<K);%发现II时刻处于实值状态路径
X=S(ii,Idx)';X1=X/S0;
Y=CF(ii+1,Idx)'*exp(-r*dt);%对现金流进行贴现
R=[ones(size(X1)) (1-X1) 1/2*(2-4*X1-X1.^2)];
a=R\Y;
C=R*a;
Jdx=max(K-X,0)>C;
nIdx=setdiff((1:M),Idx(Jdx));
CF(ii,Idx(Jdx))=max(K-X(Jdx),0);
ExTime(Idx(Jdx))=ii;
CF(ii,nIdx)=exp(-r*dt)*CF(ii+1,nIdx);
end
Price=mean(CF(2,:))*exp(-r*dt);

这是书上程序,我的版本是2010B,运行出现图中的问题,将参数带进去也是一样的问题,我是新手,请详细解答下,感谢!

将上述代码保存为一个m文件:AmercianOptLSM.m
然后再调用
>> AmercianOptLSM(...)追问

你好,感谢解答,可是按照你的方法做了,结果是这样的,请问你是亲自运行之后才给的解决办法吗

追答

f不要大写。函数脚本的第一行应该是
function ...

追问

非常感谢!!!

温馨提示:答案为网友推荐,仅供参考