Спецификация модели GARCH в R и Matlab

Я хочу сделать GARCH-моделирование в R, и для этого мне нужно перевести код Matlab в R. Я пробовал разные пакеты, например. ругарх. Однако я не мог найти правильную спецификацию в 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?


person stats_guy    schedule 17.07.2015    source источник
comment
просто чтобы быть уверенным, вы хотите оценить модель garch (1,1) с фиксированными (в данном случае всеми) параметрами? Пакет fGarch имеет точно такой же синтаксис, но я не думаю, что вы можете исправлять такие значения параметров.   -  person J.R.    schedule 17.07.2015
comment
На самом деле, я не знаю, какая именно модель оценивается. Мне нужно перевести его на R, но я просто не знаком с Matlab. Итак, я не мог понять порядок модели до сих пор.   -  person stats_guy    schedule 17.07.2015


Ответы (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: извлекает коэффициенты.
fitted: извлекает отфильтрованные значения.
infocriteria: вычисляет и возвращает различные информационные критерии.< br> вероятность: извлекает вероятность.
остатки: извлекает остатки. Необязательный логический аргумент стандартизировать (по умолчанию FALSE) позволяет извлечь стандартизированные остатки.

Более подробную информацию можно найти в руководстве по пакету rugarch.

person stats_guy    schedule 04.08.2015