Autoregressive conditional heteroskedasticity

# Overview
In econometrics,
an autoregressive conditional heteroskedasticity (ARCH,
Engle (1982)) model considers the variance of the current error term to be a function of the variances of the previous time period's error terms. ARCH relates the error variance to the square of a previous period's error. It is employed commonly in modeling financial time series that exhibit time-varying volatility clustering, i.e. periods of swings followed by periods of relative calm.

# Definition
Specifically, let  ~\epsilon_t~  denote the returns 
(or return residuals, net of a mean process) and
assume that  ~\epsilon_t=\sigma_t z_t ~, where
 z_t\sim iid~ N(0,1)  and where
the series  \sigma_t^2  are modeled by
 \sigma_t^2=\alpha_0+\alpha_1 \epsilon_{t-1}^2+\cdots+\alpha_q \epsilon_{t-q}^2 = \alpha_0 + \sum_{i=1}^q \alpha_{i} \epsilon_{t-i}^2 
and where  ~\alpha_0>0~  and  \alpha_i\ge 0,~i>0.

## How to estimate an ARCH(q) model
An ARCH(q) model can be estimated using ordinary least squares. A methodology to test for the lag length of ARCH errors using the Lagrange multiplier test was proposed by Engle (1982). These steps show us how to do it:
- Estimate the best fitting AR(q) model  y_t = a_0 + a_1 y_{t-1} + \cdots + a_q y_{t-q} + \epsilon_t = a_0 + \sum_{i=1}^q a_i y_{t-i} + \epsilon_t .
- Obtain the squares of the error  \hat \epsilon^2  and regress them on a constant and q lagged values:
 \hat \epsilon_t^2 = \hat \alpha_0 + \sum_{i=1}^{q} \hat \alpha_i \hat \epsilon_{t-i}^2
where q is the length of ARCH lags.
- The null hypothesis is that, in the absence of ARCH components, we have  \alpha_i = 0  for all  i = 1, \cdots, q . The alternative hypothesis is that, in the presence of ARCH components, at least one of the estimated  \alpha_i  coefficients must be significant. In a sample of T residuals under the nullhypothesis of no ARCH errors, the test statistic TR2 follows  \chi^2  distribution with q degrees of freedom. If TR2 is greater than the Chi-square table value, we reject the null hypothesis and find that there is no ARCH effect in the ARMA model. If TR2 is smaller than the Chi-square table value, we accept the null hypothesis.

# GARCH
If an autoregressive moving average model (ARMA model) is assumed for the error variance, the model is a generalized autoregressive conditional heteroskedasticity (GARCH, Bollerslev(1986)) model.
In that case, the GARCH(p, q) model (where p is the order of the GARCH terms  ~\sigma^2  and q is the order of the ARCH terms  ~\epsilon^2 ) is given by
 \sigma_t^2=\alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \cdots + \alpha_q \epsilon_{t-q}^2 + \beta_1 \sigma_{t-1}^2 + \cdots + \beta_p\sigma_{t-p}^2 = \alpha_0 + \sum_{i=1}^q \alpha_i \epsilon_{t-i}^2 + \sum_{i=1}^p \beta_i \sigma_{t-i}^2 
Generally, when testing for heteroskedasticity in econometric models, the best test is the White test. However, when dealing with time series data, there means to test for ARCH errors (as described above) and GARCH errors (below).
Prior to GARCH there was EWMA which has now been superseded by GARCH.  Some people utilise both.

## How to estimate a GARCH(p, q) model
This methodology show how to find the lag length p of a GARCH(p, q) process:
- Estimate the best fitting AR(q) model
 y_t = a_0 + a_1 y_{t-1} + \cdots + a_q y_{t-q} + \epsilon_t = a_0 + \sum_{i=1}^q a_i y_{t-i} + \epsilon_t .
- Compute and plot the autocorrelations of  \epsilon^2  by
 \rho = {{\sum^T_{t=i+1} (\hat \epsilon^2_t - \hat \sigma^2_t) (\hat \epsilon^2_{t-1} - \hat \sigma^2_{t-1})} \over {\sum^2_{t=1} (\hat \epsilon^2_t - \hat \sigma^2_t)^2}} 
- The asymptotic, that is for large samples, standard deviation of  \rho (i)  is T^{-12}. Individual values that are larger than this indicate GARCH errors. To estimate the total number of lags, use the Ljung-Box test until the value of the these are less than, say, 10% significant. The Ljung/Box Q-statistic follows  \chi^2  distribution with n degrees of freedom if the squared residuals  \epsilon^2_t  are uncorrelated. It is recommended to consider up to T/4 values of n. The null hypothesis states that there are ARCH or GARCH errors. Rejecting the null thus means that there are no such errors in the conditional variance.

# IGARCH
Integrated Generalized Autoregressive Conditional Heteroskedasticity IGARCH is a restricted version of the GARCH model, where the sum of the persistent parameters sum up to one, and therefore there is a unit root in the GARCH process. The condition for this is
\sum^p_{i=1} ~\beta_{i-t} ~\sigma^2_t = 1

# EGARCH
The exponential general autoregressive conditional heteroskedastic (EGARCH) model by Nelson (1991) is another form of the GARCH model. Formally:
\log\sigma_{t}^{2}=\omega_{t}+\sum_{k=1}^{\infty}\beta_{k}g(Z_{t-k})
where g(Z_{t})=\theta Z_{t}+\lambda(|Z_{t}|-E(Z_{t})), \sigma_{t}^{2} is the conditional variance, \omega, \beta, \theta and \lambda are coefficients, and Z_{t} is a standard normal variable.

# GARCH-M
The GARCH-in-mean (GARCH-M) model adds a heteroskedasticity term into the mean equation. It has the specification:
y_t = ~\beta x_t + ~\sigma_t^{1/2} + ~\epsilon_t
The residual  ~\epsilon_t  is defined as
~\epsilon_t = ~\sigma_t^{1/2} z_t

# QGARCH
The Quadratic GARCH (QGARCH) model by Sentana (1995) is used to model asymmetric effects of positive and negative shocks.
In the example of a GARCH(1,1) model, the residual process  ~\sigma_t  is
~\epsilon_t = ~\sigma_t z_t
where  z_t  is i.i.d. and
~\sigma_t^2 = K + ~\alpha ~\epsilon_{t-1}^2 + ~\beta ~\sigma_{t-1}^2 + ~\phi ~\sigma_{t-1}

# GJR-GARCH
Similar to QGARCH, the The Glosten-Jagannathan-Runkle GARCH (GJR-GARCH) model by Glosten, Jagannathan and Runkle (1993) also models asymmetry in the GARCH process. The suggestion is to model  ~\epsilon_t = ~\sigma_t z_t  where  z_t  is i.i.d., and
~\sigma_t^2 = K + ~\delta ~\sigma_{t-1}^2 + ~\alpha ~\epsilon_{t-1}^2 + ~\phi ~\epsilon_{t-1}^2 I_{t-1}
where  I_{t-1} = 1  if  ~\epsilon_{t-1} \ge 0 , and  I_{t-1} = 0  if  ~\epsilon_{t-1} .

# TGARCH model
Finally, the Threshold GARCH (TGARCH) model by Zakoian (1994) is similar to GJR GARCH, and the specification is one on conditional standard deviation instead of conditional variance:
~\sigma_t = K + ~\delta ~\sigma_{t-1} + ~\alpha_1^{+} ~\epsilon_{t-1}^{+} + ~\alpha_1^{-} ~\epsilon_{t-1}^{-}
where  ~\epsilon_{t-1}^{+} = ~\epsilon_{t-1}  if  ~\epsilon_{t-1} > 0 , and  ~\epsilon_{t-1}^{+} = 0  if  ~\epsilon_{t-1} \le 0 . Likewise,  ~\epsilon_{t-1}^{-} = ~\epsilon_{t-1}  if  ~\epsilon_{t-1} \le 0 , and  ~\epsilon_{t-1}^{-} = 0  if  ~\epsilon_{t-1} > 0 .

# APARCH

# FIGARCH

# FIEGARCH

# FIAPARCH

# HYGARCH