n.roll и n.ahead в пакете ругарх R
Я хочу спрогнозировать волатильность с помощью модели garch(1,1) для двух серий доходности AAPL и MSFT.
Сначала я получаю данные из Yahoo Finance с помощью getSymbols и рассчитываю прибыль по ln(P1)-ln(P0).
Затем я устанавливаю sgarch(1,1) с out.sample = 209.
Наконец, я использую ugarchforecast с n.roll и n.ahead равными 209.
Я хочу получить прогноз из 209 наблюдений, но чтобы каждая оценка прогнозировалась с прогнозированием на 1 шаг вперед с использованием каждого наблюдения в исходном наборе выборки. Более конкретно, я хочу, чтобы первое из 209 прогнозных наблюдений было прогнозируемым со всеми данными в выборке, затем второе прогнозируемое наблюдение было предсказано со всеми данными в выборке и первое фактическое наблюдение из набора исходящей выборки и т. Д.
getSymbols(c("AAPL", "MSFT"))
Apple <- Ad(AAPL)
Msft <- Ad(MSFT)
datos <- data.frame("AAPL" = Apple, "MSFT" = Msft)
retornos <- datos %>% map_df(~diff(log(.x)))
retornosts <- retornos %>% xts(order.by = index(AAPL)[-1])
modelos_garch <- c()
for (i in 1:ncol(retornosts)) {
x <- ugarchspec()
z <- ugarchfit(spec = x, data = retornosts[,i], solver = "hybrid", out.sample = 209)
modelos_garch <- append(modelos_garch, z)
}
pred1 <- ugarchforecast(modelos_garch[[1]], n.ahead = 209, n.roll = 209, out.sample = 209)
pred2 <- ugarchforecast(modelos_garch[[2]], n.ahead = 209, n.roll = 209, out.sample = 209)
Это так или я ошибаюсь?
Я очень признателен за вашу помощь, спасибо!