Skip to content
All library documents

Why Zero GARCH News Impact Does Not Mean Constant Volatility

Article Quant Q&A · Author: Masher

Summary

The document addresses whether an estimated zero or very small alpha in a GJR-GARCH model implies constant volatility. Its explanation uses the simpler GARCH(1,1) variance equation: even with alpha equal to zero, the beta term carries forward past conditional variance, so the variance can still change over time. Rewriting the equation for squared returns gives an ARMA-style representation, illustrating that past squared returns and shocks remain connected.

The question reports near-zero alpha estimates for stock index returns from more than one solver and software package. That repetition is consistent with an estimate near the parameter boundary, but the discussion does not diagnose the data, the GJR asymmetry parameter, or estimation settings. Its derivation is for standard GARCH(1,1), so it clarifies the central misconception without establishing whether any particular fitted model is well specified.

Key ideas

  • A zero alpha removes the direct contribution of the latest squared innovation to the variance update, but does not eliminate volatility dynamics.
  • The beta term can carry conditional variance forward through time.
  • Squared returns can be represented with ARMA-like dynamics under the stated GARCH setup.
  • Near-zero estimates alone do not establish that an individual model fit is correct.

Tags

Full text
# GJR-GARCH with $\alpha = 0$ as parameter estimate


# GJR-GARCH with $\alpha = 0$ as parameter estimate












I am estimating a GJR-GARCH(1,1) model with variance targeting in R. As data I am using returns on some stock indices. While calculating the GARCH models I obtain $\alpha=0$ for some indices. From what I understand this means that volatility is constant. The code I am using for GJR-GARCH estimation is as follows and is based on the `rugarch` package:

```
garch.spec <- ugarchspec(
    variance.model = list(model="gjrGARCH", 
                          garchOrder=c(1,1), 
                          variance.targeting=TRUE), 
    mean.model = list(armaOrder=c(0,0)))
garch.fit <- ugarchfit(
    spec=garch.spec, 
    data=data, 
    solver="nlminb", 
    solver.control=list(trace=0))
```

And an example of my results:

```
           mu        alpha1         beta1        gamma1         omega 
-0.0057893647  0.0000000000  0.8666747910  0.1641368776  0.0002181445
```

Could you please give some advice whether such results are plausible or should I be worried? Of course I can provide the data that causes problems. And obviously I am running univariate estimations so I am taking only one series of index returns at a time.

edit: using a different solver algorithm I was able to obtain different results, however, $\alpha$ still seems to be extremely low for this model.

```
      mu       alpha1        beta1       gamma1        omega 
3.432135e-04 8.508012e-08 8.607153e-01 2.113815e-01 1.727337e-05
```

What is the reasoning behind such low values of $\alpha$, since I am obtaining very similar results in R and in Matlab, so I doubt there is a mistake in the coefficient estimation.

## Answer by phdstudent (score 3)

https://quant.stackexchange.com/a/22500

$\alpha=0$ does not imply constant volatility. Consider just a simple Garch(1,1):

$$\sigma^2_t = \omega + \alpha \eta_t^2 + \beta \sigma^2_{t-1}$$

Note that:

$$\sigma^2_t = \omega + (\alpha + \beta) \eta_t^2 - \beta (\eta_t^2- \sigma^2_{t-1})$$

Now add $\eta_{t+1}^2$ to both sides:

$$\eta_{t+1}^2 = \omega + (\alpha + \beta) \eta_t^2 - \beta (\eta_t^2- \sigma^2_{t-1}) + (\eta_{t+1}^2 - \sigma^2_t).$$

So this is an ARMA(1,1) for $\eta_{t+1}^2$ with shocks: $\eta_{t+1}^2 - \sigma^2_t$.

So even if $\alpha=0$ volatility is not constant.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.