Извлеките остатки функции dccroll в пакете rmgarch в R

#r #error-handling #time-series

Вопрос:

У меня есть набор данных, содержащий доходность 6 активов. Я хочу спрогнозировать матрицу условной ковариации на период вне выборки. Я использую пакет rmgarch и предполагаю, что для многоуровневого t-дистрибутива. Коды я пишу следующим образом:

 adcc.garch11.spec_ = ugarchspec(mean.model = list(armaOrder = c(1,1)),  variance.model = list(garchOrder = c(1,1),  model = "eGARCH"),  distribution.model = "std", fixed.pars = c("gamma1"))  # dcc specification - GARCH(1,1) for conditional correlations adcc.garch11.spec = dccspec(uspec = multispec(replicate(6, adcc.garch11.spec)),   dccOrder = c(1,1), distribution = "mvt",model = "aDCC")   adcc.roll = dccroll(adcc.garch11.spec, data = dataset.xts[-1, c("ret_1","ret_2","ret_3","ret_4","ret_5","ret_6")],n.ahead = 1,  forecast.length = 1200, refit.every = 20, refit.window = "moving", window.size = 2806, solver = "solnp", solver.control = list(), save.fit = FALSE, save.wdir = NULL, trace=TRUE)  

Стоит отметить, что я сделал то же самое для модели dcc и go-garch (для модели go-garch я использовал gogarchroll функцию). Итак, я хочу использовать тест Диболда-Мариано (в multDM пакете) для сравнения прогностической способности трех моделей. Мне нужны ошибки каждой модели, но, когда я использовал этот код для извлечения остатков:

 df.residual(adcc.roll)  

Я получаю сообщение об ошибке:

 Error: $ operator not defined for this S4 class  

Кто-нибудь знает, как получить эти остатки?

Большое вам спасибо за помощь!!!