2.37 Cubic-Velocity Modified EMA and Skipped Convolution

Estimate slope from a 4-point cubic with skipped taps and the modified EMA turns faster and lags less. But a derivative is no low-pass: the output is not smooth, and that is the real trade.

2.37 Cubic-Velocity Modified EMA and Skipped Convolution

The old article "Zero-Lag EMA: The Kalman Filter, Simplified" cut the EMA's lag by adding a velocity term to the price before smoothing, where velocity was a simple slope. This article pushes the same idea harder and then shows the wall it hits. Estimate velocity from a cubic fit instead of a straight line, and you get a filter that turns faster and lags less than a plain EMA. But the same aggressiveness that buys responsiveness destroys the one property a trend filter is supposed to have: this thing is no longer a low-pass, so its output is not smooth, and pretending otherwise is how you end up trading noise.

The modified EMA: smooth a velocity-corrected price

Start from the modified EMA, the structure behind the zero-lag family. It is an ordinary EMA fed a price that has been nudged forward by an estimate of its own velocity.

$$ \text{MEMA}[n] = \alpha\,\big(x[n] + V[n]\big) + (1-\alpha)\,\text{MEMA}[n-1], \qquad \alpha = \frac{2}{M+1} $$

The term V is the estimated velocity, the local slope of price, and adding it pushes the input toward where the slope says the next bar is heading. The old article "The Hidden Cost of Every Moving Average: Lag" explained why a plain average trails price: its weight sits behind the present. The velocity term offsets that backward pull, so the more accurate V is, the more lag cancels. The whole game now reduces to one question, how do you measure V, and the answer is where the cubic comes in.

Cubic velocity: fit four points, take the slope

A straight-line velocity assumes price moves at constant speed over the lookback, which is wrong whenever the trend bends, which is when you care. Fit the last four bars with a cubic polynomial instead and read its slope, and you capture curvature. The slope of a four-point cubic fit is a fixed weighted combination of those four bars.

$$ V[n] = \tfrac{11}{6}\,x[n] - 3\,x[n-1] + \tfrac{3}{2}\,x[n-2] - \tfrac{1}{3}\,x[n-3] $$

These coefficients are the standard backward-difference weights for a first derivative, accurate to a higher order than a two-point slope. Feed this V into the modified EMA and the result, the cubic-velocity modified EMA, responds faster than the plain EMA and carries less phase lag, because the cubic tracks a bending trend that a linear slope misreads. So far this looks like a clean win.

Skipped convolution: spread the stencil to tame the jitter

The cubic velocity has a vice: it is computed from four adjacent bars, so it amplifies high-frequency noise, the same way any tight differencing stencil does. Don Mak's fix is skipped convolution, which estimates velocity from past prices spaced apart rather than packed together. Skip one bar between taps and the velocity stencil spans more time for the same number of points, which smooths the slope estimate. Skip two bars and it smooths further.

The idea comes straight from convolution: a filter is a weighted sum of past prices, and spacing the taps changes the filter's frequency response without adding taps or cost. Skipping trades a little timing precision for a steadier velocity, which steadies the whole modified EMA. The dial is the skip distance: skip zero is the raw, jittery cubic; skip one calms it; skip two calms it more at the price of reaching further back. You tune the skip to the noise of your instrument, not to a backtest's flattering curve.

The catch: this is not a low-pass, so it is not smooth

Here is the property that the responsiveness costs you, and it is not negotiable. A trend filter is supposed to be a low-pass: it keeps the slow trend and kills the fast noise. The cubic-velocity modified EMA is not a low-pass. The velocity correction, being a derivative, has high gain at high frequencies, so it lets fast content through, and the output is not smooth. You bought a faster turn and a lower lag by giving up the noise rejection that was the point of smoothing in the first place.

That trade is fine if you know you made it and fatal if you do not. Used as a fast trend-state feature with the noise handled downstream, the cubic-velocity modified EMA earns its lower lag. Used as a clean smoother, it feeds your strategy exactly the high-frequency jitter a smoother exists to remove, and the lower lag is cold comfort when the line is rough enough to whipsaw you. And like every velocity-based lag reducer, the derivative term extrapolates the recent slope, so it overshoots at reversals, the failure the turning-point literature keeps returning to. Treat it as what it is: a reduced-lag, reduced-smoothness filter, not a free upgrade to the EMA.

KEY POINTS

  • The modified EMA smooths a velocity-corrected price (price plus estimated slope), the same lag-cancelling trick as the old article "Zero-Lag EMA: The Kalman Filter, Simplified." The accuracy of the velocity estimate is the whole game.
  • Cubic velocity fits the last four bars with a cubic and reads its slope, with fixed weights 11/6, -3, 3/2, -1/3. It captures a bending trend that a straight-line slope misreads, so it turns faster and lags less than a plain EMA.
  • A tight four-bar derivative amplifies noise. Skipped convolution spaces the velocity taps apart (skip 1, skip 2) to smooth the slope estimate without adding taps or cost; the skip distance is the dial.
  • The fatal property: a derivative has high gain at high frequency, so the cubic-velocity modified EMA is not a low-pass and its output is not smooth. The lower lag is bought by surrendering noise rejection.
  • It is useful as a fast trend-state feature with noise handled downstream, and dangerous if mistaken for a clean smoother, because then it feeds your model the jitter a smoother exists to remove.
  • Like every velocity-based reducer it extrapolates the recent slope, so it overshoots reversals. Treat it as a reduced-lag, reduced-smoothness filter, not a free EMA upgrade.

References