rollingAnalysis {fSeries}R Documentation

Rolling Analysis

Description

A collection of functions to perform a rolling analysis. A rolling analysis is often required in building trading models.

The functions are:

1 rollFun Rolling or moving sample statistics,
2 rollMin Rolling or moving sample minimum,
3 rollMax Rolling or moving sample maximum,
4 rollMean Rolling or moving sample mean,
5 rollVar Rolling or moving sample variance.

Usage

rollFun(x, n, FUN, ...)
rollMin(x, n = 9, trim = TRUE, na.rm = FALSE) 
rollMax(x, n = 9, trim = TRUE, na.rm = FALSE)
rollMean(x, n = 9, trim = TRUE, na.rm = FALSE)
rollVar(x, n = 9, trim = TRUE, unbiased = TRUE, na.rm = FALSE)

Arguments

FUN the rolling function, arguments to this function can be passed through the ... argument.
n an integer specifying the number of periods or terms to use in each rolling/moving sample.
na.rm a logical flag: if TRUE, missing values in x will be removed before computation. The default is FALSE.
trim a logical flag: if TRUE, the first n-1 missing values in the returned object will be removed; if FALSE, they will be saved in the returned object. The default is TRUE.
unbiased a logical flag. If TRUE, the unbiased sample variance will be returned. The default is TRUE.
x a numeric vector or univariate time series.
... additional arguments to be passed.

Value

The functions return a numeric vector or time series object.
rollMax returns the rolling sample maximum,
rollMin returns the rolling sample minimum,
rollMean returns the rolling sample mean, and
rollVar returns the biased/unbiased rolling sample variance.
If you like to operate for x with rectangular objects, you have to call the functions columnwise within a loop.

Author(s)

Diethelm Wuertz for this R-port.

See Also

var.

Examples

## Example:
   xmpSeries("\nNext: Rolling Analysis > ")
   x = (1:10)^2
   x
   trim =  c(TRUE, TRUE, FALSE, FALSE)
   na.rm = c(TRUE, FALSE, TRUE, FALSE)
   for (i in 1:4) 
     print(rollMin(x, 5, trim[i], na.rm[i]))
   for (i in 1:4) 
     print(rollMax(x, 5, trim[i], na.rm[i]))
   for (i in 1:4) 
     print(rollVar(x, 5, trim[i], unbiased = TRUE, na.rm[i]))
   for (i in 1:4) 
     print(rollVar(x, 5, trim[i], unbiased = FALSE, na.rm[i]))

[Package Contents]