Skip to main content
All posts

What is the Hull Moving Average? Definition, Formula, and Example

The Hull Moving Average is a low-lag moving average developed by Alan Hull in 2005 that combines three weighted moving averages — one at half the period, one at the full period, and a final smoothing at the square root of the period — to track price with materially less lag than EMA or SMA.

Plain-English Definition

The Hull Moving Average (HMA) is a moving average designed by Australian analyst Alan Hull in 2005 to solve the core problem of every smoothed price line: lag. Simple and exponential moving averages smooth at the cost of delayed turning points. HMA uses a clever combination of weighted moving averages at three different periods to produce a line that hugs price almost in real time while remaining visually smooth. On a chart, HMA looks like an EMA that's been pulled forward in time.

How It's Calculated

HMA is a three-step recipe built on the Weighted Moving Average (WMA), where each bar's weight equals its recency rank:

HMA(n) = WMA( 2 × WMA(n/2) − WMA(n), √n )

The construction:

1. Compute WMA over n/2 bars (the fast component).

2. Multiply by 2 and subtract WMA over n bars (this is a "double WMA minus single WMA" detrender — the same trick used in DEMA, producing a near-zero-lag estimate at the cost of overshoot).

3. Smooth the resulting series with a final WMA of length √n.

All non-integer periods are rounded to the nearest whole bar. For HMA(16): WMA(8) and WMA(16) feed step 2; step 3 smooths with WMA(4). For HMA(9): WMA(4), WMA(9), final WMA(3).

The √n smoothing window is the elegant piece — it scales the smoothing inversely with how aggressive the detrend was, keeping the curve visually clean.

Worked Example

QQQ closes for the last 9 bars (oldest first): 440, 442, 441, 443, 446, 448, 447, 450, 453.

  • WMA(4) over last 4 closes (447, 450, 453, plus one more): weights 1, 2, 3, 4 → (1×447 + 2×448 + 3×450 + 4×453) / 10 = 450.5
  • WMA(9) over all 9 closes: weights 1 through 9 → ≈ 447.4
  • Detrend: 2 × 450.5 − 447.4 = 453.6
  • Final WMA(3) of detrend series → tracks ~453, while a 9-period SMA prints ~445.6 and a 9-period EMA prints ~447.2.

The HMA sits ~6 points closer to current price than the SMA. In a fast trend, that means signals two to three bars earlier.

When Traders Use It

  • Direction filter. Slope of HMA — green when rising, red when falling — is a primary trend filter for swing and intraday systems.
  • Replacing slow EMAs. Traders running 50-EMA pullback systems often substitute HMA(50) for earlier entries.
  • Crossover systems. HMA(9)/HMA(20) crossovers fire 2–5 bars faster than equivalent EMA crossovers, though with more whipsaws in chop.
  • Multi-timeframe stacking. 20-period HMA on the 5-minute confirmed by rising HMA on the hourly is a common day-trading setup on SPY and ES.

Limitations and Common Misconceptions

  • Lag is reduced, not eliminated. HMA still trails real-time price. Claims of "zero-lag" are marketing.
  • Whipsaws in chop. The same speed that helps trends hurts in ranges. HMA crossovers in sideways action are unreliable.
  • Color-change ≠ entry signal. The HMA flipping from red to green is a *condition*, not a trade. Combine with a price trigger such as a break of the prior bar's high.
  • Not standard in all platforms. HMA is built into TradingView, ThinkOrSwim, and most modern platforms, but some legacy tools require a custom script.

Institutional-grade tools, browser-based.

Get every ticker in this post on a real terminal, scanner, charts, filings, insider trades, and 800K+ economic series in one tab. Free tier, no credit card.

Try Tapeboard free → 14-day Pro trial · no card