Skip to content
All library documents

Choosing Adjusted or Recursive Exponential Moving Averages

Article Quant Q&A · Author: fox

Summary

The document discusses how finite observations affect exponential moving average calculations and the differing outputs produced by adjusted and recursive formulations. Its response characterizes the difference as an initialization effect: the recursive approach is simpler, while the adjusted calculation explicitly handles the finite history. It recommends the adjusted form when treating the observed sample as finite, unless compatibility with an existing system using the recursive calculation is more important.

The response says the two methods converge as more observations accumulate, making the distinction less influential later in a long series. It argues that finite versus infinite framing is not especially useful because every observed dataset is finite. The discussion offers a practical choice and qualitative explanation, but no derivation, numerical comparison, convergence threshold, or trading-performance evidence. In practice, results can differ during initialization, and matching an established calculation may matter for reproducibility.

Key ideas

  • Adjusted and recursive exponential moving averages can differ because of initialization.
  • The adjusted method accounts explicitly for the finite observed history.
  • The recursive method is simpler and may be needed to match an existing system.
  • The response expects the methods to converge as additional observations accumulate.
  • The document gives no numerical comparison or evidence about trading performance.

Tags

Full text
# Exponential weighting for infinite and finite series


# Exponential weighting for infinite and finite series












in dealing with financial time series, should I consider a dataset to be finite in calculating exponential moving averages?

From the `Pandas` documentation 1, finite series should be using the `adjust=False` parameter. Is this correct, as the use of `adjust=True` yields different result?

## Answer by nbbo2 (score 1)

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

Does it really matter? It is an initialization issue, and once you have enough data the two methods will converge. `adjust=False` calculation is simpler, but `adjust=True` is theoretically better suited to a finite series (yes, I think it is the opposite of what you said). Probably most people still use the simpler, older method, but since the computer does all the work you don't really care about complexity. I would use `True` unless you want to match the results from an existing system that uses the simple method (and notice that Pandas makes True the default).

Finite vs infinite is a red herring, all observed series are finite. It is the simple formula from the 1950s when they did calculations by hand, or the other slightly more sophisticated slightly newer formula. Some people want to stick with the old formula, so Pandas provides `adjust=False` for these traditionalists.

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.