生成对数正态随机游走

时间:2013-01-08 19:33:44

标签: r

WolframAlpha的 可以根据历史参数生成对数正态随机游走 提前6​​个月,1年,2年

例如GSPC指数: http://www.wolframalpha.com/input/?i=GSPC

我想知道如何在R中做到这一点,我会很乐意获得一些指导。

library(quantmod)
getSymbols("^GSPC", from ="2000-01-01")

1 个答案:

答案 0 :(得分:2)

如何改进这一点以允许  根据简单的马尔可夫链,波动性会随时间而变化吗?

library(ggplot2)
library(quantmod)
getSymbols("^GSPC", from ="2000-01-01")

oldata <-GSPC[,6]
oldata <-na.omit(oldata)

lastprice <-tail(olddata,1)
oldsteps <- tail(diff(log(oldata)),-1)
head(oldsteps)
n_days =100
percent <- exp(cumsum(rnorm(n_days,mean(oldsteps), apply(oldsteps, 2, sd))))
path2 <- exp(cumsum(rnorm(n_days,mean(oldsteps), apply(oldsteps, 2, sd))))
path3 <- exp(cumsum(rnorm(n_days,mean(oldsteps), apply(oldsteps, 2, sd))))

paths <- data.frame(T=c(1:100),path1,path2,path3 )

plot1 <- ggplot(data=paths, aes(x=T,y=percent )) + geom_line()
plot1 <- plot1+ geom_line(aes(x=T,y=path2))+  geom_line(aes(x=T,y=path3))
plot1 <- plot1+ ggtitle("pathways")
plot1