arch.univariate.HARCH

class arch.univariate.HARCH(lags: int | Sequence[int] = 1)[source]

Heterogeneous ARCH process.

Parameters:
lags: int | Sequence[int] = 1

List of lags to include in the model, or if scalar, includes all lags up to the value. The lags must be positive integers, and the list cannot be empty.

Raises:
  • TypeError – If lags is not an integer or an array of integers.

  • ValueError – If lags is smaller than 1, is empty, is not 1-d, or contains a lag smaller than 1.

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.

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])

Methods

backcast(resids)

Construct values for backcasting to start the recursion.

backcast_transform(backcast)

Transform user-provided backcast values.

bounds(resids)

Return 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()

Return the names of the model parameters.

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

Simulate data from the model.

starting_values(resids)

Return starting values for the ARCH model.

update(index, parameters, resids, sigma2, ...)

Compute the variance for a single observation.

variance_bounds(resids[, power])

Construct loose bounds for conditional variances.

Properties

name

The name of the volatility process.

num_params

The number of parameters in the model.

start

Index to use to start variance subarray selection.

stop

Index to use to stop variance subarray selection.

updateable

Flag indicating that the volatility process supports update.

volatility_updater

Get the volatility updater associated with the volatility process.