Skip to content
All library documents

Why GARCH Innovations Are Standardized to Zero Mean and Unit Variance

Article Quant Q&A · Author: Stat Tistician

Summary

In a GARCH model, returns are represented as conditional volatility multiplied by an innovation. The document explains that the innovation is standardized to have zero mean and unit variance, even when its underlying distribution is non-normal. This normalization supports identification by keeping the scale of the innovations distinct from the scale captured by conditional volatility.

The discussion applies this idea to fitting a GARCH model with a generalized hyperbolic distribution in the R package rugarch. It says the package jointly estimates volatility-model and distribution parameters while using a standardized form of the chosen distribution. The proposed specification approach is described at a high level, but the answer does not explain how to select or configure the hyperbolic distribution in practice; it points readers to the package vignette for conditional distribution details. The material clarifies the modeling assumption, while leaving implementation specifics unresolved.

Key ideas

  • GARCH innovations are constrained to have zero mean and unit variance for identification.
  • A non-normal conditional distribution is shifted and scaled to meet the innovation constraints.
  • rugarch jointly estimates parameters for the volatility model and the selected innovation distribution.
  • The discussion does not give complete instructions for configuring a generalized hyperbolic distribution.

Tags

Full text
# Error term/Innovation process in ARCH/GARCH processes?


# Error term/Innovation process in ARCH/GARCH processes?












I am wondering about the distribution of the error term/innovation process in a ARCH/GARCH process and its implementation, I am not sure about some points. The basic assumption is

$r_t=\sigma_t*\epsilon_t$

where the $\sigma_t$ is the volatility, modeled by ARCH/GARCH and the $\epsilon_t$ are mostly assumed to be N(0,1).

Now my questions are:

- More sophisticated models drop this assumption. So I can say, e.g. $\epsilon_t$ follows a generalized hyperbolic distribution. So the mean does not need to be zero and the variance does not need to be equal to 1. This is correct, right?

- If I use the rugarch package: It supports different distributional assumptions. But I am not getting the following: So they also drop the assumption of mean zero and variance one? Or are they using something like a "standardized" version?

- Suppose I want to fit a GARCH(1,1) assuming, that the $\epsilon_t$ follow a generalized hyperbolic distribution, but the mean does not have to be zero and the variance does not need to be one. Is rugarch doing a jointly parameter estimation? So in my final output, do I get the parameters of the GARCH process and the parameters of my generalized hyperbolic distribution?

My last question is, how can I implement this?

I guess I have to use the following command:

```
ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), 
submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), 
mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, 
archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE), 
distribution.model = "norm", start.pars = list(), fixed.pars = list(), ...)
```

the distribution.model has to be set to `ghyp`. Is this assuming a mean of zero and a variance of one?

I think no, right?

How can I use the hyperbolic distribution for distribution.model?

## Answer by Richard Hardy (score 1)

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

The standardized error in a GARCH model has unit variance (which is needed for identification) and a zero mean. Whatever the conditional distribution, it is scaled and shifted so as to fit those requirements.

The answers to your questions are:

- No.

- No, they don't drop the assumption of mean zero and variance one; and Yes, they are using something like a "standardized" version.

- Yes, "rugarch" is doing a joint parameter estimation; hence, in the final output you get the parameters of the GARCH process and the parameters of the generalized hyperbolic distribution.

- "How can I implement this?" You can implement this using the function `ugarchspec` just as you wrote.

- "Is this assuming a mean of zero and a variance of one?" Yes, the standardized model error are assumed to have these properties.

- "How can I use the hyperbolic distribution for `distribution.model`?" I don't know, but see below.

For more details, consult the "vignette" for the "rugarch" package in R, especially section 2.3 "Conditional distributions".

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.