
Copula GARCH Weighted Estimation (Two-Stage)
estimate_garch_weighted_cgarch.RdImplements weighted MLE for Copula GARCH models. Stage 1: Estimate univariate GARCH parameters for each series Stage 2: Estimate copula dependence parameters (DCC dynamics + shape)
Usage
estimate_garch_weighted_cgarch(
residuals,
weights,
spec,
diagnostics = NULL,
iteration = NULL,
state = NULL,
verbose = FALSE,
dcc_threshold = 0.02,
dcc_criterion = "bic",
force_constant = FALSE
)Arguments
- residuals
Matrix of residuals (T x k)
- weights
Vector of observation weights (length T)
- spec
Model specification list containing:
garch_spec_fun: "cgarch_modelspec"
garch_spec_args: list with dcc_order, dynamics, transformation, copula, garch_model (univariate specs)
start_pars: starting parameter values
distribution: copula distribution ("mvn" or "mvt")
- diagnostics
Optional diagnostics collector object
- iteration
Current EM iteration number
- state
Current regime state index
- verbose
Logical; print diagnostic information
- dcc_threshold
Threshold for DCC degeneracy detection (default 0.02)
- dcc_criterion
Selection criterion for constant vs dynamic ("bic", "aic", "threshold")
- force_constant
Logical; if TRUE, skip dynamic estimation
Value
List with:
coefficients: list with garch_pars, dcc_pars, dist_pars, correlation_type
warnings: list of warning messages
diagnostics: updated diagnostics object
Details
The Copula GARCH model differs from DCC in how it handles the dependence structure:
Marginal Transformation: Standardized residuals are transformed to uniform [0,1] margins via probability integral transform (PIT). The transformation can be:
"parametric": Uses the estimated univariate distribution's CDF
"empirical": Uses the empirical CDF
"spd": Uses semi-parametric distribution (see
fit_spd_transform)
Copula Specification: The uniform margins are then transformed according to the copula distribution:
"mvn": Multivariate Normal copula (Gaussian copula)
"mvt": Multivariate Student-t copula
Correlation Dynamics: Same as DCC - can be "constant", "dcc", or "adcc" For ADCC, see
adcc_recursion.
This function is called by the M-step of the EM algorithm in
fit_ms_varma_garch when garch_spec_fun = "cgarch_modelspec".
See also
tsbs: Main bootstrap function (usegarch_spec_fun = "cgarch_modelspec")estimate_copula_parameters_weighted: Stage 2 estimationcompute_pit_transform: PIT transformation methodscopula_nll: Copula log-likelihoodadcc_recursion: ADCC dynamicsestimate_garch_weighted_dcc: Alternative DCC estimator