[R-SIG-Finance] rolling window

Gabor Grothendieck ggrothendieck at gmail.com
Thu Jul 19 14:33:42 CEST 2007


On 7/19/07, Jordi Molins <jordi.molins.coronado at gmail.com> wrote:
> I want to do a rolling window calculation for multivariate data. In other
> words: rollFun in fMultivar makes univariate calculations, ie, given for
> example mydata[1:5], mydata[2:6], … I get one number (the function applied
> to mydata[1:5]) every time. rollingFunction in PerformanceAnalytics does the
> same but for possibly multivariate data, but one column at a time. rapply in
> zoo also does rolling window for univariate data (at least, all examples are
> with univariate data).

rollapply (which was called rapply in old versions of zoo but was renamed
to avoid collisions with a new function of the same name in the core of R)
in zoo can handle multivariate zoo series either one column at a time (default)
or combined (via by.column = FALSE):

> library(zoo)
> z <- zoo(matrix(1:24, 12))
> z

1   1 13
2   2 14
3   3 15
4   4 16
5   5 17
6   6 18
7   7 19
8   8 20
9   9 21
10 10 22
11 11 23
12 12 24
> rollapply(z, 3, mean, by.column = TRUE) # can omit by.column here

2   2 14
3   3 15
4   4 16
5   5 17
6   6 18
7   7 19
8   8 20
9   9 21
10 10 22
11 11 23
> rollapply(z, 3, mean, by.column = FALSE)
 2  3  4  5  6  7  8  9 10 11
 8  9 10 11 12 13 14 15 16 17



More information about the R-SIG-Finance mailing list