
A collection and description of functions to perform a rolling analysis. A rolling analysis is often required in building trading models.
The functions are:
rollFun |
Rolling or moving sample statistics, |
rollFun(x, n, trim = TRUE, na.rm = FALSE, FUN, ...)
rollVar(x, n = 9, trim = TRUE, unbiased = TRUE, na.rm = FALSE)
the rolling function, arguments to this function can be
passed through the …
argument.
an integer specifying the number of periods or terms to use in each rolling/moving sample.
a logical flag: if TRUE, missing values in x will be removed before computation. The default is FALSE.
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.
a logical flag. If TRUE, the unbiased sample variance will be returned. The default is TRUE.
an univariate timeSeries
object or a numeric vector.
additional arguments to be passed.
The functions return a timeSeries
object or a numeric
vector, depending on the argument x
.
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.
Note, that the function rollFun
always returns a numeric
vector, independent of the argument x
.
If you like to operate for x
with rectangular objects,
you have to call the functions columnwise within a loop.
var
.
# NOT RUN {
## 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)
rollFun(x, 5, trim[i], na.rm[i], FUN = min)
for (i in 1:4)
rollFun(x, 5, trim[i], na.rm[i], FUN = max)
for (i in 1:4)
rollVar(x, 5, trim[i], unbiased = TRUE, na.rm[i])
for (i in 1:4)
rollVar(x, 5, trim[i], unbiased = FALSE, na.rm[i])
# }
Run the code above in your browser using DataLab