楼主: fangbochao
15886 30

[MATLAB] 基于matlab的蒙特卡洛模拟程序 [推广有奖]

11
真如铁(真实交易用户) 发表于 2013-3-30 11:14:43
高手啊。过来学习下。啊

12
705060976(真实交易用户) 发表于 2013-4-25 14:20:18
多谢楼主的粉丝昂!!!!

13
Mark1988huang(真实交易用户) 发表于 2013-5-28 15:25:37
谢谢LZ分享

14
kexinkeqing(未真实交易用户) 发表于 2013-6-1 17:25:50
kankan

15
w下雨天2000(真实交易用户) 发表于 2013-8-6 10:35:20
未命名.bmp     亲 你可不可以在程序的后面都注释下程序的意思,俺是菜鸟级的。想学习啊。呵呵  谢谢版主啊。

16
w下雨天2000(真实交易用户) 发表于 2013-8-8 10:09:43
亲 可不可以知道下蒙特卡洛的程序 我求求号:609461202   谢谢啦

17
kelenrose(真实交易用户) 发表于 2013-9-23 11:51:32
看看谢谢!

18
学习进行时(真实交易用户) 发表于 2014-9-17 11:35:40
谢谢分享,急需有关monte carlo 模拟相关程序!

19
1270647429(真实交易用户) 发表于 2015-1-24 20:45:54
x=shenshi;
y=hushi;
a=mean(x);
b=mean(y)
s1=std(x)
s2=std(y)
day_num=20;
sData=zeros(1,day_num);
sData(1)=5503.93;
rad=normrnd(0,1,1,day_num);
for ii=1:19;
sData(ii+1)=sData(ii)*exp(-0.00084828+0.0003497*rad(ii))
end

(2)
clc
clear
num=200;
hushiprice1=hushiprice(1:200);
L_hushiprice1=length(hushiprice1);
Tcut=24;
sData=zeros(1,Tcut+1);
sData(1)=hushiprice1(end);
Mnum=10000;
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=sData(1)-ST_50;

figure
subplot(1,2,1),
plot(ST);
title('模拟10000次第二天的收盘价');
subplot(1,2,2),
plot(ST_arrange);
title('第二天的收盘价按升序排列');

(3)
clc
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与实际值的比较')

20
东风雨的世界(真实交易用户) 学生认证  发表于 2015-3-28 21:50:31
fangbochao 发表于 2012-8-24 23:45
第三个程序是数值范围与分位数点不匹配,稍微改下就可以
你好,可以请问下怎么改吗?十分感谢

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-6 08:57