Предположим, что у меня есть следующий цикл «для». В частности, этот код, который я построил, сначала вычисляет AIC для ARCH (1) моделей всех указанных ароматов и, во-вторых, вычисляет AIC для моделей GARCH (1,1) указанных ароматов.Добавление аромата EGARCH в петлю над моделями вкуса fGARCH
library(rugarch)
bchain_2012_logreturns=diff(log(prices))
aic_2012=matrix(NA,14,1)
garch_flavor=c("GARCH","AVGARCH","TGARCH","GJRGARCH","NGARCH","NAGARCH","APARCH")
k=1
for (i in 0:1){
for (j in garch_flavor){
model_2012=ugarchspec(variance.model = list(model="fGARCH", submodel = j, garchOrder = c(1, i)),mean.model = list(armaOrder = c(0, 0)))
modelfit_2012=ugarchfit(spec=model_2012, data=bchain_2012_logreturns, solver="hybrid")
aic_2012[k,]=infocriteria(modelfit_2012)[1]
k=k+1
}
}
Как указано в "rugarch" пакета виньетка на R CRAN (ссылка: https://cran.r-project.org/web/packages/rugarch/vignette/Introduction_to_the_rugarch_package.pdf), модель аромата "EGARCH" НЕ входит среди семейства GARCH (т.е. "fGARCH") подмоделями. Нужна команда, чтобы оценить модель EGARCH с пакетом «rugarch» заключается в следующем:
model_2012=ugarchspec(variance.model = list(model="eGARCH",garchOrder = c(1, 1)),mean.model = list(armaOrder = c(0, 0)))
modelfit_2012=ugarchfit(spec=model_2012, data=bchain_2012_logreturns, solver="hybrid")
Что мне нужно сделать ОДНОВРЕМЕННО заключается в следующем:
1) интегрировать последнюю команду для оценки EGARCH в петлю так что у меня есть только одна команда для вычисления AIC всех моделей 8 GARCH.
2) Установите «единый» цикл, чтобы перебирать только по eGARCH порядка (1,1).
Я новичок в программировании R, и для меня это нетривиальная проблема.
Заранее спасибо.
Да, я пытался обойти, если заявление. Но мне было слишком сложно структурировать такую команду. Так что спасибо тебе. В любом случае, запустив код, я наткнулся на это сообщение об ошибке «object x not found». – msmna93
Вы по-прежнему сталкиваетесь с ошибкой, если бы вы могли попробовать 'traceback()' и указать вывод – OdeToMyFiddle
Извините, но мой CTRL + K для форматирования мини-уценки не работает. Это сообщение об ошибке я получаю: + еще { Ошибка: неожиданный 'еще' в: " еще" > > model_2012_0 = ugarchspec (variance.model = лист (модель = "fGARCH" подмодели = х, garchOrder = c (1, 0)), mean.model = list (armaOrder = c (0, 0))) Ошибка в ugarchspec (variance.model = list (model = "fGARCH", subodel = x,: объект " х»не найдено – msmna93