(十万火急!!!!!!!) 本人matalb学的很差,现在要毕业了,选了一个欧式期权定价有限差分法方向的论文,老师要求用matlab程序实现求解过程,我不会啊!现在粘贴了一个程序,运行了没有结果,求高手帮忙修改一下! 程序如下: %欧式看跌 s0=40; k=50; r=0.1; T=5/12; sigma=0.4; Smax=100; ds=0.5; dt=5/2400; M=round(Smax/ds); ds=Smax/M; N=round(T/dt); dt=T/N; matval=zeros(M+1,N+1); vetS=linspace(0,Smax,M+1); veti=0:N; vetj=0:M; matval(:,N+1)=max(k-vetS,0); matval(1,:)=k*exp(-r*dt*(N-veti)); matval(M+1,:)=0; a=0.5*(r*dt*vetj-sigma^2*dt*vetj.^2); b=1+sigma^2*dt*vetj.^2+r*dt; c=-0.5*(r*dt*vetj+sigma^2*dt*vetj.^2); for i=N:-1:1 for j=2:M matval(j,i)=a(j)*matval(j-1,i+1)+b(j)*matval(j,i+1)+c(j)*matval(j+1,i+1); end end jdown=floor(s0/ds); jup=ceil(s0/ds); if jdown==jup price=matval(jdown+1,1); else price=matval(jdown+1,1)+(s0-jdown*ds)*(matval(jup+1,1)-matval(jup+1,1))/ds; end |