arch.univariate.EWMAVariance

class arch.univariate.EWMAVariance(lam: float | None = 0.94)[source]

Exponentially Weighted Moving-Average (RiskMetrics) Variance process

Parameters:
lam: float | None = 0.94

Smoothing parameter. Default is 0.94. Set to None to estimate lam jointly with other model parameters

Examples

Daily RiskMetrics EWMA process

>>> from arch.univariate import EWMAVariance
>>> rm = EWMAVariance(0.94)

Notes

The variance dynamics of the model

\[\sigma_t^{2}=\lambda\sigma_{t-1}^2 + (1-\lambda)\epsilon^2_{t-1}\]

When lam is provided, this model has no parameters since the smoothing parameter is treated as fixed. Set lam to None to jointly estimate this parameter when fitting the model.

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

constraints()

Construct parameter constraints arrays for parameter estimation

forecast(parameters, resids, backcast, ...)

Forecast volatility from the model

parameter_names()

Names of model parameters

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

Simulate data from the model

starting_values(resids)

Returns 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