我试图在MATLAB中创建一个GARCH(1,2)模型,以便与GARCH(1,1),GARCH(2,2)等进行简单比较。
当我运行下面的代码时,它会吐出GARCH(1,1)模型而不是GARCH(1,2)模型。 GARCH(1,2)模型不可能吗?
model = garch(1, 2); % (GARCH, ARCH)
[estMdl,EstParamCov1,logL] = estimate(model, logReturns);
condVar = infer(estMdl, logReturns);
打印输出:
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
答案 0 :(得分:1)
执行模型拟合的优化器会删除(被认为)相同为零的项。代码中有这样的评论:
% o The coefficients GARCH and ARCH are each associated with an
% underlying lag operator polynomial and subject to a near-zero
% tolerance exclusion test. That is, each coefficient is compared to
% the default zero tolerance 1e-12, and is included in the model only
% if the magnitude is greater than 1e-12; if the coefficient magnitude
% is less than or equal to 1e-12, then it is sufficiently close to zero
% and excluded from the model. See LagOp for additional details.