2017-05-29 2 views
0

J'ai besoin de tracer 12 intervalles de confiance dans un graphique en utilisant MATLAB et chacun avec une moyenne marquée à l'intérieur. Des idées comment je peux le faire? Vous pouvez trouver un exemple dans l'image suivante: example plotTracé d'intervalles de confiance-lignes dans un graphique avec des moyennes à l'intérieur

J'utilise un code ci-dessous pour calculer les intervalles de confiance:

S=10; E=9; sigma=0.1; r=0.06; T=1; 
Dt=1e-3; N=T/Dt; M=2^17; 

V = zeros(M,1); 
for i=1:M 
    Sfinal = S*exp((r-0.5*sigma^2)*T+sigma*sqrt(T)*randn); 
    V(i)=exp(-r*T)*max(Sfinal-E,0); 
end 
aM=mean(V); bM=std(V); 
conf=[aM-1.96*bM/sqrt(M),aM+1.96*bM/sqrt(M)] 
+3

Avez-vous regardé dans le [ 'errorbar'] (https://www.mathworks.com/help/matlab/ref/errorbar.html) fonction? – kedarps

+0

pas encore, mais allez jeter un oeil! Merci – Natalia

Répondre

0

Tout d'abord, au lieu de la boucle, vous pouvez simplement écrire:

V = exp(-r*T)*max(S*exp((r-0.5*sigma^2)*T+sigma*sqrt(T)*randn(M,1))-E,0); 

randn(M,1) créer tous M valeurs aléatoires à la fois, et parce que toutes les autres valeurs sont des scalaires, vous pouvez vectoriser votre calcul en le mettant simplement dans la formule pour V (de cette façon, il n'y a pas non plus besoin d'initialiser V avec des zéros).

Et pour tracer la barre d'erreur utilisation errorbar:

errorbar(aM,conf(1),conf(2))