#r #time-series
#r #временные ряды
Вопрос:
Я работаю над личным проектом в R с целью подгонки некоторых моделей GARCH к доходности, которые затем используются для оценки некоторых показателей риска для одномерных финансовых временных рядов. Чтобы соответствовать одномерным моделям GARCH, я использую пакет ‘rugarch’.
Теперь я настроил модель gjrGarch с garchOrder=c(3,3)
помощью и armaOrder=c(3,3)
в ugarchspec, а затем с помощью ugarchfit я установил модель. Однако, когда дело доходит до получения прогнозируемых значений mu и sigma с ugarchforecast
помощью, я получаю следующую ошибку:
ugarchfilter-->error: parameters names do not match specification
Expected Parameters are: mu ar1 ar2 ar3 ma1 ma2 ma3 omega alpha1 alpha2 alpha3 beta1 beta2 beta3 gamma1 gamma2 gamma3
Error: Exiting
Кто-нибудь знает, что это значит и как это решить?
Это код, который я написал:
for (i in 1:length(df_data_wd_15$Return))
{
model=ugarchspec(variance.model=list(model='gjrGARCH', garchOrder=c(3,3)), mean.model=list(armaOrder=c(3,3), include.mean=TRUE), distribution.model='norm')
modelfit=ugarchfit(spec=model, data=df_data_wd_15$Return[i:(i 199)])
foref<-ugarchforecast(modelfit, n.ahead=2)
mu_for[i]<-foref@forecast$seriesFor[1]
sigma_for[i]<-foref@forecast$sigmaFor[1]
}
Спасибо
Ответ №1:
A) К сожалению, я могу только помочь вам понять, что означает ошибка.
Как указано в сообщениях об ошибках, modelfit
не содержит ожидаемых параметров, так что прогноз не может быть вычислен. Это может быть случай, когда решатель modelfit
не смог найти решение и подобрать коэффициенты.
Вы можете проверить, так ли это, напечатав modelfit
и проверив, выглядит ли он пустым. Вы также можете перепроверить, действительно ли это проблема, введя traceback()
в свою командную строку, которая покажет вам, в какой строке произошла ошибка.
Б) Как решить проблему или почему решатель не смог найти решение, я не знаю. Я предлагаю вам (i) взглянуть на спецификации, чтобы увидеть, есть ли там какие-то разногласия, или (ii) поиграть с параметрами solver
и solver.control
(см. Документацию ugarchfit
), например, разрешить многократные перезапуски.