Adaptive Moving Average Filtering with NLMS and Market-Aware Learning Rates
Summary
The article introduces a self-adaptive moving average implemented as an adaptive finite impulse response filter using normalized least mean squares (NLMS). Instead of fixed moving-average weights, the filter predicts the current price from past inputs, measures prediction error, and adjusts its weights in proportion to that error, normalized by input energy. The update is intended to run incrementally and commit changes only on closed bars, supporting a non-repainting chart indicator.
It outlines optional enhancements: clamp large errors using ATR, apply weight leakage, normalize weights, and scale the learning rate with Kaufman's Efficiency Ratio so adaptation is faster in directional movement and slower in choppy conditions. It also describes price, difference, and return input modes, plus output reconstruction and slope-based colors. The article is a design and implementation overview for a later installment, not a benchmark. It offers no comparative performance evidence here; leakage is described as a practical stabilizer rather than a guarantee of bounded weights, and adaptive behavior depends on parameter choices and input representation.
Key ideas
- NLMS adjusts filter weights using prediction error normalized by the energy of past inputs.
- The proposed filter updates incrementally on closed bars to avoid repainting finalized values.
- ATR-based error clamping and weight leakage are presented as safeguards against shocks and drift.
- An optional Efficiency Ratio scales the learning rate according to directional efficiency.
- Price, difference, and return inputs require different reconstruction steps to produce plotted prices.
Tags
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.