Rolling statistics
statistics-rollMean.Rd
Computes 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)