hushiprice;
num=200;
Tcut=24;
Mnum=10000;
DayNum=920;
for mm=1:DayNum;
mm
VaR_Real(mm)=hushiprice(mm+num)-hushiprice(mm+num-1);
hushiprice1=hushiprice(mm:mm+num-1);
L_hushiprice1=Length(hushiprice1);
sData=zeros(1,Tcut+1);
sData(1)=hushiprice1(end);
for ii=1:num-1;
VarS(ii)=(hushiprice1(ii)-hushiprice1(end))^2;
end
VarSS=(sum(VarS)/(num-1))^0.5;
clear VarS
for kk=1:Mnum
rad=normrnd(0,1,1,Tcut);
for jj=1:Tcut
sData(jj+1)=sData(jj)+rad(jj)*VarSS/Tcut;
end
ST(kk)=sData(end);
end
ST_arrange=sort(ST);
ST_50=ST_arrange(Mnum*0.95+1);
VaR(mm)=sData(1)-ST_50;
clear ST ST_arrange ST_50
end
figure
subplot(1,2,1),
plot(VaR);
title('从2008.11.11开始920天的VaR');
subplot(1,2,2),
plot(VaR_Real);
title('从2008.11.11开始920天的实际VaR');
x=1:920;
plot(x,VaR,x,VaR_Real);
title('从2008.11.11到2012.08.20这920天的VaR与实际值的比较')
只输出mm从1到148左右,然后matlab就没响应了。hushiprice 表示上证指数收盘价