Positive semi-definite covariance estimation using the CholCov algorithm. The algorithm estimates the integrated covariance matrix by sequentially adding series and using `refreshTime` to synchronize the observations. This is done in order of liquidity, which means that the algorithm uses more data points than most other estimation techniques.
rCholCov(
pData,
IVest = "rMRCov",
COVest = "rMRCov",
criterion = "squared duration",
...
)
a list containing the covariance matrix "CholCov"
, and the Cholesky decomposition "L"
and "G"
such that \(\code{L} \times \code{G} \times \code{L}' = \code{CholCov}\).
a list. Each list-item i contains an xts
object with the intraday price data (in levels)
of stock \(i\) for day \(t\). The order of the data does not matter as it will be sorted according to the criterion specified in the criterion
argument
integrated variance estimator, default is "rMRCov"
. For a list of implemented estimators, use listCholCovEstimators()
.
covariance estimator, default is "rMRCov"
. For a list of implemented estimators, use listCholCovEstimators()
.
criterion to use for sorting the data according to liquidity.
Possible values are "squared duration"
, "duration"
, "count"
, defaults to "squared duration"
.
additional arguments to pass to IVest
and COVest
. See details.
Emil Sjoerup
Additional arguments for IVest
and COVest
should be passed in the ... argument.
For the rMRCov
estimator, which is the default, the theta
and delta
parameters can be set. These default to 1 and 0.1 respectively.
The CholCov estimation algorithm is useful for estimating covariances of \(d\) series that are sampled asynchronously and with different liquidities. The CholCov estimation algorithm is as follows:
First sort the series in terms of decreasing liquidity according to a liquidity criterion, such that series \(1\) is the most liquid, and series \(d\) the least.
Step 1:
Apply refresh-time on \({a} = \{1\}\) to obtain the grid \(\tau^{a}\).
Estimate \(\hat{g}_{11}\) using an IV estimator on \(f_{\tau^{a}_j}^{(1)}= \hat{u}_{\tau^{a}_j}^{(1)}\).
Step 2:
Apply refresh-time on \({b} = \{1,2\}\) to obtain the grid \(\tau^{b}\).
Estimate \(\hat{h}^{b}_{21}\) as the realized beta between \(f_{\tau^{b}_j}^{(1)}\) and \(\hat{u}_{\tau^{b}_j}^{(2)}\). Set \(\hat{h}_{21}=\hat{h}^{b}_{21}\).
Estimate \(\hat{g}_{22}\) using an IV estimator on \(f_{\tau^{b}_j}^{(2)}= \hat{u}_{\tau^{b}_j}^{(2)}-\hat{h}_{21}f_{\tau^{b}_j}^{(1)}\).
Step 3:
Apply refresh-time on \({c} = \{1,3\}\) to obtain the grid \(\tau^{c}\).
Estimate \(\hat{h}^{c}_{31}\) as the realized beta between \(f_{\tau^{c}_j}^{(1)}\) and \(\hat{u}_{\tau^{c}_j}^{(3)}\). Set \(\hat{h}_{31}= \hat{h}^{c}_{31}\).
Apply refresh-time on \({d} = \{1,2,3\}\) to obtain the grid \(\tau^{d}\).
Re-estimate \(\hat{h}_{21}^{d}\) at the new grid, such that the projections \(f_{\tau^{d}_j}^{(1)}\) and \(f_{\tau^{d}_j}^{(2)}\) are orthogonal.
Estimate \(\hat{h}^{d}_{32}\) as the realized beta between \(f_{\tau^{d}_j}^{(2)}\) and \(\hat{u}_{\tau^{d}_j}^{(3)}\). Set \(\hat{h}_{32} = \hat{h}^{d}_{32}\).
Estimate \(\hat{g}_{33}\) using an IV estimator on \(f_{\tau^{d}_j}^{(3)}= \hat{u}_{\tau^{d}_j}^{(3)}-\hat{h}_{32}f_{\tau^{d}_j}^{(2)} -\hat{h}_{31}f_{\tau^{d}_j}^{(1)}\).
Step 4 to d:
Continue in the same fashion by sampling over \({1,...,k,l}\) to estimate \(h_{lk}\) using the smallest possible set.
Re-estimate the \(h_{nm}\) with \(m<n\leq k\) at every new grid to obtain orthogonal projections.
Estimate the \(g_{kk}\) as the IV of projections based on the final estimates, \(\hat{h}\).
Boudt, K., Laurent, S., Lunde, A., Quaedvlieg, R., and Sauri, O. (2017). Positive semidefinite integrated covariance estimation, factorizations and asynchronicity. Journal of Econometrics, 196, 347-367.
ICov
for a list of implemented estimators of the integrated covariance.