这个示例展示了如何指定一个GARCH、EGARCH和GJR模型,并使之适合于外汇汇率回报。比较AIC和BIC的拟合性。
加载工具箱中包含的汇率数据。将瑞士法郎的汇率换算成收益。
负载Data_FXRatesy = DataTable.CHF;r = price2ret (y);T =长度(r);logL = 0(1、3);% PreallocatenumParams = logL;% Preallocate图(r) xlim([0,T])“瑞士法郎汇率回报”)
回报率序列似乎显示出一些波动聚类。
指定,然后将GARCH(1,1)模型适合于返回序列。返回对数似然目标函数的值。
Mdl1 = garch (1,1);[EstMdl1, EstParamCov1 logL(1)] =估计(Mdl1, r);
GARCH(1,1)条件方差模型(高斯分布):值StandardError TStatistic PValue __________ _____________ __________ __________ Constant 1.6325e-06 4.3803e-07 3.727 0.00019376 GARCH{1} 0.91362 0.0068955 132.5 0 ARCH{1} 0.058566 0.0050049 11.702 1.2497e-31
numParams(1) =(任何(EstParamCov1))总和;%拟合参数个数
指定,然后将EGARCH(1,1)模型适合于返回序列。返回对数似然目标函数的值。
Mdl2 = egarch (1,1);[EstMdl2, EstParamCov2 logL(2)] =估计(Mdl2, r);
EGARCH(1,1)条件方差模型(高斯分布):值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) =(任何(EstParamCov2))之和;
指定,然后将GJR(1,1)模型适合于返回序列。返回对数似然目标函数的值。
Mdl3 = gjr (1,1);[EstMdl3, EstParamCov3 logL(3)] =估计(Mdl3, r);
GJR(1,1)条件方差模型(高斯分布):值StandardError TStatistic PValue __________ _____________ __________ __________ Constant 1.6543e-06 4.4107e-07 3.7506 0.00017638 GARCH{1} 0.91356 0.007004 130.43 0 ARCH{1} 0.05725 0.0067079 8.5347 1.4053e-17 Leverage{1} 0.0020101 0.0071432 0.28139 0.77841
numParams(3) =(任何(EstParamCov3))之和;
GJR模型中的杠杆项在统计上不显著。
计算GARCH、EGARCH和GJR模型拟合的AIC和BIC值。GARCH模型有三个参数;EGARCH模型和GJR模型各有四个参数。
(aic, bic) = aicbic (logL numParams T)
aic =1×3104× -3.3329 -3.3321 -3.3327
bic =1×3104× -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)模型是首选模型。