[datatable-help] rolling quantiles using data.table
Hideyoshi Maeda
hideyoshi.maeda at gmail.com
Mon Aug 27 11:31:20 CEST 2012
Hello,
I am new to data.tables so apologies if this is a very basic question.
I have heard that data.tables significantly improves computational times when working with large amounts data, and so would like to see if data.table is able to help in speeding up the rollapply function.
if we have some univariate data
xts.obj <- xts(rnorm(1e6), order.by=as.POSIXct(Sys.time()-1e6:1), tz="GMT")
colnames(xts.obj) <- "rtns"
a simple rolling quantile with width of 100 and a p of 0.75 takes a surprisingly long time...
i.e. the line of code
xts.obj$quant.75 <- rollapply(xts.obj$rtns,width=100, FUN='quantile', p=0.75)
seems to take forever...
is there anything that data.table can do to speed things up? i.e. is there a generic roll function that can be applied?
perhaps a routine to convert an xts object to a data.table object to carry out the function in a speeded up manner and then reconvert back to xts at the end?
thanks in advance
hlm
More information about the datatable-help
mailing list