// Mod`ele de Ho et Lee TPMMDFA08.sce clear ;Nmax=8 ;Tmax=Nmax;delta_t=Tmax/Nmax; pi=0.5 ;delta=1.01;r=0.02; function z0=Z0(k); z0=(1+r)^(-k*delta_t) ; endfunction; plot(0 :Nmax,Z0(0 :Nmax)) ; //Introduction de la fonction èta du modèle function ee=eta(l,x); if x==0 ee=(1^l)./(pi+(1-pi)*delta^l); else ee=delta^l./(pi+(1-pi)*delta^l); end ; endfunction; // repr´esentation des eta extr`emes xset("window",1);clf(1) ; Nprime=1000;for x=0 :1 plot(0 :Nprime,eta(0 :Nprime,x)); end ; //calcul des valeurs du zero coupons: la fonctions //Z(n,j,k)=ZZ(n+1,j+1,k+1) où t=n*delta_t, j est le nombre //de up et T=k*delta_t. ZZ=ones(Nmax+1,Nmax+1,Nmax+1); for k=0 :Nmax ZZ(0+1,1,k+1)=Z0(k); end ; for n=1 :Nmax for k=n :Nmax ZZ(n+1,0+1,k+1)=eta(k-n,0)*ZZ(n-1+1,0+1,k+1)/ZZ(n-1+1,0+1,n+1); for j=1 :n ZZ(n+1,j+1,k+1)=eta(k-n,1)*ZZ(n-1+1,j-1+1,k+1)/ZZ(n-1+1,j-1+1,n+1); end ; end ; end ; // pour s'affranchir de "+1" dans les 3 arguments de ZZ, //on introduit la fonction Z: function z=Z(n,j,k) //t=n*delta_t et T=k*delta_t z=ZZ(n+1,j+1,k+1); endfunction; // Dessins : repr´esentation des ´evolutions possibles de //Z(n,j,N) pour N=Nmax xset("window",2);clf(2) ; N=Nmax ; //courbes "down" for j=0:N plot(j :N,Z(j:N,j,N),"-b"); end ; //courbes "up" for n1=0 :N Vecteur=zeros(N-n1+1); for nn=0 :N-n1 Vecteur(nn+1)=Z(n1+nn,nn,N); end ; plot(n1 :N,Vecteur,"--r"); end ; //pour garder la figure obtenue dans un fichier postcript: xs2eps(2,"arbHoLee.eps"); // Calcul du taux actuariel A(t,T) associé au zéro coupon Z(t,T): function a=A(n,j,k) a=exp(-log(Z((n),j,k))'./((k)-(n)))-1 // attention: n