leadLag {highfrequency} | R Documentation |
Lead-Lag estimation
Description
Function that estimates whether one series leads (or lags) another.
Let and
be two observed price over the time interval
.
For every integer , we form the shifted time series
is an interval for
, define the shift interval
then let
Which will be abbreviated:
Then the shifted HY contrast function is:
This contrast function is then calculated for all the lags passed in the argument lags
Usage
leadLag(
price1 = NULL,
price2 = NULL,
lags = NULL,
resolution = "seconds",
normalize = TRUE,
parallelize = FALSE,
nCores = NA
)
Arguments
price1 |
|
price2 |
|
lags |
a numeric denoting which lags (in units of |
resolution |
the resolution at which the lags is measured. The default is "seconds", use this argument to gain 1000 times resolution by setting it to either "ms", "milliseconds", or "milli-seconds". |
normalize |
logical denoting whether the contrasts should be normalized by the product of the L2 norms of both the prices. Default = TRUE. This does not change the value of the lead-lag-ratio. |
parallelize |
logical denoting whether to use a parallelized version of the C++ code (parallelized using OPENMP). Default = FALSE |
nCores |
integer valued numeric denoting how many cores to use for the lead-lag estimation procedure in case parallelize is TRUE. Default is NA, which does not parallelize the code. |
Details
The lead-lag-ratio (LLR) can be used to see if one asset leads the other. If LLR < 1, then price1 MAY be leading price2 and vice versa if LLR > 1.
Value
A list with class leadLag
which contains contrasts
, lead-lag-ratio
, and lags
, denoting the estimated values for each lag calculated,
the lead-lag-ratio, and the tested lags respectively.
References
Hoffmann, M., Rosenbaum, M., and Yoshida, N. (2013). Estimation of the lead-lag parameter from non-synchronous data. Bernoulli, 19, 1-37.
Examples
## Not run:
# Toy example to show the usage
# Spread prices
spread <- spreadPrices(sampleMultiTradeData[SYMBOL %in% c("ETF", "AAA")])
# Use lead-lag estimator
llEmpirical <- leadLag(spread[!is.na(AAA), list(DT, PRICE = AAA)],
spread[!is.na(ETF), list(DT, PRICE = ETF)], seq(-15,15))
plot(llEmpirical)
## End(Not run)