在一个图表中绘制置信区间 - 线,其中包含内部平均值

时间:2017-05-29 19:06:08

标签: matlab matlab-figure mean confidence-interval

我需要使用MATLAB在一个图中绘制12个置信区间,每个图中都标有平均值。我有什么想法可以做到吗?您可以在下图中找到示例: example plot

我使用下面的代码来计算置信区间:

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)]

1 个答案:

答案 0 :(得分:0)

首先,你可以写下:

,而不是你的循环
V = exp(-r*T)*max(S*exp((r-0.5*sigma^2)*T+sigma*sqrt(T)*randn(M,1))-E,0);

randn(M,1)一次创建所有M个随机值,并且由于所有其他值都是标量,您可以通过简单地将其放入V的公式来对您的计算进行矢量化(这样,也没有必要用零初始化V

要绘制错误栏,请使用errorbar

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