В этом примере показано, как провести тест коэффициента правдоподобия, чтобы выбрать количество лагов в модели GARCH.
Загрузите данные по валютному курсу Deutschmark/British pound, включенные в тулбокс. Преобразуйте дневные ставки в возвраты.
load Data_MarkPound Y = Data; r = price2ret(Y); N = length(r); figure plot(r) xlim([0,N]) title('Mark-Pound Exchange Rate Returns')
Ежедневные возвраты показывают кластеризацию волатильности. Большие изменения в возвратах, как правило, кластеризуются вместе, а небольшие изменения, как правило, кластеризуются вместе. То есть серия проявляет условную гетероскедастичность.
Возвраты имеют относительно высокую частоту. Поэтому ежедневные изменения могут быть небольшими. Для численной устойчивости масштабируйте данные до процентных возвратов.
r = 100*r;
Создайте и подгоните модель GARCH (1,1) (со средним смещением) к ряду возвратов. Верните значение целевой функции логарифмической правдоподобности .
Mdl1 = garch('Offset',NaN,'GARCHLags',1,'ARCHLags',1); [EstMdl1,~,logL1] = estimate(Mdl1,r);
GARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 0.010761 0.001323 8.1342 4.1454e-16 GARCH{1} 0.80597 0.01656 48.669 0 ARCH{1} 0.15313 0.013974 10.959 6.0379e-28 Offset -0.0061904 0.0084336 -0.73402 0.46294
Создайте и подгоните модель GARCH (2,1) со средним смещением .
Mdl2 = garch(2,1); Mdl2.Offset = NaN; [EstMdl2,~,logL2] = estimate(Mdl2,r);
GARCH(2,1) Conditional Variance Model with Offset (Gaussian Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 0.011226 0.001538 7.2992 2.8947e-13 GARCH{1} 0.48964 0.11159 4.3878 1.1453e-05 GARCH{2} 0.29769 0.10218 2.9133 0.0035759 ARCH{1} 0.16842 0.016583 10.156 3.1157e-24 Offset -0.0049837 0.0084765 -0.58795 0.55657
Проведите тест коэффициента правдоподобия, чтобы сравнить ограниченную модель GARCH (1,1) в подгонку с неограниченной моделью GARCH (2,1) подгонки. Степень свободы для этого теста одна (количество ограничений ).
[h,p] = lratiotest(logL2,logL1,1)
h = logical
1
p = 0.0218
На уровне значимости 0,05 нулевая модель GARCH (1,1) отклоняется (h = 1
) в пользу неограниченной альтернативы GARCH (2,1 ).