Stochastic, flipped
Williams %R and Stochastic %K measure the same thing — where did today's close land inside the last N bars' range — but with the sign flipped. Learn one, you know both.
Larry Williams popularized %R through his book How I Made One Million Dollars Last Year Trading Commodities. Kaufman's origin note:
After the publication of Williams' How I Made One Million Dollars Last Year Trading Commodities, the %R oscillator became well known. — Perry Kaufman, Trading Systems and Methods
(Williams first published the formula in a Commodities Magazine article in 1973, a detail our reference library doesn't confirm directly — Kaufman only dates the book's popularization era.)
The formula
Where HH_N = highest high over last N bars, LL_N = lowest low. Murphy's prose version:
Today's close is subtracted from the price high of the range for a given number of days and that difference is divided by the total range for the same period.
The output is bounded −100 to 0.
- Close at the recent HIGH → HH − C = 0 → %R = 0 (top of range)
- Close at the recent LOW → HH − C = range → %R = −100 (bottom of range)
- Close at midpoint → %R = −50
Williams %R vs Stochastic %K
They are mathematical mirror images:
Work it out on paper: if %K = 80, then %R = −20. Same information, different origin point. That's why Kaufman says the line is "conceptually upside down, that is, as the close gets stronger the value of %R gets smaller" and suggests plotting the inverted version for readability.
Most modern charting platforms plot %R "upside down" (multiplying by −1) so it visually tracks Stochastic. Our playground follows the classical −100 to 0 convention.
Default period and thresholds
- N = 14 is canonical (matches RSI / Stochastic). Kaufman uses N = 10 in his worked example. Both are defensible.
- Overbought: %R > −20 (close within top 20% of recent range)
- Oversold: %R < −80 (close within bottom 20% of recent range)
Murphy:
Readings over 80 or under 20 identify market extremes.
(He's quoting the inverted-for-display version, so 80/20 on plotted %R = −20/−80 on raw %R. Same extremes.)
Play with it
Flip to up and watch %R camp above −20 for long stretches. That's the same overbought trap from RSI and Stochastic — strong trends pin oscillators in the extreme zone, and treating extreme zone as a trade signal gets you run over.
The actionable signal is divergence
Williams himself didn't treat %R as a raw overbought/oversold trigger. Kaufman:
Williams viewed this as a timing device to add positions within a major technical or fundamental trend.
The professional use: identify the trend separately (moving average, price structure, ADX), then use %R to find pullbacks within the trend. Long trend + %R dipping to −80 = possible re-entry. Short trend + %R rising to −20 = possible short re-entry.
As a standalone reversal signal? Same problem as every bounded oscillator. Divergence at extremes is the one tradable setup — price making new highs while %R fails to retouch −20 warns of waning momentum. Pair with price-structure confirmation before acting.
Hidden traps
- Thinking Williams %R and Stochastic are different indicators. They are the same line in different coordinate systems. Don't run both.
- Treating −20 as "sell" in an uptrend. Pinned %R during trend persistence is normal, not a signal.
- Using very short N (5, 7). Noisy; more signals, most false.
- Ignoring trend. Williams's own usage was trend-filter + %R timing. Raw %R without trend context whipsaws.
Quick check
You see Williams %R reading −15. What does that mean in plain English?
What you now know
- Williams %R = Stochastic %K − 100. Same information, different coordinate system (−100 to 0 vs 0 to 100).
- −20 overbought, −80 oversold on the raw scale. Most platforms flip the sign to display 20 / 80 like Stochastic.
- Default N = 14 (some use 10). Murphy's two extreme zones at 80/20 apply regardless of display orientation.
- Williams's own use: timing pullbacks within an established trend, not standalone reversal signal.
- Divergence at extremes is the actionable signal; raw overbought/oversold in isolation is the trap.
Next: CCI — a conceptually-different oscillator that measures deviation from a moving average scaled by mean absolute deviation.