rBPCov {highfrequency} | R Documentation |
Realized bipower covariance
Description
Calculate the Realized BiPower Covariance (rBPCov), defined in Barndorff-Nielsen and Shephard (2004).
Let r_{t,i}
be an intraday N x 1
return vector and i=1,...,M
the number of intraday returns.
The rBPCov is defined as the process whose value at time t
is the N
-dimensional square matrix with k,q
-th element equal to
\mbox{rBPCov}[k,q]_t = \frac{\pi}{8} \bigg( \sum_{i=2}^{M}
\left|
r_{(k)t,i} + r_{(q)t,i} \right| \ \left| r_{(k)t,i-1} + r_{(q)t,i-1} \right| \\
- \left| r_{(k)t,i} - r_{(q)t,i} \right| \ \left|
r_{(k)t,i-1} - r_{(q)t,i-1} \right| \bigg),
where r_{(k)t,i}
is the
k
-th component of the return vector r_{i,t}
.
Usage
rBPCov(
rData,
cor = FALSE,
alignBy = NULL,
alignPeriod = NULL,
makeReturns = FALSE,
makePsd = FALSE,
...
)
Arguments
rData |
an |
cor |
boolean, in case it is |
alignBy |
character, indicating the time scale in which |
alignPeriod |
positive numeric, indicating the number of periods to aggregate over. E.g. to aggregate
based on a 5-minute frequency, set |
makeReturns |
boolean, should be |
makePsd |
boolean, in case it is |
... |
used internally, do not change. |
Value
in case the input is and contains data from one day, an N
by N
matrix is returned. If the data is a univariate xts
object with multiple days, an xts
is returned.
If the data is multivariate and contains multiple days (xts
or data.table
), the function returns a list containing N
by N
matrices. Each item in the list has a name which corresponds to the date for the matrix.
Author(s)
Jonathan Cornelissen, Kris Boudt, and Emil Sjoerup.
References
Barndorff-Nielsen, O. E., and Shephard, N. (2004). Measuring the impact of jumps in multivariate price processes using bipower covariation. Discussion paper, Nuffield College, Oxford University.
See Also
ICov
for a list of implemented estimators of the integrated covariance.
Examples
# Realized Bipower Variance/Covariance for a price series aligned
# at 5 minutes.
# Univariate:
rbpv <- rBPCov(rData = sampleTData[, list(DT, PRICE)], alignBy ="minutes",
alignPeriod = 5, makeReturns = TRUE)
# Multivariate:
rbpc <- rBPCov(rData = sampleOneMinuteData, makeReturns = TRUE, makePsd = TRUE)
rbpc