Я новый пользователь в R. Пожалуйста, помогите мне!Использование for-loop для модели DCC GARCH в R
У меня есть 1114 наблюдений с 8 активами. Например, я приспособил многомерную модель DCC-GARCH для первых 1000 точек данных, и я хочу сделать прогноз 1-вперед для последующих 3 периода, таких как
1) Data[1:1000,] In-sample data, forecast for Data[1001,]
2) Data[1:1001,] In-sample data, forecast for Data[1002,]
3) Data[1:1002,] In-sample data, forecast for Data[1003,]
Ниже мой воспроизводимый код: -
# load libraries
library(rugarch)
library(rmgarch)
library(FinTS)
library(tseries)
library (fPortfolio)
data(dji30retw)
for (i in 1:3) {
Dat.Initial = dji30retw[, 1:8, drop = FALSE]
Dat <- Dat.Initial[1:(1000+(i-1)), ]
#Fitting the data
uspec = ugarchspec(mean.model = list(armaOrder = c(0,0)), variance.model = list(garchOrder = c(1,1), model = "sGARCH"), distribution.model = "norm")
spec1 = dccspec(uspec = multispec(replicate(8, uspec)), dccOrder = c(1,1), distribution = "mvnorm")
fit1 <- list()
fit1[[i]] = dccfit(spec1, data = Dat, out.sample = 1, fit.control = list(eval.se=T))
#Out of sample forecasting
dcc.focast <- list()
dcc.focast[[i]]=dccforecast(fit1[[i]], n.ahead = 1, n.roll = 0)
print(dcc.focast[[i]])
}
Коды работают отлично. Теперь я могу получить значения dcc.focast. Но почему, если я выполню
dcc.focast[[1]]
NULL
это дает мне «NULL». Должен ли он выдавать тот же ответ, что и «print (dcc.focast [[i]]), как в цикле?
Проблема здесь, это только дает мне dcc.focast [[3]]. Остальные - «NULL». Какую ошибку я совершил? Кто-нибудь может помочь объяснить?