2014-04-19 12 views
5

Ich habe seit einiger Zeit mit der Volatilität Prognose gekämpft. Nach dem Graben im Internet, habe ich eine Quasi-Lösung gefunden. Das Ergebnis ergibt für mich keinen Sinn. Ich möchte in Zukunft mehrere Tage Volatilität prognostizieren. Das Sigma, das ich bekommen habe, erhöht die Überstunden für n.ahead = 50. Ich möchte die Volatilität in 50 Tagen in der Zukunft sehen. Aber es kann nicht immer zunehmen.Vorhersage der Volatilität mit GARCH (1,1)

Sagen Sie, ich möchte Sigma von heute + 20 Tage prognostizieren. Wie soll ich das richtig machen? Irgendwelche Tipps werden geschätzt. Vielleicht sollte ich stattdessen ugarchroll verwenden?

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) 

Huge Dank!

Antwort