Ultimate oscillator

The ultimate oscillator is a theoretical concept in finance.

Larry Williams developed the ultimate oscillator as a way to account for the problems experienced in most oscillators when used over different lengths of time.[1]

The oscillator is a technical analysis oscillator developed by Larry Williams 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,

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).

References

Further reading