EWMA (Exponential Weighted Volatility) FAQ

Q1: Can we use EWMA to estimate (or forecast) volatility more than one step ahead?

The EWMA volatility representation does not assume a long-run average volatility, and thus, for any forecast horizon beyond one-step, the EWMA returns a constant value:

$$\sigma_n^2=(1-\lambda)r_{n-1}^2+\lambda\sigma_{n-1}^2$$ $$E[\sigma_{n+1}^2]=(1-\lambda) E[r_{n}^2]+\lambda \sigma_{n-1}^2$$ $$E[\sigma_{n+1}^2]=(1-\lambda)\sigma_n^2+\lambda \sigma_{n-1}^2=\sigma_n^2$$ $$E[\sigma_{n+k}^2]=\sigma_n^2$$


Q2: What is the initial value of the variance (i.e. $\sigma_1^2$) in the NumXL EWMA function? Can I set a different value?

Currently, we set the value to zero, but we set the variance at the end of first period equal to the square of return on that period to start the EWMA.

$$\sigma_0^2=0$$ $$\sigma_1^2=r_1^2$$ $$\sigma_2^2=(1-\lambda)r_1^2 + \lambda \sigma_1^2= r_1^2$$ $$\sigma_3^2=(1-\lambda)r_2^2 + \lambda \sigma_2^2= r_1^2$$ $$\cdots$$ $$\sigma_n^2=(1-\lambda)r_{n-1}^2 + \lambda \sigma_{n-1}^2$$

For a large data set, the value has very little impact on the calculated value.

Going forward, we are planning to avail an argument to accept user-defined initial volatility value.


Q3: What is EWMA’s relationship to ARCH/GARCH Model?

EWMA is basically a special form of an ARCH() model, with the following characteristics:

  1. The ARCH order is equal to the sample data size.
  2. The weights are exponentially declining at rate $\lambda$ throughout time.


Q4: Does EWMA revert to the mean?

No. EWMA does not have a term for the long-run variance average; thus, it does not revert to any value.


Q5: What is the variance estimate for horizon beyond one day (or step) ahead?

As in Q1, the EWMA function returns a constant value equal to the one-step estimate value.


Q6: I have weekly/monthly/annual data. Which value of I should use?

You may still use 0.94 as a default value, but if you wish to find the optimal value, you’d need to set up an optimization problem for minimizing the SSE or MSE between EWMA and realized volatility.

See our volatility 101 tutorial in “Tips and Hints” on our website for more details and examples.


Q7: if my data does not have a zero mean, how can I use the function?

No worry, the NumXL implementation of EWMA removes the mean automatically on your behalf.

Have more questions? Submit a request