clear; stacksize(50000000); //paramètres T=1;//horizon r=0.05;//intérêt S0=100;//valeur initiale du sous-jacent sig=0.2;//valeur moyenne de la volatilité K=100;//strike b=130;//barrière up and out : l'option est désactivée //lorsque le sous-jacent dépasse b N=1;//nombre initial de pas de discrétisation M=100000;//nombre de simulations indépendantes //expression explicite de E^*(1_{S_TK).*(Se-K); payeul=pay.*indb; prix=sum(payeul)/M; prixeul=[prixeul,prix]; liceul=[liceul,1.96*sqrt((sum(payeul^2)/M-prix^2)/M)]; //contribution des trajectoires au prix du Call avec technique de pont paypont=pay.*probab; prix=sum(paypont)/M; prixpont=[prixpont,prix]; licpont=[licpont,1.96*sqrt((sum(paypont^2)/M-prix^2)/M)]; //contribution des trajectoires au prix du Call avec technique de decalage paydec=pay.*indbdec; prix=sum(paydec)/M; prixdec=[prixdec,prix]; licdec=[licdec,1.96*sqrt((sum(paydec^2)/M-prix^2)/M)]; Npas=[Npas,N]; N=N*5;//multiplication du nombre de pas par 5 end; prixeul liceul prixpont licpont prixdec licdec //representation graphique de (N,prixeul), (N,prixpont), (N,prixdec) et de prixBS clf; subplot(3,1,1); plot2d(Npas',[prixeul;prixeul-liceul;prixeul+liceul]'); plot2d(Npas,prixBS*ones(Npas),style=5); subplot(3,1,2); plot2d(Npas',[prixpont;prixpont-licpont;prixpont+licpont]'); plot2d(Npas,prixBS*ones(Npas),style=5); subplot(3,1,3); plot2d(Npas',[prixdec;prixdec-licdec;prixdec+licdec]'); plot2d(Npas,prixBS*ones(Npas),style=5);