GARCH estimation error: Lower bound constraints are active; standard errors may be inaccurate.
50 次查看(过去 30 天)
显示 更早的评论
In estimating the parameters of GARCH models with P or Q larger than 1, the garch(), estimate() functions give outputs I don't understand. An example of the way I used these functions below:
estmdl4 = garch('Constant', NaN,'GARCHLags',[1,2,13,14],'ARCHLags', [1]);
estmdl4 = estimate(estmdl4, Y_train);
In particular, the functions estimate a GARCH(1,1) instead and display the following error:
Warning: Lower bound constraints are active; standard errors may be inaccurate.
> In garch/estimate (line 758)
Somehow, taking first differences of my dataset Y_train solves the problem but I don't understand why.
If anyone could explain I would be eternally grateful.
Kind regards,
0 个评论
回答(1 个)
Karun Mathiazhagan
2019-5-30
Hello Beer,
The warning message suggests that the segments of the data to which the GARCH model is fit are getting stuck at suboptimal, local maxima.
There are three things to check if you are running to similar issues:
1. Make sure that the data itself is well-suited for GARCH analysis.
2. Try switching to a different solver. The FMINCON function uses one of four algorithms to do its job ('sqp', 'interior-point', 'active-set', 'trust-region-reflective'). You can set the solver algorithm by the following syntax:
model = garch(1,1);
ret = your_data;
opts = optimset('fmincon');
opts.Algorithm = 'interior-point';
% use this variable when calling the ESTIMATE function
fit = estimate(model, ret, 'options',opts);
For more information on the FMINCON function and its different options for the 'Algorithm' option, please refer to the following documentation:
3. Try manually setting the starting parameters (such as Constant0, GARCH0, and ARCH0) in the ESTIMATE command, using the values of "Constant", "GARCH", and "ARCH" obtained from the previous iteration. You can set the starting parameters by using the following syntax:
constant = obtained_from_previous_iteration;
g0 = obtained_from_previous_iteration;
a0 = obtained_from_previous_iteration;
fit = estimate(model, ret, 'options',opts,'Constant0',constant,'GARCH0',g0,'ARCH0',a0);
For more information about setting the starting parameters of the GARCH model estimation, please refer to the following documentation:
If the above suggestions do not resolve this issue, please contact the Technical Support Team while letting the team know that you have tried these steps already.
I hope this helps.
Best,
Karun
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Conditional Variance Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!