Skip to contents

Estimates univariate GARCH parameters for a single ICA component using weighted maximum likelihood. This function is called by estimate_garch_weighted_gogarch for each independent component extracted by ICA.

Usage

estimate_garch_weighted_univariate_gogarch(
  residuals,
  weights,
  spec,
  verbose = FALSE
)

Arguments

residuals

Numeric vector of ICA component values with length T.

weights

Numeric vector of weights (state probabilities) with length T.

spec

List containing the component specification:

garch_model

GARCH model type (default: "garch")

garch_order

GARCH order as c(p, q) (default: c(1, 1))

distribution

Component distribution

start_pars

List with garch_pars and dist_pars

verbose

Logical; if TRUE, print progress information.

Value

A list with:

coefficients

Named list of estimated parameters

warnings

List of any warnings from optimization

Details

The function implements weighted MLE for GARCH(p,q) models on ICA components. The weighted log-likelihood is: $$LL_w = \sum_t w_t \cdot \log f(s_t | \sigma_t)$$ where \(w_t\) are the state probabilities, \(s_t\) is the ICA component value, and \(\sigma_t\) is the GARCH conditional volatility.

GARCH Recursion

The variance recursion for GARCH(p,q) is: $$\sigma^2_t = \omega + \sum_{i=1}^{p} \alpha_i s^2_{t-i} + \sum_{j=1}^{q} \beta_j \sigma^2_{t-j}$$

Supported Distributions

DistributionParametersDescription
"norm"noneNormal (Gaussian)
"std"shapeStudent-t
"sstd"shape, skewSkewed Student-t
"nig"shape, skewNormal Inverse Gaussian
"gh"shape, skew, lambdaGeneralized Hyperbolic

See also