Przez jakiś czas zmagałem się z prognozowaniem zmienności. Po kopaniu w internecie wymyśliłem quasi rozwiązanie. Jednak wynik nie ma dla mnie sensu. Chcę prognozować zmienność kilku dni w przyszłości. Wartość sigma, którą otrzymałem, wzrasta w nadpodzie za n.ahead = 50. Chcę zobaczyć zmienność za 50 dni w przyszłości. Ale nie zawsze może wzrastać.Prognozowanie zmienności za pomocą GARCH (1,1)
Powiedz, że chcę prognozować sigmę z dzisiaj + 20 dni. Jak powinienem to zrobić poprawnie? Wszelkie wskazówki zostaną docenione. Może powinienem użyć zamiast tego 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)
Ogromne dzięki!