# arch.univariate.FIGARCH¶

class arch.univariate.FIGARCH(p=1, q=1, power=2.0, truncation=1000)[source]

FIGARCH model

Parameters
p{0, 1}

Order of the symmetric innovation

q{0, 1}

Order of the lagged (transformed) conditional variance

powerfloat, optional

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

truncationint, optional

Truncation point to use in ARCH($$\infty$$) representation. Default is 1000.

Notes

In this class of processes, the variance dynamics are

$h_t = \omega + [1-\beta L - \phi L (1-L)^d] \epsilon_t^2 + \beta h_{t-1}$

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

$h_t = (1-\beta)^{-1} \omega + \sum_{i=1}^\infty \lambda_i \epsilon_{t-i}^2$

The weights are constructed using

$\begin{split}\delta_1 = d \\ \lambda_1 = d - \beta + \phi\end{split}$

and the recursive equations

$\begin{split}\delta_j = \frac{j - 1 - d}{j} \delta_{j-1} \\ \lambda_j = \beta \lambda_{j-1} + \delta_j - \phi \delta_{j-1}.\end{split}$

When power is not 2, the ARCH($$\infty$$) representation is still used where $$\epsilon_t^2$$ is replaced by $$|\epsilon_t|^p$$ and p is the power.

Examples

>>> from arch.univariate import FIGARCH


Standard FIGARCH

>>> figarch = FIGARCH()


FIARCH

>>> fiarch = FIGARCH(p=0)


FIAVGARCH process

>>> fiavarch = FIGARCH(power=1.0)

Attributes
name

The name of the volatilty 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

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.

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