arch.univariate.APARCH

class arch.univariate.APARCH(p: int = 1, o: int = 1, q: int = 1, delta: float | None = None, common_asym: bool = False)[source]

Asymmetric Power ARCH (APARCH) volatility process.

Parameters:
p: int = 1

Order of the symmetric innovation. Must satisfy p>=o and be positive.

o: int = 1

Order of the asymmetric innovation. Must satisfy o<=p and be non-negative.

q: int = 1

Order of the lagged (transformed) conditional variance. Must be non-negative.

delta: float | None = None

Value to use for a fixed delta in the APARCH model. If not provided, the value of delta is jointly estimated with other model parameters. User provided delta is restricted to lie in (0.05, 4.0).

common_asym: bool = False

Restrict all asymmetry terms to share the same asymmetry parameter. If False (default), then there are no restrictions on the o asymmetry parameters.

Raises:
  • TypeError – If p, o or q is not an integer, delta is not a real number or None, or common_asym is not a bool.

  • ValueError – If p is smaller than 1, o or q is negative, o is larger than p, or delta is NaN, inf or not in (0.05, 4.0).

Notes

In this class of processes, the variance dynamics are

\[\sigma_{t}^{\delta}=\omega +\sum_{i=1}^{p}\alpha_{i} \left(\left|\epsilon_{t-i}\right| -\gamma_{i}I_{[o\geq i]}\epsilon_{t-i}\right)^{\delta} +\sum_{k=1}^{q}\beta_{k}\sigma_{t-k}^{\delta}\]

If common_asym is True, then all of \(\gamma_i\) are restricted to have a common value.

Examples

>>> from arch.univariate import APARCH

Symmetric Power ARCH(1,1)

>>> aparch = APARCH(p=1, q=1)

Standard APARCH process

>>> aparch = APARCH(p=1, o=1, q=1)

Fixed power parameters

>>> aparch = APARCH(p=1, o=1, q=1, delta=1.3)

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

common_asym

The value of delta in the model.

delta

The value of delta in the model.

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.