Skip to content
All library documents

Choosing the Smoothing Factor for Exponential Moving Averages

Article Quant Q&A · Author: T.S

Summary

The document discusses how to choose the smoothing factor, alpha, for exponential smoothing used to preprocess trading data before a machine learning model. It gives a rule linking alpha to the sampling interval and a chosen time constant: a shorter time constant produces more responsive smoothing, while a longer one produces more gradual smoothing. When observations arrive much faster than the time constant, alpha can be approximated by the sampling interval divided by that time constant.

The answer then questions common recursive approaches, noting concerns about repeated smoothing, weight normalization, and initialization. It raises the possibility of calculating an exponential moving average without recursion, but the provided text does not include the proposed method or its derivation. There are no trading tests or empirical comparisons, so this is a conceptual starting point rather than evidence that a particular alpha improves a strategy or machine learning pipeline.

Key ideas

  • Alpha can be related to the observation interval and a selected smoothing time constant.
  • A shorter time constant makes the smoothed series respond more quickly.
  • The time constant provides an interpretable alternative to selecting alpha by trial alone.
  • The document raises concerns about recursive smoothing and initialization but does not present a non-recursive solution.
  • No empirical evidence is provided on predictive or trading performance.

Tags

Full text
# How to use exponential smoothing for trading?


# How to use exponential smoothing for trading?












I was wondering if there's a rule of thumb regarding the value of alpha used when performing exponential smoothing. I plan to use this technique to preprocess my data before feeding them into my machine learning algorithm.

## Answer by David Addison (score 0)

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

Here is the answer given by Wikipedia:

> The time constant of an exponential moving average is the amount of time for the smoothed response of a unit set function to reach ${\displaystyle 1-1/e\approx 63.2\,\%}$ of the original signal. The relationship between this time constant, ${\displaystyle \tau } $ , and the smoothing factor, ${\displaystyle > \alpha }$, is given by the formula: ${\displaystyle \alpha =1-e^{-\Delta T \over \tau }}$ Where ${\displaystyle \Delta T}$ is the sampling time interval of the discrete time implementation. If the sampling time is fast compared to the time constant then ${\displaystyle \alpha \ \approx {\frac{\Delta T}{\tau} }}$.

This canonical approach is fine, but I find it fairly inefficient because:

- taking the double and triple EMAs is redundant; it is essentially equal to using a lower alpha value;

- The weights of terms only converge to one; i.e., $\sum w \ne 1$; and

- Estimating initial parameters requires significant amount of recursion.

I therefore propose the following method: Is there a non-recursive way of calculating the exponential moving average?

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.