Learn R Programming

fts (version 0.9.9.2)

moving: Moving Functions

Description

apply summary functions on a moving/rolling basis

Usage

moving.mean(x, periods)
moving.sum(x, periods)
moving.max(x, periods)
moving.min(x, periods)
moving.sd(x, periods)
moving.rank(x, periods)

moving.cor(x, y, periods) moving.cov(x, y, periods)

cor.by.row(x,y)

Arguments

x

An Fts object

y

An Fts object

periods

integer: number of periods in window

Value

an fts object

Details

apply a function that takes a vector and returns a scalar on a rolling basis to an fts object.

For cor.by.row, the indicator is not rolling, but is the result of the application of the cor function to matching rows of x and y.

asking for a window larger than the number of rows of the fts object will result in an fts of all NA w/ the same number of rows as the input

for functions that take two fts objects the date intersection is taken before the window function is applied

Examples

Run this code
# NOT RUN {
x <- fts(index=seq(from=Sys.Date(),by="days",length.out=100),data=1:100)
y <- fts(index=seq(from=Sys.Date(),by="days",length.out=100),data=1:100)

x.mean <- moving.mean(x,20)
x.sum <- moving.sum(x,20)
x.prod <- moving.product(x,20)
x.max <- moving.max(x,20)
x.min <- moving.min(x,20)
x.sd <- moving.sd(x,20)
x.rank <- moving.rank(x,20)

## take only odd rows
## to illustrate that teh correlation and covariance
## will only be calculated for the intersection of the dates
y <- y[(1:nrow(y))%%2 == 1]

xy.cor <- moving.cor(x, y, 20)
xy.cov <- moving.cov(x, y, 20)
# }

Run the code above in your browser using DataLab