Something like this should work:

r.xts <- read.table(textConnection("
2011-05-05 09:30:04.929 0.3264757
2011-05-05 09:30:14.907 0.0934498
2011-05-05 09:30:19.917 0.8956367
2011-05-05 09:30:35.114 1.6632110
2011-05-05 09:30:45.193 1.1666715
2011-05-05 09:31:12.417 0.2861861"))

r.xts
          V1           V2        V3
1 2011-05-05 09:30:04.929 0.3264757
2 2011-05-05 09:30:14.907 0.0934498
3 2011-05-05 09:30:19.917 0.8956367
4 2011-05-05 09:30:35.114 1.6632110
5 2011-05-05 09:30:45.193 1.1666715
6 2011-05-05 09:31:12.417 0.2861861

r.xts <- xts(r.xts$V3, as.POSIXct(paste(r.xts$V1,r.xts$V2)))
r.xts
                         [,1]
2011-05-05 09:30:04 0.3264757
2011-05-05 09:30:14 0.0934498
2011-05-05 09:30:19 0.8956367
2011-05-05 09:30:35 1.6632110
2011-05-05 09:30:45 1.1666715
2011-05-05 09:31:12 0.2861861

align.time(period.sum(r.xts,endpoints(r.xts,'secs',k=30)),30)
                         [,1]
2011-05-05 09:30:30 1.3155622
2011-05-05 09:31:00 2.8298825
2011-05-05 09:31:30 0.2861861

?endpoints to find the 30m endpoints in time
?period.sum (or period.apply) to sum up by period
?align.time to fix/round the times to something a little more even

HTH
Jeff

On Thu, May 5, 2011 at 7:47 PM, Robert A'gata <rhelpacc@gmail.com> wrote:

> Hi,
>
> I have an irregular return time series that looks like below:
>
> > head(r.xts)
>                             [,1]
> 2011-05-05 09:30:04.929 0.3264757
> 2011-05-05 09:30:14.907 0.0934498
> 2011-05-05 09:30:19.917 0.8956367
> 2011-05-05 09:30:35.114 1.6632110
> 2011-05-05 09:30:45.193 1.1666715
> 2011-05-05 09:31:12.417 0.2861861
>
> I'd like to sum them for every 30-second bucket such that the output
> looks like below. The key is that I want to aggregate every 30 seconds
> by clock time NOT 30 seconds starting from my first observation time
> stamp. rollapply does not satisfy my objective as it takes number of
> rows instead. to.period function doesn't seem to let me specify that I
> want to start at 09:30 and sum returns every 30 seconds. I'm wondering
> if there's any tool that I can achieve this?
>
> 2011-05-05 09:30:00   1.316
> 2011-05-05 09:30:30   ...
> 2011-05-05 09:31:00   ...
>
> Thank you in advance.
>
> Cheers,
>
> Robert
>
> _______________________________________________
> R-SIG-Finance@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.
>



-- 
Jeffrey Ryan
jeffrey.ryan@lemnica.com

www.lemnica.com

R/Finance 2011 April 29th and 30th in Chicago | www.RinFinance.com

	[[alternative HTML version deleted]]

