rollingAnalysis {fSeries} | R Documentation |
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. |
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)
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. |
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.
Diethelm Wuertz for this R-port.
var
.
## 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]))