wolframalpha は、6 か月、1 年、2 年先の履歴パラメーターに基づいて対数正規ランダム ウォークを生成できます。
たとえば、GSPC インデックス: http://www.wolframalpha.com/input/?i=GSPC
Rでこれを行うにはどうすればよいか疑問に思っていましたが、いくつかのガイダンスがあれば幸いです。
library(quantmod)
getSymbols("^GSPC", from ="2000-01-01")
wolframalpha は、6 か月、1 年、2 年先の履歴パラメーターに基づいて対数正規ランダム ウォークを生成できます。
たとえば、GSPC インデックス: http://www.wolframalpha.com/input/?i=GSPC
Rでこれを行うにはどうすればよいか疑問に思っていましたが、いくつかのガイダンスがあれば幸いです。
library(quantmod)
getSymbols("^GSPC", from ="2000-01-01")
これを改善して、単純なマルコフ連鎖に従ってボラティリティを時間とともに変化させるにはどうすればよいでしょうか?
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