# How to set constraints in Garch parameters estimation by using Stata

I am trying to implement three types of GARCH model, namely Garch(1,1), GJR Garch and EGARCH. However, I keep obtaining a persistence above one, while for the purpose of my assignment I need a persistence of below one. Is anyone able to explain how to set constraints when Stata is computing the parameters?

Precisely I need constraint on alpha+beta < 1 in case of Garch(1,1); similarly I need the same constraints for the other models.

• I'm voting to close this question as off-topic because it seems to be a request for code / a tutorial. You may do better to ask on Statalist. – gung - Reinstate Monica Feb 10 '15 at 17:45
• @gung It sounds rather like some advice about how to fit a model that meets the constraints might be in order. I am wnodering whether imposing constraints is even appropriate: perhaps the nature of this question is akin to looking for a transformation function for the response or a link function in a GLM variant. – whuber Feb 10 '15 at 19:58

Stata can set equality constraints, but you cannot set inequality constraints explicitly. Typically, implicit constraints can be set up by reparameterizing the model, e.g., the constraint that a variance is non-negative can be set by writing out the model in terms of sigma and then only using sigma^2 in the likelihood/GMM objective function/moments.
Also typically, if the free unconstrained estimates are significantly out of range, then the model is likely misspecified: you don't have the right regressors, you don't have enough lags, your error distribution is wrong, whatever. By squeezing the parameter range into the "proper" one, you are sweeping the misspecification problem under the carpet, and only make things worse. I am however stressing "significantly", as you could sort of proceed like this: (1) estimate the model with free parameters, (2) lincom or nlcom that they are on the boundary (=1 if that makes economic sense); (3) restrict the parameters by using the standard linear constraint command constraint and re-estimating the model. That is still a marginal procedure as it loses the control over type I error and introduces strange mixtures of distributions; see literature on pre-test estimators.
Remember that when estimating ARCH/GARCH models we let the parameters vary freely but when discussing theoretical properties of the models we need to restrict the parameters to get finite moments etc. i.e. $\alpha+\beta<1$, $\sigma^{2}>0$ where $\sigma^{2}$ is the constant in the ARCH/GARCH equation. This means that you generally you do not restrict these. I am guessing your problem is that you are estimating the model on a non-stationary series, in the $I\left(1\right)$ sense. Its a good idea to post your data and/or output.