arch.univariate.GARCH

class arch.univariate.GARCH(p=1, o=0, q=1, power=2.0)[source]

GARCH and related model estimation

The following models can be specified using GARCH:
  • ARCH(p)

  • GARCH(p,q)

  • GJR-GARCH(p,o,q)

  • AVARCH(p)

  • AVGARCH(p,q)

  • TARCH(p,o,q)

  • Models with arbitrary, pre-specified powers

Parameters
  • p (int) -- Order of the symmetric innovation

  • o (int) -- Order of the asymmetric innovation

  • q (int) -- Order of the lagged (transformed) conditional variance

  • power (float, optional) -- Power to use with the innovations, abs(e) ** power. Default is 2.0, which produces ARCH and related models. Using 1.0 produces AVARCH and related models. Other powers can be specified, although these should be strictly positive, and usually larger than 0.25.

num_params

The number of parameters in the model

Type

int

Examples

>>> from arch.univariate import GARCH

Standard GARCH(1,1)

>>> garch = GARCH(p=1, q=1)

Asymmetric GJR-GARCH process

>>> gjr = GARCH(p=1, o=1, q=1)

Asymmetric TARCH process

>>> tarch = GARCH(p=1, o=1, q=1, power=1.0)

Notes

In this class of processes, the variance dynamics are

\[\sigma_{t}^{\lambda}=\omega + \sum_{i=1}^{p}\alpha_{i}\left|\epsilon_{t-i}\right|^{\lambda} +\sum_{j=1}^{o}\gamma_{j}\left|\epsilon_{t-j}\right|^{\lambda} I\left[\epsilon_{t-j}<0\right]+\sum_{k=1}^{q}\beta_{k}\sigma_{t-k}^{\lambda}\]

Methods

backcast(resids)

Construct values for backcasting to start the recursion

backcast_transform(backcast)

Transformation to apply to user-provided backcast values

bounds(resids)

Returns bounds for parameters

compute_variance(parameters, resids, sigma2, ...)

Compute the variance for the ARCH model

constraints()

Construct parameter constraints arrays for parameter estimation

forecast(parameters, resids, backcast, ...)

Forecast volatility from the model

parameter_names()

Names of model parameters

simulate(parameters, nobs, rng[, burn, ...])

Simulate data from the model

starting_values(resids)

Returns starting values for the ARCH model

variance_bounds(resids[, power])

Construct loose bounds for conditional variances.

Properties

name

The name of the volatilty process

start

Index to use to start variance subarray selection

stop

Index to use to stop variance subarray selection