# Rolling Analysis

### Description

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, |

`rollVar` | Rolling or moving sample variance. |

### Usage

1 2 3 4 5 |

### Arguments

`FUN` |
the rolling function, arguments to this function can be
passed through the |

`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` |
an univariate |

`...` |
additional arguments to be passed. |

### Value

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.

### Author(s)

Diethelm Wuertz for the Rmetrics **R**-port.

### See Also

`var`

.

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 | ```
## 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])
``` |