В этом примере показано, как определить и подогнать модель GARCH, EGARCH и GJR к доходности по валютному курсу. Сравните посадки с использованием AIC и BIC.
Загрузите данные валютного курса, включенные в набор инструментов. Конвертация курса швейцарского франка в доходность.
load Data_FXRates y = DataTable.CHF; r = price2ret(y); T = length(r); logL = zeros(1,3); % Preallocate numParams = logL; % Preallocate figure plot(r) xlim([0,T]) title('Swiss Franc Exchange Rate Returns')

Серия возвратов, по-видимому, демонстрирует некоторую кластеризацию волатильности.
Укажите, а затем поместите модель GARCH (1,1) в ряд возвращений. Верните значение целевой функции loglikeability .
Mdl1 = garch(1,1); [EstMdl1,EstParamCov1,logL(1)] = estimate(Mdl1,r);
GARCH(1,1) Conditional Variance Model (Gaussian Distribution):
Value StandardError TStatistic PValue
__________ _____________ __________ __________
Constant 1.6295e-06 4.3755e-07 3.7242 0.00019591
GARCH{1} 0.91373 0.0068849 132.71 0
ARCH{1} 0.058514 0.0050005 11.702 1.2482e-31
numParams(1) = sum(any(EstParamCov1)); % Number of fitted parametersУкажите, а затем поместите модель EGARCH (1,1) в ряд возвращений. Верните значение целевой функции loglikeability .
Mdl2 = egarch(1,1); [EstMdl2,EstParamCov2,logL(2)] = estimate(Mdl2,r);
EGARCH(1,1) Conditional Variance Model (Gaussian Distribution):
Value StandardError TStatistic PValue
_________ _____________ __________ __________
Constant -0.29251 0.045942 -6.3669 1.9294e-10
GARCH{1} 0.96976 0.0046786 207.27 0
ARCH{1} 0.12292 0.012052 10.199 2.0113e-24
Leverage{1} -0.013229 0.0049498 -2.6726 0.0075267
numParams(2) = sum(any(EstParamCov2));
Укажите, а затем поместите модель GJR (1,1) в ряд возвращений. Верните значение целевой функции loglikeability .
Mdl3 = gjr(1,1); [EstMdl3,EstParamCov3,logL(3)] = estimate(Mdl3,r);
GJR(1,1) Conditional Variance Model (Gaussian Distribution):
Value StandardError TStatistic PValue
__________ _____________ __________ __________
Constant 1.7103e-06 4.5113e-07 3.7912 0.00014993
GARCH{1} 0.91135 0.0072292 126.06 0
ARCH{1} 0.058905 0.0068695 8.5748 9.9219e-18
Leverage{1} 0.0013398 0.0072836 0.18395 0.85406
numParams(3) = sum(any(EstParamCov3));
Термин плеча в модели GJR не является статистически значимым.
Вычислите значения AIC и BIC для моделей GARCH, EGARCH и GJR. Модель GARCH имеет три параметра: Модели EGARCH и GJR имеют по четыре параметра.
[aic,bic] = aicbic(logL,numParams,T)
aic = 1×3
104 ×
-3.3329 -3.3321 -3.3327
bic = 1×3
104 ×
-3.3309 -3.3295 -3.3301
Модели GARCH (1,1) и EGARCH (1,1) не вложены, поэтому их нельзя сравнить, проведя тест отношения правдоподобия. GARCH (1,1) вложен в модель GJR (1,1), поэтому для сравнения этих моделей можно использовать тест отношения правдоподобия.
С использованием AIC и BIC модель GARCH (1,1) имеет несколько меньшие (более отрицательные) значения AIC и BIC. Таким образом, модель GARCH (1,1) является предпочтительной моделью в соответствии с этими критериями.