楼主: yuan9913_cn
24226 43

[问答] 请教:R程序下怎样用蒙特卡洛模拟股市大盘指数,望高人指教 [推广有奖]

21
yuan9913_cn 发表于 2011-12-16 22:58:55
怎么显示那个矩阵啊,怎么设定if语句,epoh老师能否举例说明啊,epoh老师太强大了

22
yuan9913_cn 发表于 2011-12-16 23:02:21
我会显示那个矩阵了,我都蒙了,呵呵
麻烦epoh老师结合我的假设条件举个if语句设定的例子吧
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
epoh + 1 + 1 + 1 R初学者,研讨精神赞一个.

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

23
epoh 发表于 2011-12-16 23:09:48
yuan9913_cn 发表于 2011-12-16 23:02
我会显示那个矩阵了,我都蒙了,呵呵
麻烦epoh老师结合我的假设条件举个if语句设定的例子吧
你现在要做的
就是请你把所有的限制条件
通通清楚的列出来
我明日看看复杂度再说

另外我是用股票价格S0=50
麻烦你告知你的大盘指数要用多少

24
yuan9913_cn 发表于 2011-12-16 23:20:24
好的,谢谢epoh老师,epoh老师烦死我了吧,这么多问题,我给您发站内消息吧,您懂的

25
epoh 发表于 2011-12-16 23:24:30
yuan9913_cn 发表于 2011-12-16 23:20
好的,谢谢epoh老师,epoh老师烦死我了吧,这么多问题,我给您发站内消息吧,您懂的
哈哈!懂得懂得
给你的程序会设pw

26
yuan9913_cn 发表于 2011-12-16 23:29:39
epoh老师,我给您发了站内消息,不知您收到没有,麻烦您了,您真是太强大了,什么都hold住

27
epoh 发表于 2011-12-17 09:53:42
yuan9913_cn 发表于 2011-12-16 23:29
epoh老师,我给您发了站内消息,不知您收到没有,麻烦您了,您真是太强大了,什么都hold住
为配合涨跌幅,程序修改
  sigma=0.45
  rnorm(1,0,1.28)
count1 代表涨幅超过上限有1次,
       发生在 i=1,j=178(也就是修正j=179)

count2 代表跌幅超过下限有18次,
       发生在 i=1,j=181,j=192,j=237
              i=2,j=121,j=246
              i=3,j=12,j=53,j=212
              i=5,j=111,j=223
              i=6,j=64,j=205
              i=7,j=145
              i=8,j=106
              i=9,j=91
              i=10,j=55,j=63,j=80
       i 代表NReps
       j 代表NSteps
SPaths matrix存在文件SPaths.csv

simulation_Rcode(need pw)
    simulation_Rcode.rar (15.95 KB)
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
spssb + 5 + 2 + 2 + 2 精彩帖子

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

28
zhangtao 发表于 2011-12-17 10:10:37
epoh 发表于 2011-12-16 19:06
含模拟路径R_code
AssetPath.R
epoh老师,您好!
程序其他地方我基本能看懂,就是根据brown motion 进行模拟,
下面这部分双循环主要的思想和作用是什么?
for (i in 1:NReps){
+   for (j in 1:NSteps){
+     SPaths[i,j+1] = SPaths[i,j]*exp(nudt + sidt*rnorm(1))
+   }
+   if(i == 1) plot(x,SPaths[i,],"l", ylim=c(30,80),col =sample(colno,1))
+   if (i != 1) lines(x,SPaths[i,],ylim=c(30,80),col =sample(colno,1))
+   
+  }
数学好就是要天天学

29
epoh 发表于 2011-12-17 16:00:45
zhangtao 发表于 2011-12-17 10:10
epoh老师,您好!
程序其他地方我基本能看懂,就是根据brown motion 进行模拟,
下面这部分双循环主要的 ...
for (i in 1:NReps)
  代表模拟次数我先设为10,方便理解
for (j in 1:NSteps)
  代表模拟天数,我设为1年252天(T=1,NSteps=252)
SPaths[i,j+1] = SPaths[i,j]*exp(nudt + sidt*rnorm(1))
  这是stock price 模拟公式
if(i == 1) plot(x,SPaths[i,],"l", ylim=c(30,80),col =sample(colno,1))
  先画出第1条模拟路径
if (i != 1) lines(x,SPaths[i,],ylim=c(30,80),col =sample(colno,1))
  添加上第2,3,...NReps条模拟路径

30
yuan9913_cn 发表于 2011-12-17 17:32:11
epoh老师,那个程序能运行,就是最后要写出“SPaths.csv”文件时,软件提示不能更改“col names”,这是咋回事啊

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 01:41