โฑ๏ธ Aroon โ Time-Since-Extreme Indicator
Aroon measures when, not how much: how many periods have elapsed since the highest high and the lowest low within a lookback window. A fresh new trend shows up as "time since extreme" collapsing toward zero.
๐ก Financial Meaning
Aroon Up spikes to 100 the moment price sets a new \(N\)-period high; it decays linearly if no new high appears. The same logic, mirrored, drives Aroon Down from the lowest low. A crossover of Aroon Up above Aroon Down โ especially near 100 โ signals the birth of an uptrend; the reverse signals a new downtrend. The Aroon Oscillator (Up โ Down) condenses both lines into one, oscillating between โ100 and +100.
๐ข Mathematical Formulas
-
Periods since the highest high / lowest low within the last \(N\) observations:
\[ p^{H}_t = \operatorname*{argmax}_{0 \le i \le N} H_{t-i}, \qquad p^{L}_t = \operatorname*{argmax}_{0 \le i \le N} \big(-L_{t-i}\big) \] -
Aroon Up / Down, rescaling elapsed time into a 0โ100 "freshness" score:
\[ Up_t = 100 \cdot \frac{N - p^{H}_t}{N}, \qquad Down_t = 100 \cdot \frac{N - p^{L}_t}{N} \] -
Aroon Oscillator:
\[ Osc_t = Up_t - Down_t \]
โ๏ธ Parameters
| Parameter | Key | Default | Description |
|---|---|---|---|
| Period (\(N\)) | period |
14 | Lookback window for locating the extreme high/low, in sessions. |
๐๏ธ Signal Processing Equivalent โ Peak-Hold Timer / Age Counter
Aroon is unusual among these indicators: it is not a filter on amplitude at all, but a peak-hold circuit with an age counter. Each new sample resets a "time-since-last-peak" register to zero if it beats the running maximum within the window; otherwise the register counts up. This is the discrete-time equivalent of a retriggerable monostable timer driven by a comparator against a sliding-window maximum/minimum.
flowchart LR
H["๐ High"] --> MAXW["๐๏ธ Rolling max over N bars"]
MAXW --> AGEH["โฑ๏ธ Bars since last new high"]
AGEH --> UP["โฌ๏ธ Aroon Up = 100ยท(Nโage)/N"]
L["๐ Low"] --> MINW["๐ณ๏ธ Rolling min over N bars"]
MINW --> AGEL["โฑ๏ธ Bars since last new low"]
AGEL --> DOWN["โฌ๏ธ Aroon Down = 100ยท(Nโage)/N"]
UP --> OSC["๐ Oscillator = Up โ Down"]
DOWN --> OSC
Complementary to ADX
ADX measures directional energy accumulated over the window; Aroon measures elapsed time since the last extreme. A trend can be strong by ADX's measure while Aroon shows it is "aging" (no new extreme for a while) โ a common early warning of exhaustion that ADX alone will not show.