⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 impl.m

📁 Matlab codes for financial models
💻 M
字号:
function [values,matf]=impl(Smax,M,T,N,r,sig,X)
dS=Smax/M;
dt=T/N;
matf=zeros(M+1,N+1);
vetS=linspace(0,Smax,M+1)';
matf(:,N+1)=max(X-vetS,0);
matf(1,:)=X;
matf(M+1,:)=0;
%preparo la matrice dei coefficienti
veti=0:N;
vetj=0:M;
a=0.5*(r*dt*vetj-sig^2*dt*(vetj.^2));
b=1+sig^2*dt*(vetj.^2)+r*dt;
c=-0.5*(r*dt*vetj+sig^2*dt*(vetj.^2));
coeff = zeros(M-1,M-1);
coeff(1,1)=b(2);
for i=2:M-1
   coeff(i,i) = b(i+1);
   coeff(i,i-1) = a(i+1);
   coeff(i-1,i) = c(i);
end
%risolvo la sequenza di sistemi di equazioni
aux = zeros(M-1,1);
aux(1) = - a(2)*X;
for i=N:-1:1
   matf(2:M,i) = coeff \ (matf(2:M,i+1) + aux);
   for j=2:M
      matf(j,i) = max(matf(j,i),X-(j-1)*dS);
   end
end
values = flipud([vetS, matf(:,1)]);
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -