Skip to content
All library documents

Choosing the EWMA Return History for RiskMetrics Volatility

Article Quant Q&A · Author: beeba

Summary

The document examines how many past returns to include when calculating volatility with an exponentially weighted moving average (EWMA). For a decay factor of 0.94, it compares truncating the history at 74 observations with including 75. Because older observations still receive positive weight, truncation leaves some of the total weight unassigned; the response calculates that the 74-observation window leaves just over 1% unused, while the 75-observation window leaves just under 1%.

It gives a general rule for estimating the required history from the tolerance level and decay factor: take the logarithm of the tolerance divided by the logarithm of the decay factor, then round up to a whole observation when the tolerance must be met. The response notes that the cited RiskMetrics document rounds the example down to 74, which does not meet the stated 1% tolerance under this calculation. This is a truncation rule for EWMA weights; the document does not assess how window choice affects volatility forecasts or VaR performance.

Key ideas

  • EWMA gives progressively smaller weights to older returns, but those weights remain positive.
  • A finite history truncates the total weight assigned to observations.
  • For a 0.94 decay factor, the response finds that 75 observations are needed to keep omitted weight below 1%.
  • The required sample size depends on both the decay factor and the tolerated omitted weight.
  • The document discusses truncation precision, not the forecasting quality of the resulting volatility estimate.

Tags

Full text
# RiskMetrics VaR Volatility Sample Size


# RiskMetrics VaR Volatility Sample Size












RiskMetrics calculates volatility using an exponentially weighted moving average. For a decay factor of 0.94, they advise a sample size of 74 past returns. Does this mean the entire calculation should have a total of 74 days of data, including today, or a total of 75 days of data (today and the previous 74 days)?

Realistically this won't affect the calculation very much but I would like to be as precise as possible and faithful to the document's method.

## Answer by Malick (score 6, accepted)

https://quant.stackexchange.com/a/23084

Depending of $\lambda$, pasts observations will be weighted differently, if you compute the volatility at time $t$ , the $t-1$ observation will be weighted by $(1-\lambda)*\lambda^{0}$, the $t-2$ observation by $(1-\lambda)*\lambda^{1}$ and so on so forth.

For $\lambda= 0.94 $ :

- The first observation is weighted by = $(1-0.94) * 0.94^0 =0.06%$

- The second observation is weighted by = $(1-0.94) * 0.94^1 = 0,0564%$

...

- The 74 observation is weighted by = $(1-0.94) * 0.94^{73} = 0,00065537%$

- The 75 observation is weighted by = $(1-0.94) * 0.94^{74} = 0,00061604%$

For each observations taken into account you may compute the cumulative weights , and thus the weights not assigned :

Cumulative weights:

- cumulative first observation= $0.06$ $\implies$ left $0.94\%$ of weights to assign (ie $1- 0.06 = 0.94$)

- cumulative second observation = $(0.06+ 0.564 )= 0.1164$ $\implies$ left $0.8836 \%$ of weights to assign (ie $1- (0.1164 ) = 0.8836$ )

....

- cumulative 74th observation = $(0.06+0.564+….) = 0,98973258 $ $\implies$ left $0,01026742 \%$ to assign

- cumulative 75th observation = $(0.06+0.564+….) = 0,99034863$ $\implies$ left $0,00965137 \%$ to assign

So if you truncate your computation at the 74 th observations (if you compute EWMA over 74 total observations), with lambda of 0.94, you lose more than 1% of weights.

If your tolerance rate is 1% this is not acceptable and you will need to truncate at the 75 th day (because with this number of observation you lose less than 1% of weights).

> So for a 1% tolerance rate you need at least 75 past days to compute today volatility.

From Riskmetrics document : the formula wich returns the number of observations needed is given by :

$K = \frac{\ln(to)}{\ln(\lambda)} $

where $to$ is the tolerance level.

Thus for $\lambda = 0.94$ and tolerance $=0.01$ we indeed found a value lightly superior to 74 days (indicating we need 75 days):

$\frac{\ln(0.01)}{\ln(0.94)} = 74,4265073$

Rismetrics in their documents round this value to 74 but in doing so they violate their tolerance rate.

For details : See page 93 and 94 RiskMetrics — Technical Document.(1996)

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.