楼主: fangbochao
15088 30

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

  • 0关注
  • 2粉丝

硕士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
1599 个
通用积分
0.1800
学术水平
8 点
热心指数
7 点
信用等级
6 点
经验
1838 点
帖子
99
精华
0
在线时间
226 小时
注册时间
2010-12-1
最后登录
2019-11-4

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
VAR蒙特卡洛模拟.docx (12.51 KB, 需要: 2 个论坛币)

montoclare仿真.txt (1.74 KB, 需要: 2 个论坛币)

      编写的三个关于股市指数var的程序,看看能不能对大家有帮助。两个文件里的程序是一样的,按错了所以就一起上传,只要下载一个就可以了。



matlab蒙特卡洛伊源代码 展示



  1. x=shenshi;
  2. y=hushi;
  3. a=mean(x);
  4. b=mean(y)
  5. s1=std(x)
  6. s2=std(y)
  7. day_num=20;
  8. sData=zeros(1,day_num);
  9. sData(1)=5503.93;
  10. rad=normrnd(0,1,1,day_num);
  11. for ii=1:19;
  12. sData(ii+1)=sData(ii)*exp(-0.00084828+0.0003497*rad(ii))
  13. end

  14. (2)
  15. clc
  16. clear
  17. num=200;
  18. hushiprice1=hushiprice(1:200);
  19. L_hushiprice1=length(hushiprice1);
  20. Tcut=24;
  21. sData=zeros(1,Tcut+1);
  22. sData(1)=hushiprice1(end);
  23. Mnum=10000;
  24. for ii=1:num-1;
  25. VarS(ii)=(hushiprice1(ii)-hushiprice1(end))^2;
  26. end
  27. VarSS=(sum(VarS)/(num-1))^0.5;
  28. clear VarS

  29. for kk=1:Mnum
  30. rad=normrnd(0,1,1,Tcut);
  31. for jj=1:Tcut
  32. sData(jj+1)=sData(jj)+rad(jj)*VarSS/Tcut;
  33. end
  34. ST(kk)=sData(end);
  35. end
  36. ST_arrange=sort(ST);
  37. ST_50=ST_arrange(Mnum*0.95+1);
  38. VaR=sData(1)-ST_50;

  39. figure
  40. subplot(1,2,1),
  41. plot(ST);
  42. title('模拟10000次第二天的收盘价');
  43. subplot(1,2,2),
  44. plot(ST_arrange);
  45. title('第二天的收盘价按升序排列');

  46. (3)
  47. clc
  48. hushiprice;
  49. num=200;
  50. Tcut=24;
  51. Mnum=10000;
  52. DayNum=920;
  53. for mm=1:DayNum;
  54. mm
  55. VaR_Real(mm)=hushiprice(mm+num)-hushiprice(mm+num-1);
  56. hushiprice1=hushiprice(mm:mm+num-1);
  57. L_hushiprice1=Length(hushiprice1);
  58. sData=zeros(1,Tcut+1);
  59. sData(1)=hushiprice1(end);

  60. for ii=1:num-1;
  61.   VarS(ii)=(hushiprice1(ii)-hushiprice1(end))^2;
  62. end

  63. VarSS=(sum(VarS)/(num-1))^0.5;
  64. clear VarS


  65. for kk=1:Mnum
  66.   rad=normrnd(0,1,1,Tcut);
  67.   for jj=1:Tcut
  68. sData(jj+1)=sData(jj)+rad(jj)*VarSS/Tcut;
  69.   end

  70. ST(kk)=sData(end);
  71. end

  72. ST_arrange=sort(ST);
  73. ST_50=ST_arrange(Mnum*0.95+1);
  74. VaR(mm)=sData(1)-ST_50;
  75. clear ST ST_arrange ST_50
  76. end
  77. figure

  78. subplot(1,2,1),
  79. plot(VaR);
  80. title('从2008.11.11开始920天的VaR');
  81. subplot(1,2,2),
  82. plot(VaR_Real);
  83. title('从2008.11.11开始920天的实际VaR');

  84. x=1:920;
  85. plot(x,VaR,x,VaR_Real);
  86. title('从2008.11.11到2012.08.20这920天的VaR与实际值的比较')
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:蒙特卡洛模拟 MATLAB matla atlab 蒙特卡洛 程序 蒙特卡洛 matlab 模拟

已有 3 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
niuniuyiwan + 60 + 60 + 5 + 5 + 5 精彩帖子
shanshantz + 20 + 2 精彩帖子
我的素质低 + 20 + 40 + 1 + 2 + 1 精彩帖子

总评分: 经验 + 100  论坛币 + 100  学术水平 + 8  热心指数 + 7  信用等级 + 6   查看全部评分

本帖被以下文库推荐

沙发
suoyuanyuan 发表于 2012-8-24 22:40:13 |只看作者 |坛友微信交流群
看看~

使用道具

藤椅
gp03dsz 发表于 2012-8-24 22:42:19 |只看作者 |坛友微信交流群
牛,学习一下

使用道具

板凳
fangbochao 发表于 2012-8-24 22:43:17 |只看作者 |坛友微信交流群
suoyuanyuan 发表于 2012-8-24 22:40
看看~
前面两个程序运行良好,第三个程序输出的结果不理想。

使用道具

报纸
suoyuanyuan 发表于 2012-8-24 22:47:55 |只看作者 |坛友微信交流群
fangbochao 发表于 2012-8-24 22:43
前面两个程序运行良好,第三个程序输出的结果不理想。
刚下下来,呵呵,多谢多谢~~

使用道具

地板
aibieli731001 发表于 2012-8-24 23:32:03 |只看作者 |坛友微信交流群
有时间一定要学习学习的。

使用道具

7
fangbochao 发表于 2012-8-24 23:45:55 |只看作者 |坛友微信交流群
第三个程序是数值范围与分位数点不匹配,稍微改下就可以

使用道具

8
URSIMON 发表于 2012-8-24 23:45:56 |只看作者 |坛友微信交流群
I think it should be 'monte carlo',what is 'montoclare'?

使用道具

9
fangbochao 发表于 2012-8-24 23:52:50 |只看作者 |坛友微信交流群
URSIMON 发表于 2012-8-24 23:45
I think it should be 'monte carlo',what is 'montoclare'?
拼写错误,对不起啊

使用道具

10
paige1137 发表于 2012-12-6 10:42:58 |只看作者 |坛友微信交流群
急需这方面的资料,谢了~~~

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-21 09:00