refreshTime {highfrequency} | R Documentation |
Synchronize (multiple) irregular timeseries by refresh time
Description
This function implements the refresh time synchronization scheme proposed by Harris et al. (1995). It picks the so-called refresh times at which all assets have traded at least once since the last refresh time point. For example, the first refresh time corresponds to the first time at which all stocks have traded. The subsequent refresh time is defined as the first time when all stocks have traded again. This process is repeated until the end of one time series is reached.
Usage
refreshTime(pData, sort = FALSE, criterion = "squared duration")
Arguments
pData |
a list. Each list-item contains an |
sort |
logical determining whether to sort the index based on a criterion (will only sort descending; i.e., most liquid first). Default is |
criterion |
character determining which criterion used. Currently supports |
Value
An xts
or data.table
object containing the synchronized time series - depending on the input.
Author(s)
Jonathan Cornelissen, Kris Boudt, Onno Kleen, and Emil Sjoerup.
References
Harris, F., T. McInish, Shoesmith, G., and Wood, R. (1995). Cointegration, error correction, and price discovery on informationally linked security markets. Journal of Financial and Quantitative Analysis, 30, 563-581.
Examples
# Suppose irregular timepoints:
start <- as.POSIXct("2010-01-01 09:30:00")
ta <- start + c(1,2,4,5,9)
tb <- start + c(1,3,6,7,8,9,10,11)
# Yielding the following timeseries:
a <- xts::as.xts(1:length(ta), order.by = ta)
b <- xts::as.xts(1:length(tb), order.by = tb)
# Calculate the synchronized timeseries:
refreshTime(list(a,b))