rvKernel <- function(x, # Tick Data
kernel.type = "rectangular", # Kernel name (or number)
kernel.param = 1, # Kernel parameter (usually lags)
kernel.dofadj = TRUE, # Kernel Degree of freedom adjustment
align.by = "seconds", # Align the tick data to [seconds|minutes|hours]
align.period = 1) # Align the tick data to this many [seconds|minutes|hours]
# Multiday adjustment:
multixts <- multixts(x)
if (multixts == TRUE)
result <- apply.daily(x, rv.kernel,kernel.type,kernel.param,kernel.dofadj,
align.by, align.period, cts, makeReturns)
return(result)
else #Daily estimation:
align.period <- .getAlignPeriod(align.period, align.by)
cdata <- .convertData(x, cts = cts, makeReturns = makeReturns)
x <- cdata$data
x <- .alignReturns(x, align.period)
type <- kernelCharToInt(kernel.type)
kernelEstimator(as.double(x), as.double(x), as.integer(length(x)),
as.integer(kernel.param), as.integer(ifelse(kernel.dofadj, 1, 0)),
as.integer(type), ab = double(kernel.param + 1),
ab2 = double(kernel.param + 1))