Rolling statistics
statistics-rollMean.RdComputes rolling mean, min, max and median for a "timeSeries"
object.
Usage
rollStats(x, k, FUN = mean, na.pad = FALSE,
align=c("center", "left", "right"), ...)
rollMean(x, k, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollMin(x, k, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollMax(x, k, na.pad = FALSE,
align = c("center", "left", "right"), ...)
rollMedian(x, k, na.pad = FALSE,
align = c("center", "left", "right"), ...)Arguments
- x
an uni- or multivariate
"timeSeries"object.- k
an integer width of the rolling window. Must be odd for
rollMedian.- FUN
the function to be rolled.
- na.pad
a logical flag. Should NA padding be added at beginning? By default
FALSE.- align
-
a character string specifying whether the index of the result should be left- or right-aligned or centered compared to the rolling window of observations. The default choice is set to
align="center". - ...
optional arguments to be passed.
Details
The code in the core of the functions rollMean, rollMin,
rollMax, and rollMedian was borrowed from the package
zoo authored by Achim Zeileis, Gabor Grothendieck and Felix
Andrews.
Author
Achim Zeileis, Gabor Grothendieck and Felix Andrews for code from the
contributed R package zoo used in the functions
rollMean, rollMin, rollMax, and rollMedian.
Examples
## Use Swiss Pension Fund Data Set of Returns -
head(LPP2005REC)
#> GMT
#> SBI SPI SII LMI MPI
#> 2005-11-01 -0.000612745 0.008414595 -0.003190926 -0.001108882 0.001548062
#> 2005-11-02 -0.002762009 0.002519342 -0.004117638 -0.001175939 0.000342876
#> 2005-11-03 -0.001153092 0.012707292 -0.005209409 -0.000992456 0.010502959
#> 2005-11-04 -0.003235750 -0.000702757 -0.001127165 -0.001198528 0.011679558
#> 2005-11-07 0.001310970 0.006205226 -0.001795839 0.000360366 0.002709618
#> 2005-11-08 0.000539312 0.000329260 0.002103374 0.002327040 0.000346843
#> ALT LPP25 LPP40 LPP60
#> 2005-11-01 -0.002572971 -0.000130008 0.000199980 0.000809672
#> 2005-11-02 -0.001141604 -0.001561421 -0.001120404 -0.000469730
#> 2005-11-03 0.005007442 0.001541418 0.003317548 0.005731589
#> 2005-11-04 0.009482677 0.000439969 0.002421248 0.004838735
#> 2005-11-07 0.004723952 0.001638182 0.002246611 0.003012363
#> 2005-11-08 0.000853619 0.001087309 0.000962708 0.000828043
SPI <- LPP2005REC[, "SPI"]
head(SPI)
#> GMT
#> SPI
#> 2005-11-01 0.008414595
#> 2005-11-02 0.002519342
#> 2005-11-03 0.012707292
#> 2005-11-04 -0.000702757
#> 2005-11-07 0.006205226
#> 2005-11-08 0.000329260
## Plot Drawdowns -
rmean <- rollMean(SPI, k = 10)
plot(rmean)