cov

cov(x, y, w=Window(w=None, r=0))[source]

Rolling co-variance of series over given window

Parameters
  • x (Series) – series: timeseries

  • y (Series) – series: timeseries

  • w (Union[Window, int]) – Window or int: size of window and ramp up to use. e.g. Window(22, 10) where 22 is the window size and 10 the ramp up value. Window size defaults to length of series.

Return type

Series

Returns

timeseries of covariance

Usage

Provides unbiased estimator of sample co-variance over a rolling window:

\(R_t = \frac{1}{N-1} \sum_{i=t-w+1}^t (X_i - \overline{X_t}) (Y_i - \overline{Y_t})\)

where \(N\) is the number of observations in each rolling window, \(w\), and \(\overline{X_t}\) and \(\overline{Y_t}\) represent the sample mean of series \(X_t\) and \(Y_t\) over the same window:

\(\overline{X_t} = \frac{\sum_{i=t-w+1}^{t} X_i}{N}\) and \(\overline{Y_t} = \frac{\sum_{i=t-w+1}^{t} Y_i}{N}\)

If window is not provided, computes variance over the full series

Examples

Generate price series and compute variance of returns over \(22\) observations

>>> prices_x = generate_series(100)
>>> prices_y = generate_series(100)
>>> cov(returns(prices_x) returns(prices_y), 22)

See also

sum() mean() var()