Multivariate
Analogously to the univariate case, an instance of MultivariateARCHModel
contains a matrix of data (with observations in rows and assets in columns), and encapsulates information about the covariance specification (e.g., CCC or DCC), the mean specification, and the error distribution.
MultivariateARCHModel
s support many of the same methods as UnivariateARCHModel
s, with a few noteworthy differences: the prediction targets for predict
are :covariances
and :correlations
for predicting $\Sigma_t$ and $R_t$, respectively, and the new functions covariances
and correlations
respectively return the in-sample estimates of $\Sigma_t$ and $R_t$.
Covariance specifications
The dynamics of $\Sigma_t$ are modelled as subtypes of MultivariateVolatilitySpec
.
Conditional correlation models
The main challenge in multivariate ARCH modelling is the curse of dimensionality: allowing each of the $(d)(d+1)/2$ elements of $\Sigma_t$ to depend on the past returns of all $d$ other assets requires $O(d^4)$ parameters without imposing additional structure. Conditional correlation models approach this issue by decomposing $\Sigma_t$ as
\[\Sigma_t=D_t R_t D_t,\]
where $R_t$ is the conditional correlation matrix and $D_t$ is a diagonal matrix containing the volatilities of the individual assets, which are modelled as univariate ARCH processes.
DCC
The dynamic conditional correlation (DCC) model of Engle (2002) imposes a GARCH-type structure on the $R_t$. In particular, for a DCC(p, q) model (with covariance targeting),
\[R_{ij, t} = \frac{Q_{ij,t}}{\sqrt{Q_{ii,t}Q_{jj,t}}},\]
where
\[Q_{t} \equiv\bar{Q}(1-\bar\alpha-\bar\beta)+\sum_{i=1}^{p} \beta_iQ_{t-i}+\sum_{i=1}^{q}\alpha_i\epsilon_{t-i}\epsilon_{t-i}^\mathrm{\scriptsize T},\]
$\bar{\alpha}\equiv\sum_{i=1}^q\alpha_i$, $\bar{\beta}\equiv\sum_{i=1}^q\beta_i$, $\epsilon_{t}\equiv D_t^{-1}a_t$$, $Q_{t}=\mathrm{cov} (\epsilon_t|F_{t-1})$, and $\bar{Q}=\mathrm{cov}(\epsilon_{t})$.
It is available as DCC{p, q}
. The constructor takes as inputs $\bar{Q}$, a vector of coefficients, and a vector of UnivariateARCHModel
s:
julia> DCC{1, 1}([1. .5; .5 1.], [.9, .05], [GARCH{1, 1}([1., .9, .05]) for _ in 1:2])
DCC{1, 1, GARCH{1, 1}} specification.
──────────────────────
β₁ α₁
──────────────────────
Parameters: 0.9 0.05
──────────────────────
The DCC model is typically estimated in two steps, by first fitting univariate ARCH models to the individual assets and saving the standardized residuals $\{\epsilon_t\}$, and then estimating the DCC parameters from those. Engle (2002) provides the details and expressions for the standard errors. By default, this package employs an alternative estimator due to Engle, Ledoit, and Wolf (2019) which is better suited to large-dimensional problems. It achieves this by i) estimating $\bar{Q}$ with a nonlinear shrinkage estimator instead of the sample covariance of $\epsilon_t$, and ii) estimating the DCC parameters by maximizing the sum of the pairwise log-likelihoods, rather than the joint log-likelihood over all assets, thereby avoiding the inversion of large matrices during the optimization. The estimation method is controlled by passing the method
keyword to the constructor. Possible values are :largescale
(the default), and :twostep
.
CCC
The CCC (constant conditional correlation) model of Bollerslev (1990) models $R_t=R$ as constant. It is the special case of the DCC model in which $p=q=0$:
julia> CCC == DCC{0, 0}
true
As such, the constructor has the exact same signature, except that the DCC parameters must be passed as a zero-length vector:
julia> CCC([1. .5; .5 1.], Float64[], [GARCH{1, 1}([1., .9, .05]) for _ in 1:2])
DCC{0, 0, GARCH{1, 1}} specification.
No estimable parameters.
As for the DCC model, the constructor accepts a method
keyword argument with possible values :largescale
(default) or :twostep
that determines whether $R$ will be estimated by nonlinear shrinkage or the sample correlation of the $\epsilon_t$.
Mean Specifications
The conditional mean of a MultivariateARCHModel
is specified by a vector of MeanSpec
s as described under Mean specifications.
Multivariate Standardized Distributions
Multivariate standardized distributions subtype MultivariateStandardizedDistribution
. Currently, only MultivariateStdNormal
is available. Note that under mild assumptions, the Gaussian (quasi-)MLE consistently estimates the (multivariate) ARCH parameters even if Gaussianity is violated.