Learn R Programming

highfrequency (version 1.0.1)

knChooseReMeDI: ReMeDI tuning parameter

Description

Function to choose the tuning parameter, kn in ReMeDI estimation. The optimal parameter kn is the smallest value that where the criterion: $$ SqErr(k_{n})^{n}_{t} = \left(\hat{R}^{n,k_{n}}_{t,0} - \hat{R}^{n,k_{n}}_{t,1} - \hat{R}^{n,k_{n}}_{t,2} + \hat{R}^{n,k_{n}}_{t,3} - \hat{R}^{n, k_{n}}_{t,l}\right)^{2} $$ is perceived to be zero. The tuning parameter tol can be set to choose the tolerance of the perception of 'close to zero', a higher tolerance will lead to a higher optimal value.

Usage

knChooseReMeDI(
  pData,
  knMax = 10,
  tol = 0.05,
  size = 3,
  lower = 2,
  upper = 5,
  plot = FALSE
)

Value

integer containing the optimal kn

Arguments

pData

xts or data.table containing the log-prices of the asset.

knMax

max value of kn to be considered.

tol

tolerance for the minimizing value. If tol is high, the algorithm will choose a lower optimal value.

size

size of the local window.

lower

lower boundary for the method if it fails to find an optimal value. If this is the case, the best kn between lower and upper is returned

upper

upper boundary for the method if it fails to find an optimal value. If this is the case, the best kn between lower and upper is returned

plot

logical whether to plot the errors.

Author

Emil Sjoerup.

Details

This is the algorithm B.2 in the appendix of the Li and Linton (2019) working paper.

References

Li, M. and Linton, O. (2019). A ReMeDI for microstructure noise. Cambridge Working Papers in Economics 1908.

Examples

Run this code
data.table::setDTthreads(2)
optimalKn <- knChooseReMeDI(sampleTData[as.Date(DT) == "2018-01-02",],
                            knMax = 10, tol = 0.05, size = 3,
                            lower = 2, upper = 5, plot = TRUE)
optimalKn
if (FALSE) {
# We can also have a much larger search-space
optimalKn <- knChooseReMeDI(sampleTDataEurope,
                            knMax = 50, tol = 0.05,
                            size = 3, lower = 2, upper = 5, plot = TRUE)
optimalKn
}

Run the code above in your browser using DataLab