2.66 The Aroon Difference Oscillator

Aroon ignores price size and measures time: how long since the last new high or low. The Up-minus-Down difference is a bounded, stationary, cross-instrument oscillator for free, but it reads timing, not magnitude.

2.66 The Aroon Difference Oscillator

Almost every trend indicator measures the size of price moves: how far price traveled, how big the gap between two averages grew, how steep the slope is. Aroon ignores size entirely and measures time. It asks one question, how long since the market last printed a new high or a new low, and that single shift in framing produces an oscillator that is bounded, stationary, and comparable across instruments by construction, before you apply a single transform. The old article "Why Most Indicators Should Be Transformed Before Modeling" listed the four geometric properties a model needs from a feature. Aroon arrives with most of them already satisfied, which is rare.

Counting bars, not dollars

Pick a lookback window of n bars including the current one. Find the bar holding the highest high in that window and count how many bars ago it was. If the current bar just made the highest high, that count is zero; if the highest high sits at the oldest bar in the window, the count is n. Aroon Up turns that count into a 0-to-100 reading by linear interpolation, and Aroon Down does the identical thing for the lowest low.

$$ \text{AroonUp} = 100 \cdot \frac{n - (\text{bars since highest high})}{n} \qquad \text{AroonDown} = 100 \cdot \frac{n - (\text{bars since lowest low})}{n} $$

The term n is the lookback, and the bracketed count is how many bars back the extreme occurred. A fresh high today gives Aroon Up of 100; a high that has not been touched for the full window gives 0; anything between scales linearly with recency. Read the two lines together and the logic is immediate. Aroon Up near 100 with Aroon Down near 0 means the market keeps making new highs and has not made a new low in ages, a clean uptrend. Both lines low means neither extreme has printed recently, a market gone quiet inside its range.

The difference is the well-behaved oscillator

Watching two lines is clumsy for a model, so subtract them.

$$ \text{AroonDiff} = \text{AroonUp} - \text{AroonDown} $$

The Aroon difference lives in minus 100 to plus 100, centered at zero, with positive values signaling recent highs dominating and negative values signaling recent lows dominating. This is a well-behaved oscillator in the precise sense the old transform article meant. It has a stable scale across time because it is built from bar counts, not prices, so it reads the same in 1995 and 2025 regardless of whether the index sits at 300 or 5500. It is bounded, so no outlier can blow out its range and saturate a model. It is comparable across instruments, because a count of bars-since-new-high means the same thing on a stock, a currency, and a futures contract. Raw price fails all three of those, which is why the old article on raw price indicators dismissed it; Aroon clears them for free because it never touches the price level, only the timing of extremes.

Read the histogram before you trust it

The old article "Why Indicator Histograms Matter" insisted that a scalar summary hides the shape, and the shape decides the action. Aroon rewards that habit, because its distribution exposes a quirk you have to know about. The indicator is built on the passage of time, not the magnitude of price change, and those two can decouple hard. A market can grind to a strong directional Aroon reading while barely moving in price, because it keeps nudging out marginal new highs on tiny increments. Another market can run a violent, profitable trend yet show a weak Aroon, because one early spike set a high that later bars never quite beat, so the bars-since-new-high count climbs even as price trends. Plot the Aroon difference against forward returns and the histogram tells you whether, on your instrument, the time-based reading actually lines up with tradeable moves or fires on flat drift.

That is why Aroon is a companion, not a standalone. It quantifies the timing structure of a trend cleanly, and it stays silent on whether the trend carries enough price movement to trade, so it pairs with a magnitude-based trend or volatility indicator that supplies the piece Aroon deliberately throws away.

What you get and what you gave up

The Aroon difference is a bounded, stationary, cross-instrument timing oscillator that needs no rescaling to enter a model, which makes it cheap and robust as a feature. The cost is baked into the design: by counting bars instead of measuring moves, it is blind to how big those moves are, so it can shout trend on a flat tape and whisper on a runaway one. The lookback n is a real parameter that sets which timescale's extremes you are tracking, and a length that suits a swing horizon will misread an intraday one, so set it from the cycle you intend to trade rather than a default. Treat a strong Aroon reading as evidence about the timing of new extremes, confirm it with something that measures price magnitude, and run the histogram against forward returns on your own instrument before you let it size a position.

KEY POINTS

  • Aroon measures time, not price size: how many bars since the last new high (Aroon Up) and new low (Aroon Down), each interpolated linearly to a 0-to-100 reading.
  • The Aroon difference, Up minus Down, is an oscillator bounded in minus 100 to plus 100 and centered at zero, positive when recent highs dominate and negative when recent lows do.
  • It satisfies the old transform article's feature requirements for free: stable scale across time, bounded range, and cross-instrument comparability, because it never touches the price level, only the timing of extremes. Raw price fails all three.
  • Timing and magnitude decouple: Aroon can read strong on a flat market that keeps nudging marginal highs and weak on a violent trend whose early spike was never beaten. Read the histogram against forward returns, as the old histograms article demanded.
  • Use it as a companion to a magnitude-based trend or volatility indicator, not alone; the lookback sets the timescale and must match the cycle you trade.

References