[R-SIG-Finance] stripping holidays from timeSeries() class time series

Jeff Ryan jeff.a.ryan at gmail.com
Thu May 10 00:17:58 CEST 2012


There is a timeSeries equal to this, but you an also merge in xts against a known time series of valid dates (often easier to find) and only return the columns of interest. 

In xts you'd use:

merge(x,known, join="inner",retside=c(TRUE,FALSE))

That will be very fast. 

Jeff

Jeffrey Ryan    |    Founder    |    jeffrey.ryan at lemnica.com

www.lemnica.com

On May 9, 2012, at 3:51 PM, Joshua Ulrich <josh.m.ulrich at gmail.com> wrote:

> You don't need the call to which() and its results may confuse you if
> there are no matches, in which case your code below will return
> whatever tsm[integer(0)] returns.
> 
> Try this instead:
> tsm[!(as.Date(time(tsm)) %in% as.Date(index.holidays)),]
> 
> Best,
> --
> Joshua Ulrich  |  FOSS Trading: www.fosstrading.com
> 
> R/Finance 2012: Applied Finance with R
> www.RinFinance.com
> 
> 
> On Wed, May 9, 2012 at 3:15 PM, David-Michael Lincke <dlincke at lincke.com> wrote:
>> Turns out that the following accomplishes the same:
>> 
>> tsm[-which(as.Date(time(tsm)) %in% as.Date(index.holidays)),]
>> 
>> However, I still wonder if there is not a more elegant way to achieve this while remaining within the timeDate/timeSeries classes.
>> 
>> ________________________________________
>> From: r-sig-finance-bounces at r-project.org [r-sig-finance-bounces at r-project.org] on behalf of David-Michael Lincke [dlincke at lincke.com]
>> Sent: Wednesday, May 09, 2012 21:33
>> To: r-sig-finance at r-project.org
>> Subject: [R-SIG-Finance] stripping holidays from timeSeries() class time        series
>> 
>> I have come up with the following expression to strip a time series tsm of class timeSeries from holidays contained in timeDate class object index.holidays. index.holidays covers a wider date range than time series tsm.
>> 
>> tsm[-na.omit(match(as.character(index.holidays),as.character(time(tsm)))),]
>> 
>> While this expression works as intended, I suspect that it is rather inefficient due to the data type conversions forced by match(). Is there a more elegant way to accomplish this?
>> 
>> Best regards,
>> David
>> 
>>        [[alternative HTML version deleted]]
>> 
>> _______________________________________________
>> R-SIG-Finance at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> -- Subscriber-posting only. If you want to post, subscribe first.
>> -- Also note that this is not the r-help list where general R questions should go.
>> 
>> _______________________________________________
>> R-SIG-Finance at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
>> -- Subscriber-posting only. If you want to post, subscribe first.
>> -- Also note that this is not the r-help list where general R questions should go.
> 
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.



More information about the R-SIG-Finance mailing list