运行matlab程序
function Price=GY(cp,X,T,r,coupon,sigma,mcallshedule,Nstep,Nrepl)
dt=T/Nstep;
%mcallshedule:到期赎回价。
s=cp*ones(Nrepl,Nstep);
for j=1:Nrepl;
for i=1:Nstep-1;
s(j,i+1)=s(j,i)*exp((r-0.5*sigma^2)*dt+sigma*sqrt(dt)*randn);%monte carlo 模拟股价。
end;
end;
X=X*ones(Nrepl,1);
num0=0;
num1=0;
p=zeros(Nrepl,1);
for j=1:Nrepl;%触发回售条款实质是调整转股价。
for k=0:T-1
for i=(1+k*Nstep/T+round(0.9/(k+1))*0.5*Nstep/T);
((k+1)*Nstep/T-30*floor((k+1)/T));%转股期限。
if s(j,i:i+29)<(X(j,1)*0.8);
X(j,1)=X(j,1)*mean(s(j,i:i+29));
break
end;
end;
for a=(T-min(k+1,T-1))*Nstep/T:Nstep/T-30;
if s(j,a:a+19)>=1.3*X(j,1);%统计转股价修正后触发赎回条款的路径。
p(j,1)=((100/X(j,1))*s(j,a+28)+coupon(1,1:floor(T*a/Nstep))*ones(floor(T*a/Nstep),1))*exp(-r*dt*a);
%理智的投资者会在公司执行赎回条件之前转股。
num0=num0+1;
break;
end
end;
end;
end;
for j=1:Nrepl;%统计转股价没有修正情况下触发赎回条款的路径。
for i=0.5*Nstep/T:Nstep-30;%转股期限。
if(s(j,i:i+19)>=1.3*10.7)&(p(j,1)==0);
p(j,1)=((100/10.7)*s(j,i+28)+coupon(1,1:floor(T*i/Nstep))*ones(floor(T*i/Nstep),1))*exp(-r*dt*i);%理智的投资者会在公司执行赎回条款之前转股。
num1=num1+1;
break
end
end
end;
出现
??? Error: File: D:\matlab\work\GY.m Line: 36 Column: 81
Incomplete or misformed expression or statement.
是怎么回事啊?