arch.univariate.FIAPARCH

class arch.univariate.FIAPARCH(p: int = 1, o: int = 1, q: int = 1, delta: float | None = None, truncation: int = 1000)[source]

Fractionally Integrated Asymmetric Power ARCH (FIAPARCH) volatility process.

Parameters:
p: int = 1

Order of the symmetric innovation.

o: int = 1

Order of the asymmetric innovation.

q: int = 1

Order of the lagged (transformed) conditional variance.

delta: float | None = None

Value to use for a fixed delta in the 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).

truncation: int = 1000

Truncation point to use in ARCH(\(\infty\)) representation. Default is 1000. Must be positive.

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

  • ValueError – If p, o or q is not 0 or 1, truncation is smaller than 1, 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 + [1-\beta L - (1-\phi L)(1-L)^d] (|\epsilon_{t}| - \gamma \epsilon_{t})^{\delta} + \beta \sigma_{t-1}^{\delta}\]

where L is the lag operator, d is the fractional differencing parameter, and gamma controls asymmetry. The model is estimated using the ARCH(\(\infty\)) representation,

\[\sigma_t^{\delta} = (1-\beta)^{-1} \omega + \sum_{i=1}^{\infty} \lambda_i (|\epsilon_{t-i}| - \gamma \epsilon_{t-i})^{\delta}\]

The weights \(\lambda_i\) are identical to those used in FIGARCH.

Examples

>>> from arch.univariate import FIAPARCH

Standard FIAPARCH

>>> fiaparch = FIAPARCH()

Without asymmetry (reduces to FIGARCH-like)

>>> fi = FIAPARCH(o=0)

Fixed power parameter

>>> fiaparch = FIAPARCH(delta=1.0)

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

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.

truncation

Truncation lag for the ARCH-infinity approximation.

updateable

Flag indicating that the volatility process supports update.

volatility_updater

Get the volatility updater associated with the volatility process.