gs_quant.timeseries.statistics.percentiles — gs_quant 0.1 documentation

# gs_quant.timeseries.statistics.percentiles

`percentiles`(x, y=None, w=<gs_quant.timeseries.helper.Window object>)

  Rolling percentiles over given window

  Parameters

    - x (`Series`) – value series

    - y (`Optional`[`Series`]) – distribution series

    - w (`Union`[`Window`, `int`, `str`]) – 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. If w is a string, it should be a relative date like ‘1m’, ‘1d’, etc. Window size defaults to length of series.

  Return type

    `Series`

  Returns

    timeseries of percentiles

  Usage

  Calculate percentile rank of \(y\) in the sample distribution of \(x\) over a rolling window of length \(w\):

  \(R_t = \frac{\sum_{i=t-N+1}^{t}{[X_i<{Y_t}]}+0.5\sum_{i=t-N+1}^{t}{[X_i={Y_t}]}}{N}\times100\%\)

  Where \(N\) is the number of observations in a rolling window. If \(y\) is not provided, calculates percentiles of \(x\) over its historical values. If window length \(w\) is not provided, uses an ever-growing history of values. If \(w\) is greater than the available data size, returns empty.

  Examples

  Compute percentile ranks of a series in the sample distribution of a second series over \(22\) observations

      >>> a = generate_series(100)
      >>> b = generate_series(100)
      >>> percentiles(a, b, 22)

  See also

  `zscores()`