# How to deal with negative intercept terms on GJR-GARCH(1,1) model?

Recently, I have been studying the relationship between COVID-19 and stock returns using a GJR form of threshold ARCH model. However, I got some unusual estimation results I can't figure out whether they are fine or not. The model I have estimated is written below:

In the equation, D1 is 0 before the pandemic and 1 during the pandemic. I used the following command in STATA for obtaining the result:

arch djones covid19, arch(1/1) tarch(1/1) garch(1/1) het(covid19)


The estimation results of the above models show negative intercept terms, α in the volatility equation (-2.97). However, the estimated intercept is significant at 1%. Full results are shown below:

Furthermore, in the case of S&P500, the sum of alpha1 and beta1 also would be negative but significant.

However, when I remove the dummy term and focus on GARCH(1,1) model in the equation written above, the problem gets solved mostly. But I won't be able to study the impacts of COVID-19 on stock returns. I also checked AIC and BIC and found that still, the GJR-GARCH model has lower BIC than that of the standard GARCH model.

My question is how to deal with this type of problem? Can the negative intercept term still valid if it is significant? or

1. Do I ignore the intercept of the volatility equation?
2. Should I conduct two GARCH models separately: one for before the pandemic and another during the pandemic?

I would be thankful if you could provide some insights on it.

Thank you.

• Could you make an edit stating all of your parameter estimates from the GJR-GARCH model?
– Pleb
Jan 2 at 9:43
• Thank you, Pleb, I have added the details of the model estimation. I would be glad to get your feedback on how to proceed. Jan 2 at 17:23
• I'm not a STATA programmer, however, I've been looking at your code and there's something that I cannot really understand (in terms of your equations above). I've been following this documentation and my first question is, why there's no estimated constant term (_cons) in the ARCH description? The documentation depicts a constant term, (see pp. 8 - 9). Moreover, the het() enters the variables as multiplicative heteroskedasticity and thus you get $\exp(\alpha_0 + \gamma_1 \cdot \text{covid19})$ per your above code. [1/2]
– Pleb
Jan 2 at 19:04
• Lastly, the mean-equation in equation (2) follows an AR(1)-structure, however, the code arch djones covid19 is written in the documentation as $djones_t = \beta_0 + \beta_1 \cdot \text{covid19}_t$. I just want you to verify whether equation (2) and (3) are the exact same as the model you're estimating using the STATA code.
– Pleb
Jan 2 at 19:10

My answer is based on the fact that the above equations corresponds to the provided STATA code and output. Thus, I disregard my own questions in the comments below the post.

# Consider bounding your GJR-GARCH parameters:

You need to bound your parameters in order to ensure positivity (positive estimates) and covariance stationarity. I will disregard the mean-dynamics and focus on the GJR-GARCH type model.

Let us vaguely define the GJR-GARCH-X(1,1) model which is a simplified version of the model seen in equation (3) (the "X" implies that the model contains exogenous input(s), aka. $$\lambda D_1$$): \begin{align*} r_t \vert \mathcal{F}_{t-1} &= \mu + \varepsilon_t\\ \varepsilon_t &= \sigma_t \cdot z_t\\ \sigma^2_t &= \alpha_0 + \alpha_1 \varepsilon_{t-1}^2 + \beta \sigma_{t-1}^2 + \gamma I_{t-1} \varepsilon_{t-1}^2 + \lambda D_1, \end{align*} where $$z_t \overset{iid}{\sim} D(0,1)$$ (which in your case is the Gaussian distribution),

$$I_{t-1} =\begin{cases} 1 & \text{if } \varepsilon_{t-1} < 0 \\ 0 & \text{if } \varepsilon_{t-1} \geq 0 \end{cases}$$

and $$D_1$$ is an indicator function specifying the time of the covid pandemic (this is vaguely specified in your question).

When we have a negative intercept term, $$\alpha_0 <0$$, we need $$\alpha_1 + \beta + \gamma + \lambda > -\alpha_0$$ to ensure positivity, which in your scenario $$0.2489 + 0.8655 - 0.3069 + 1.875\not> 2.97$$ is clearly not satisfied. If we derive the unconditional variance of the GJR-GARCH-X type model:

$$\mathbb{V}ar(r_t) := \sigma^2 = \frac{\alpha_0 + \lambda \cdot \rho}{1 - (\alpha_1 + \beta + \gamma \kappa)}$$

where $$\rho = \mathbb{E}\left[D_1\right] = \text{"}\mathbb{P}(\text{pandemic})\text{"}$$ and $$\kappa = \mathbb{E}\left[I_{t-1} z_{t-1}^2\right] = \mathbb{P}(z_{t-1}<0)$$ (is 0.5 for symmetric distributions), then for both $$\kappa$$ and $$\rho \in [0,1]$$, your estimates yield negative values for the unconditional variance when $$\alpha_0 = -2.97$$ and $$\lambda = 1.875$$.

In conclusion your above estimates also violate the unconditional variance. Therefore you need to bound your parameters as is also detailed in one of my earlier answers found here. You need to let $$\alpha_0 + \lambda\cdot \rho > 0$$ and $$0<\alpha_1 + \beta + \gamma \kappa<1$$ in order to ensure covariance stationarity.

Further imposing $$\beta, \alpha_1, \alpha_0>0$$, $$\alpha_0 + \lambda > 0$$ and $$\alpha_1 + \gamma >0$$ allows $$\lambda$$ and $$\gamma$$ to become negative (ie. vary more freely). This is a broader statement than eg. imposing $$\alpha_1, \gamma > 0$$ and positivity constraints on both estimators in the numerator, $$\alpha_0, \lambda > 0$$, therefore giving your parameter estimates more leeway, which might help the with the model fit.

• Hi @Nirajkoirala, could you please provide some feedback on my answer? Was it able to solve your question?
– Pleb
Jan 5 at 8:22
• Hi @Pleb, thank you very much for your detailed answer to my problem. I appreciate you for spending time helping me. Yes, I am getting what you are saying. One thing I did to avoid the situation was to shorten the sample size and use Eviews instead of STATA. Interestingly, most of the problems associated with negative coefficients would go away. Do you know if Eviews and STATA use different algorithms? Jan 8 at 19:07
• @NirajKoirala I am glad that you found a solution. I have never worked with Eviews, but it might very well bound (some of) the parameters of your GARCH specification, thus giving you estimated parameters of positive sign. You can try and look at the Eviews documentation or the source code to check this. It could also be that your data contains noise or outliers that results in spurious estimated parameters. Try and recheck your data to ensure that it doesn't contain any improper observations.
– Pleb
Jan 8 at 19:34