我通过以下代码生成了 1000 个模拟。
ar1 = 0.4857
ar2 = 0.0173
ma1 = -0.8054
r0 <- 0.002937432 #mean of margin.logrtn
e0 <- 0.002976873 #mean of fit.margin.logrtn$res
r.sims <- matrix(rep(0,1000*52),nrow=52, ncol=1000)
e.sims <- matrix( rnorm(52*1000, mean = 0.002976873, sd = 0.1056021), 52, 1000)
r.sims[1] <- ar1*r0 + e.sims[1] + ma1*e0
r.sims[2] <- ar1*r.sims[1] + ar2*r0 + e.sims[2] + ma1*e.sims[1]
for(j in 1:1000) {
for(i in 1:52) {
if (i == 1) {
r.sims[i,] <- r.sims[1]
} else {
if(i == 2) {
r.sims[i,] <- r.sims[2]
} else {
if(i > 2) {
r.sims[i,] <- r.sims[i-1,]*ar1 + r.sims[i-2,]*ar2 + e.sims[i,] + e.sims[i-1,]*ma1
}
}
}
}
}
我想在 R 中绘制模拟,我想为模拟创建每周日期并将所有 1000 个模拟绘制在同一张图上。我试图将数据导出到 excel 中并在那里创建日期,然后再次导入数据,但后来我意识到我将不得不创建 1000 个时间序列,这太多了……除非有更简单的方法可以做到这一点…… . 有人可以帮忙吗?
非常感谢!