使用GARCH(1,1)预测波动率

时间:2014-04-19 04:06:12

标签: r

我一直在努力应对波动率预测。 在网上挖掘之后,我想出了一个准解决方案。但是,结果对我来说没有意义。 我想预测未来多天的波动性。我得到的sigma增加了n.ahead = 50的加班时间。我希望看到未来50天的波动性。但它不能总是增加。

说我想从今天+ 20天预测西格玛。 我该怎么做才能正确?任何提示将不胜感激。 也许我应该使用ugarchroll呢?

  library(quantmod)
    library(rugarch)

    data<-getSymbols("SPY", from="2000-01-01")
    dailyreturn<-dailyReturn(SPY$SPY.Adjusted)
    mydata<-dailyreturn[,1]

    model<-ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1)), mean.model = list(armaOrder = c(0, 0), include.mean = FALSE), distribution.model = "norm")


    modelfit<-ugarchfit(spec=model,data=mydata)
    data = mydata[1:3521, ,drop=FALSE]
    spec = getspec(modelfit)
    setfixed(spec) <- as.list(coef(modelfit))
    forecast = ugarchforecast(spec, n.ahead = 50, n.roll = 3520, data = mydata[1:3521, ,drop=FALSE], out.sample = 3520)

    sigma(forecast)
    plot(forecast)

非常感谢!

1 个答案:

答案 0 :(得分:0)

http://www.unstarched.net/2013/03/20/high-frequency-garch-the-multiplicative-component-garch-mcsgarch-model/#comment-266

在这个网站上,他使用了高频数据和mscGARCH模型。但也许这对你有用。