Спецификация модели 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.

Другие вопросы по тегам