%Option d'achat : première méthode clear all; limite = 100; PrixSimule = zeros(limite,1); borneInf95 = zeros(limite,1); borneSup95 = zeros(limite,1); %Paramètres du titre sous-jacent r = 0.1; %taux d'intérêt sans risque annuel sigma = 0.2; %volatilité Szero = 100; %valeur initiale %Paramètre de l'option d'achat K = Szero*1; %prix d'exercice T = 90/365; %temps avant l'échéance, en années d1 = (log(Szero/K) + (r+(sigma^2)/2)*T) / (sigma*sqrt(T)); d2 = d1 - sigma*sqrt(T); PrixTheorique = Szero*normcdf(d1,0,1) - K*exp(-r*T)*normcdf(d2,0,1) nbsim = zeros(limite,1); for k = 1 : limite; n = k * 500; %le nombre de trajectoires simulées nbsim(k,1) = n ; %Simulation du mouvement brownien géométrique à la date T Z = normrnd(0,1,1,n); %vecteur ligne n variables aléatoires iid N(0,1) ST = Szero*exp( (r-(sigma^2)/2)*T + sigma*sqrt(T)*Z); payoffAct = exp(-r*T)*max(ST-K*ones(1,n),zeros(1,n)); PrixSimule(k,1) = mean(payoffAct'); %Calcul de l'intervalle de confiance de niveau 95% borneInf95(k,1) = PrixSimule(k,1) - 1.96*sqrt(var(payoffAct')/n); borneSup95(k,1) = PrixSimule(k,1) + 1.96*sqrt(var(payoffAct')/n); end PrixTh = PrixTheorique*ones(limite,1); plot(nbsim,PrixTh,'r-',nbsim,PrixSimule,'b-',nbsim,borneInf95,'g-',nbsim,borneSup95,'g-'); xlabel('taille de la simulation'); title('Intervalle de confiance du prix d une option d achat en fonction de la taille de la simulation');