I am attempting to make a GARCH(1, 2) model in MATLAB for simple comparison to a GARCH(1, 1), GARCH(2, 2), etc.
When I run the code below, it spits out a GARCH(1, 1) model rather than a GARCH(1, 2) model. Is a GARCH(1, 2) model not possible?
model = garch(1, 2); % (GARCH, ARCH)
[estMdl,EstParamCov1,logL] = estimate(model, logReturns);
condVar = infer(estMdl, logReturns);
Printout:
GARCH(1,1) Conditional Variance Model:
----------------------------------------
Conditional Probability Distribution: Gaussian
Standard t
Parameter Value Error Statistic
----------- ----------- ------------ -----------
Constant 1.17529e-06 4.7734e-07 2.46217
GARCH{1} 0.704782 0.0317644 22.1878
ARCH{1} 0.188829 0.0268778 7.02546
The optimizer that performs the model fit removes terms that are (considered to be) identically zero. There's a comment in the code to this effect: