Learn R Programming

highfrequency (version 0.8.0)

rMinRV: rMinRV

Description

Calculate the rMinRV, defined in Andersen et al. (2009). Let \(r_{t,i}\) be a return (with \(i=1,\ldots,M\)) in period \(t\). Then, the rMinRV is given by $$ \mbox{rMinRV}_{t}=\frac{\pi}{\pi - 2}\left(\frac{M}{M-1}\right) \sum_{i=1}^{M-1} \mbox{min}(|r_{t,i}| ,|r_{t,i+1}|)^2 $$

Usage

rMinRV(rData, alignBy = NULL, alignPeriod = NULL, makeReturns = FALSE)

Arguments

rData

an xts or data.table object containing returns or prices, possibly for multiple assets over multiple days.

alignBy

character, indicating the time scale in which alignPeriod is expressed. Possible values are: "secs", "seconds", "mins", "minutes", "hours".

alignPeriod

positive numeric, indicating the number of periods to aggregate over. For example, to aggregate based on a 5-minute frequency, set alignPeriod = 5 and alignBy = "minutes".

makeReturns

boolean, should be TRUE when rData contains prices instead of returns. FALSE by default.

Value

  • In case the input is an xts object with data from one day, a numeric of the same length as the number of assets.

  • If the input data spans multiple days and is in xts format, an xts will be returned.

  • If the input data is a data.table object, the function returns a data.table with the same column names as the input data, containing the date and the realized measures.

References

Andersen, T. G., Dobrev, D., and Schaumburg, E. (2012). Jump-robust volatility estimation using nearest neighbor truncation. Journal of Econometrics, 169, 75-93.

Examples

Run this code
# NOT RUN {
minrv <- rMinRV(rData = sampleTData[, list(DT, PRICE)], alignBy = "minutes",
               alignPeriod = 5, makeReturns = TRUE)
minrv

# }

Run the code above in your browser using DataLab