1995issue C101-5
Building momentum-scaled adaptive moving averages
A variable-length average can be built as a recursive blend of the current close and the prior average, with the blend weight equal to a fixed smoothing factor times an absolute momentum ratio. Percentage envelopes are added last as multiples of that finished line.
- Signed-move sums send each close-to-close change to an up total or a down total, then form an absolute momentum ratio that scales from zero to one.
- The adaptive blend weight is only that ratio times a fixed smoothing factor, so a fixed-length exponential update becomes an adaptive moving average when the ratio is allowed to vary.
- Seed the recursion with the close after the signed-move window is available, update from the prior adaptive value, and withhold output until that value is positive.
- Draw percentage envelopes as one-percent multiples of the adaptive average, and treat the commodity channel index as a sibling lookback oscillator rather than a second recipe.
A recursive average with a changing blend weight
An adaptive moving average is a recursive price smoother whose effective blend weight is allowed to change from bar to bar. A moving average in the same family is a recursive blend of the latest close with the prior average, using a fixed smoothing factor of the form two divided by a period plus one.
When the absolute momentum ratio is allowed to vary, the same exponential update that defines a fixed-length moving average becomes an adaptive average. A variable-length average can be built as a recursive blend of the current close and the prior average, with the blend weight equal to a fixed smoothing factor times that absolute momentum ratio.
Turn consecutive closes into a persistence reading
Each bar contributes its close-to-close change to only the up total or only the down total, not both. Signed-move sums are those separate running totals of upward closes and downward closes over a fixed window.
The momentum ratio equals the difference between a lookback sum of up-moves and a lookback sum of down-moves, divided by the total of those two sums. The absolute momentum ratio is the absolute value of that difference divided by the combined size of the two totals, and it is used as a zero-to-one scaler.
One complete parameterization uses a nine-bar window for the signed-move sums.
Scale the exponential update
The blend weight equals the fixed smoothing factor times the absolute momentum ratio. One complete parameterization uses a twelve-period input inside the exponential factor two divided by the period plus one.
The average remains a recursive blend of the current close and the prior average. The persistence reading changes only the weight inside that update.
Seed the recursion and withhold incomplete output
The recursion is seeded with the close after the signed-move window is available, then updated from its own prior value on later bars. That recursive seed is the first legal value of a self-referential series, commonly the close once the window is full.
A construction may withhold output until the adaptive value is positive so incomplete start-of-series readings are not plotted.
Add percentage envelopes last
Upper and lower envelopes can be drawn as one-percent multiples of the adaptive average rather than as independently smoothed series. A percentage envelope is the pair of upper and lower lines formed as constant fractional multiples of the adaptive average itself.
Envelope lines that depend on the recursive average also require their own recursive update steps.
DJIA with VIDYA and 1% bands, Apr–Aug 1995

VIDYA uses a 12-period exponential base scaled by a 9-day absolute CMO; envelopes are VIDYA times 1.01 and 0.99. About four months of daily bars were sampled at a spacing the raster can support; values are approximate.
A sibling lookback oscillator
The commodity channel index is a lookback price oscillator in the same quantitative-filter family. It is used here only as a sibling example of mapping a window of ordered prices into a scaled reading.
All readings on this track · 24 readings
- 1991Building variable-length moving averages from partitioned price changes
- 1991Variable-length moving average from change dispersion
- 1992Constructing volatility-adaptive exponential smoothing
- 1995Constructing an adaptive moving average with an efficiency ratio and filter
- 1995Two-gate breakout confirmation with adaptive averages
- 1995Building momentum-scaled adaptive moving averages
- 1995Adaptive length as a construction choice inside exponential smoothing
- 1998Testing price-channel breakouts with a lag-aware adaptive average
- 1998Constructing filters by nesting offsets and variable weights
- 1998Constructing an efficiency ratio adaptive average and entry filter
- 2001Encoding candle structure as a numeric filter
- 2001Adaptive averages driven by cycle-phase speed
- 2005Constructing an adaptive moving average from a fractal-dimension weight
- 2005Range-dimension adaptive exponential filter
- 2010Constructing simple, exponential, and adaptive averages
- 2010How a price-hugging smoother is assembled from ordinary averages
- 2013Evaluating an adaptive moving average against a same-window moving average
- 2016Three-layer confirmation: adaptive average, stochastic relative strength index, and stop-and-reverse
- 2017One-alpha reverse-path exponential smoothing
- 2018Pair two adaptive averages to filter swing turns
- 2018Two Adaptive moving averages as a confirmation pair
- 2018Constructing an adaptive filter for adoption-cycle reversals
- 2018Constructing a deviation-scaled adaptive moving average
- 2020Walk-forward and adaptive averages as two tests of the same trend