Ultimate oscillator

The ultimate oscillator is a theoretical concept in finance developed by Larry Williams as a way to account for the problems experienced in most oscillators when used over different lengths of time. The oscillator is a technical analysis indicator based on a notion of buying or selling "pressure" represented by where a day's closing price falls within the day's true range.

The calculation starts with "buying pressure", which is the amount by which the close is above the "true low" on a given day. The true low is the lesser of the given day's trading low and the previous close.


 * $$ bp = close - \min (low, prev\,close) $$

The true range (the same as used in average true range) is the difference between the "true high" and the true low above. The true high is the greater of the given day's trading high and the previous close.


 * $$ tr = \max (high, prev\,close) - \min (low, prev\,close) $$

The total buying pressure over the past 7 days is expressed as a fraction of the total true range over the same period. If $$bp_1$$ is today, $$bp_2$$ is yesterday, etc., then


 * $$ avg_7 = {bp_1 + bp_2 + \cdots + bp_7 \over tr_1 + tr_2 + \cdots + tr_7 } $$

The same is done for the past 14 days and past 28 days and the resulting three ratios combined in proportions 4:2:1, and scaled to make a percentage 0 to 100. The idea of the 7-, 14- and 28-day periods is to combine short, intermediate and longer time frames.


 * $$ UltOsc = 100 \times {4 \times avg_7 + 2 \times avg_{14} + avg_{28} \over 4 + 2 + 1 } $$

Williams had specific criteria for a buy or sell signal. A buy signal occurs when,


 * Bullish divergence between price and the oscillator is observed, meaning prices make new lows but the oscillator doesn't
 * During the divergence the oscillator has fallen below 30.
 * The oscillator then rises above its high during the divergence, i.e. the high in between the two lows. The buy trigger is the rise through that high.

The position is closed when the oscillator rises above 70 (considered overbought), or a rise above 50 but then a fallback through 45. A sell signal is generated conversely on a bearish divergence above level 70, to be subsequently closed out below 30 (as oversold).