rMRCov {highfrequency} | R Documentation |
Modulated realized covariance
Description
Calculate univariate or multivariate pre-averaged estimator, as defined in Hautsch and Podolskij (2013).
Usage
rMRCov(
pData,
pairwise = FALSE,
makePsd = FALSE,
theta = 0.8,
crossAssetNoiseCorrection = FALSE,
...
)
Arguments
pData |
a list. Each list-item contains an |
pairwise |
boolean, should be |
makePsd |
boolean, in case it is |
theta |
a |
crossAssetNoiseCorrection |
a |
... |
used internally, do not change. |
Details
In practice, market microstructure noise leads to a departure from the pure semimartingale model. We consider the process in period
:
where the observed dimensional log-prices are the sum of underlying Brownian semimartingale process
and a noise term
.
is an i.i.d. process with
.
It is intuitive that under mean zero i.i.d. microstructure noise some form of smoothing of the observed log-price should tend to diminish the impact of the noise.
Effectively, we are going to approximate a continuous function by an average of observations of in a neighborhood, the noise being averaged away.
Assume there is equispaced returns in period
of a list (after refreshing data).
Let
be a return (with
) of an asset in period
. Assume there is
assets.
In order to define the univariate pre-averaging estimator, we first define the pre-averaged returns as
where g is a non-zero real-valued function
given by
=
.
is a sequence of integers satisfying
.
We use
as recommended in Hautsch and Podolskij (2013). The pre-averaged returns are simply a weighted average over the returns in a local window.
This averaging diminishes the influence of the noise. The order of the window size
is chosen to lead to optimal convergence rates.
The pre-averaging estimator is then simply the analogue of the realized variance but based on pre-averaged returns and an additional term to remove bias due to noise
with
The multivariate counterpart is very similar. The estimator is called the Modulated Realized Covariance (rMRCov) and is defined as
where . It is a bias correction to make it consistent.
However, due to this correction, the estimator is not ensured PSD.
An alternative is to slightly enlarge the bandwidth such that
.
results in a consistent estimate without the bias correction and a PSD estimate, in which case:
Value
A covariance matrix.
Author(s)
Giang Nguyen, Jonathan Cornelissen, Kris Boudt, and Emil Sjoerup.
References
Hautsch, N., and Podolskij, M. (2013). Preaveraging-based estimation of quadratic variation in the presence of noise and jumps: theory, implementation, and empirical Evidence. Journal of Business & Economic Statistics, 31, 165-183.
See Also
ICov
for a list of implemented estimators of the integrated covariance.
Examples
## Not run:
library("xts")
# Note that this ought to be tick-by-tick data and this example is only to show the usage.
a <- list(as.xts(sampleOneMinuteData[as.Date(DT) == "2001-08-04", list(DT, MARKET)]),
as.xts(sampleOneMinuteData[as.Date(DT) == "2001-08-04", list(DT, STOCK)]))
rMRCov(a, pairwise = TRUE, makePsd = TRUE)
# We can also add use data.tables and use a named list to convey asset names
a <- list(foo = sampleOneMinuteData[as.Date(DT) == "2001-08-04", list(DT, MARKET)],
bar = sampleOneMinuteData[as.Date(DT) == "2001-08-04", list(DT, STOCK)])
rMRCov(a, pairwise = TRUE, makePsd = TRUE)
## End(Not run)