# arch.univariate.HARCH¶

class arch.univariate.HARCH(lags=1)[source]

Heterogeneous ARCH process

Parameters

lags ({list, array, int}) – List of lags to include in the model, or if scalar, includes all lags up the value

num_params

The number of parameters in the model

Type

int

Examples

>>> from arch.univariate import HARCH


Lag-1 HARCH, which is identical to an ARCH(1)

>>> harch = HARCH()


More useful and realistic lag lengths

>>> harch = HARCH(lags=[1, 5, 22])


Notes

In a Heterogeneous ARCH process, variance dynamics are

$\sigma_{t}^{2}=\omega + \sum_{i=1}^{m}\alpha_{l_{i}} \left(l_{i}^{-1}\sum_{j=1}^{l_{i}}\epsilon_{t-j}^{2}\right)$

In the common case where lags=[1,5,22], the model is

$\sigma_{t}^{2}=\omega+\alpha_{1}\epsilon_{t-1}^{2} +\alpha_{5} \left(\frac{1}{5}\sum_{j=1}^{5}\epsilon_{t-j}^{2}\right) +\alpha_{22} \left(\frac{1}{22}\sum_{j=1}^{22}\epsilon_{t-j}^{2}\right)$

A HARCH process is a special case of an ARCH process where parameters in the more general ARCH process have been restricted.

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 Construct parameter constraints arrays for parameter estimation forecast(parameters, resids, backcast, …) Forecast volatility from the model 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