Спецификация модели GARCH в R и Matlab
Я хочу сделать GARCH моделирование в R, и для этого мне нужно перевести код Matlab в R. Я пробовал разные пакеты, например, rugarch. Однако я не смог найти правильную спецификацию в R, которая эквивалентна спецификации в Matlab.
Код Matlab выглядит следующим образом:
spec = garchset('C',0,'K',0.0001,'GARCH',0.9,'ARCH',0.05,'Display','off');
[Ca,Ea,LLa,A,Sa,Suma] = garchfit(spec,data);
Может кто-нибудь сказать мне, как поместить это в R?
1 ответ
Две строки кода Matlab, указанные в вопросе, могут быть переведены в R с помощью пакета rugarch. Во-первых, средняя модель настроена так, чтобы не иметь ни AR, ни MA-части, поэтому она просто является константой. Во-вторых, модель отклонения является стандартным GARCH (sGARCH) и имеет один компонент GARCH и один компонент ARCH. Поскольку в предоставленном коде Matlab все параметры являются фиксированными, необходимо включить fixed.pars
команда. Вот, mu
, alpha1
, beta1
а также omega
являются значениями безусловного среднего значения параметра ARCH, параметра GARCH и точки пересечения дисперсионной модели соответственно.
install.packages("rugarch")
require(rugarch)
spec <- ugarchspec(mean.model=list(armaOrder=c(0,0)),
variance.model=list(model = "sGARCH", garchOrder = c(1,1)),
fixed.pars=list(mu = 0, alpha1=0.05, beta1 = 0.9, omega = 0.0001))
garch_fit <- ugarchfilter(spec = spec, data = data)
Информация, содержащаяся в [Ca,Ea,LLa,A,Sa,Suma]
затем можно найти, применяя следующие функции к garch_fit
например, residuals(garch_fit, standardize = FALSE)
извлекает нестандартные остатки.
coef: извлекает коэффициенты.
установлены: извлекает отфильтрованные значения.
infocriteria: вычисляет и возвращает различные информационные критерии.
вероятность: извлекает вероятность.
остатки: извлекает остатки. Необязательный логический аргумент standardize (по умолчанию FALSE) позволяет извлечь стандартизированные остатки
Более подробную информацию можно найти в руководстве к пакету rugarch.