This example shows how to compare two competing, conditional variance models using a likelihood ratio test.
Load the Deutschmark/British pound foreign exchange rate data included with the toolbox, and convert it to returns. Specify a GARCH(1,1) model with a mean offset to estimate.
load Data_MarkPound r = price2ret(Data); T = length(r); Mdl = garch('Offset',NaN,'GARCHLags',1,'ARCHLags',1);
Fit the specified GARCH(1,1) model to the returns series using estimate
. Return the value of the loglikelihood objective function.
[EstMdl,~,logL] = estimate(Mdl,r);
GARCH(1,1) Conditional Variance Model with Offset (Gaussian Distribution): Value StandardError TStatistic PValue ___________ _____________ __________ __________ Constant 1.0757e-06 3.5725e-07 3.0112 0.0026025 GARCH{1} 0.80606 0.013274 60.726 0 ARCH{1} 0.15311 0.011531 13.278 3.1259e-40 Offset -6.1315e-05 8.2867e-05 -0.73992 0.45935
The estimation output shows the four estimated parameters and corresponding standard errors. The t statistic for the mean offset is not greater than two in magnitude, suggesting this parameter is not statistically significant.
Specify a second model without a mean offset, and fit it to the returns series.
Mdl2 = garch(1,1); [EstMdl2,~,logL2] = estimate(Mdl2,r);
GARCH(1,1) Conditional Variance Model (Gaussian Distribution): Value StandardError TStatistic PValue __________ _____________ __________ __________ Constant 1.0538e-06 3.5053e-07 3.0063 0.0026443 GARCH{1} 0.80653 0.012913 62.458 0 ARCH{1} 0.15439 0.011578 13.335 1.4463e-40
All the t statistics for the new fitted model are greater than two in magnitude.
Compare the fitted models EstMdl
and EstMdl2
using the likelihood ratio test. The number of restrictions for the test is one (only the mean offset was excluded in the second model).
[h,p] = lratiotest(logL,logL2,1)
h = logical
0
p = 0.4534
The null hypothesis of the restricted model is not rejected in favor of the larger model (h = 0
). The model without a mean offset is the more parsimonious choice.
Infer and plot the conditional variances and standardized innovations for the fitted model without a mean offset (EstMdl2
).
v = infer(EstMdl2,r); inn = r./sqrt(v); figure subplot(2,1,1) plot(v) xlim([0,T]) title('Conditional Variances') subplot(2,1,2) plot(inn) xlim([0,T]) title('Standardized Innovations')
The inferred conditional variances show the periods of high volatility.
estimate
| infer
| lratiotest