I wrote a simple function in Python to calculate the exponentially weighted mean:

`def test(): x = [1,2,3,4,5] alpha = 0.98 s_old = x[0] for i in range(1, len(x)): s = alpha * x[i] + (1- alpha) * s_old s_old = s return s`

However, how can I calculate the corresponding SD?

**Answer**

You can use the following recurrent formula:

σ2i=Si=(1−α)(Si−1+α(xi−μi−1)2)

Here xi is your observation in the i-th step, μi−1 is the estimated EWM, and Si−1 is the previous estimate of the variance. See Section 9 here for the proof and pseudo-code.

**Attribution***Source : Link , Question Author : Mariska , Answer Author : Roman Shapovalov*