Skip to content
All library documents

Why EMA Values Change as ArrayManager Bars Update

Article vn.py community

Summary

This forum exchange addresses a question about changing historical EMA readings and repeated signals in a VeighNa CTA strategy using ArrayManager. The answer explains EMA as a recursive indicator: each new bar updates the current value using the latest price and the preceding EMA. It also notes that a short history during initialization can make early readings sensitive to the starting data, while loading more history can help the calculation settle before live use.

The suggested mitigations are to initialize with sufficient history, load historical bars before trading, and consider evaluating less frequently with a longer bar interval. These steps can reduce startup sensitivity, but they do not prevent EMA values from changing as new bars arrive. The explanation does not investigate whether the reported changes come from incomplete bars, data corrections, or strategy implementation, and it gives no empirical comparison or code validation. The forum answer should therefore be treated as general guidance rather than a diagnosis of the specific signal behavior.

Key ideas

  • EMA is recursive, so new observations update its value.
  • A short initialization history can make early EMA values sensitive to the starting data.
  • Loading sufficient historical bars before strategy operation can reduce initialization effects.
  • Using longer bar intervals changes how often the strategy evaluates new data but does not stop EMA updates.

Tags

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