Indicators · Momentum oscillators
Stochastic oscillator (slow %K and %D): how to read it
How George Lane’s slow stochastic places the close within its recent range, a worked %K and %D on Johnson & Johnson, the 80/20 levels and Finabase’s 15/5 settings.
On this page
The stochastic oscillator measures where today's close sits within the range of the last several bars. A close at the very top of the recent range scores 100; a close at the very bottom scores 0. George Lane popularized it in the 1950s and wrote it up in the 1980s, with a simple observation behind it: in uptrends, closes tend to cluster near the highs of the range; in downtrends, near the lows. When that stops happening, momentum is changing.
The version almost everyone uses today is the slow stochastic, which smooths the raw reading once to make %K and again to make %D. This guide shows the calculation on real Johnson & Johnson prices with Finabase's settings, explains the 80/20 levels and the %K/%D crossover, shows what a strong trend does to those levels, and covers how Finabase scores the stochastic and why its default settings differ from the textbook 14, 3, 3.
What the stochastic measures
Take the last 15 trading days. Find the highest high and the lowest low. That is the recent range. Now ask where today's close sits in it, as a percentage. If the range was $220 to $240 and the stock closed at $235, it closed 75% of the way up.
Lane's insight was that the location of the close, more than its change, reflects who is winning. Buyers in control push closes toward the top of the range; sellers push them toward the bottom. The stochastic is a running measure of that location.
The formula
A worked example on Johnson & Johnson
Johnson & Johnson (JNJ) hit its lowest slow %K of the year on May 8, 2026. Here is how Finabase arrived at that number.
Step 1: raw %K for May 8. Over the 15 sessions ending May 8, the highest high was $235.26 and the lowest low $220.63. The close was $221.32.
Raw %K = (221.32 − 220.63) ÷ (235.26 − 220.63) × 100 = 0.69 ÷ 14.63 × 100 = 4.72
Step 2: slow %K. Average the last five raw %K readings.
| Date | Close | 15-day high | 15-day low | Raw %K |
|---|---|---|---|---|
| May 4, 2026 | $224.20 | $242.19 | $223.58 | 3.33 |
| May 5, 2026 | $225.55 | $240.42 | $223.58 | 11.70 |
| May 6, 2026 | $224.62 | $238.14 | $222.95 | 10.99 |
| May 7, 2026 | $222.51 | $235.54 | $220.63 | 12.61 |
| May 8, 2026 | $221.32 | $235.26 | $220.63 | 4.72 |
| Average | 8.67 |
Step 3: slow %D. Average the last five slow %K values. Finabase's %D for May 8 is 14.14, above %K because %K was still falling.
The chart shows exactly these values: %K 8.67, %D 14.14. Five straight closes near the bottom of a narrowing range put the stochastic deep in oversold territory.
Reading the stochastic
1. Overbought and oversold
Readings above 80 mean closes have been near the top of the range; below 20, near the bottom. Lane himself warned against selling just because the line was above 80. The JNJ chart shows why. Johnson & Johnson rose from $189.05 to $275.20 over the year, about 46%. Its slow %K was above 80 on 68 days and stayed above 80 for 31 consecutive sessions from January 15 to March 2, 2026, during which the stock climbed from $219.57 to $248.56, about 13%. "Overbought" was the normal state of a strong trend.
The oversold reading worked better here, because it came inside an uptrend. %K was below 20 for 16 sessions from April 21 to May 12, with the stock between about $221 and $231. Twenty sessions after May 12, JNJ was at $238.49, about 6% higher.
2. %K and %D crossovers
%K crossing above %D is the stochastic's buy trigger and crossing below its sell trigger. Lane put the most weight on crossovers that happen in the extreme zones: a bullish cross below 20 or a bearish cross above 80. Crossings in the middle of the range are mostly noise.
3. Divergence
As with the RSI, a lower low in price with a higher low in %K (bullish), or a higher high in price with a lower high in %K (bearish), shows momentum disagreeing with price. Lane considered divergence the most important stochastic signal.
Why Finabase's settings are 15, 5, 5
Finabase inherits its stochastic defaults from the original Stock Master app: a 15-bar look-back with 5-bar smoothing for both lines. Compared with the common 14, 3, 3:
| Setting | Look-back | %K smoothing | %D smoothing | Character |
|---|---|---|---|---|
| 14, 3, 3 | 14 | 3 | 3 | The usual "slow stochastic" |
| 15, 5, 5 | 15 | 5 | 5 | Finabase default: smoother, slower |
| 5, 3 | 5 | none | 3 | The fast stochastic |
Five-bar smoothing removes more noise and produces fewer crossovers, at the cost of later signals. You can change all of it on the chart.
Pitfalls and limitations
Trends pin it. As JNJ shows, the stochastic can sit at an extreme for weeks. Use the extremes for pullback entries in the direction of the trend, not for fading the trend.
Range-bound by design. Because it compares the close with a recent range, the stochastic works best in sideways markets, where the range is meaningful. In trends, the range keeps moving.
Gaps and narrow ranges. When the high-low range is tiny, a small move swings the reading from 0 to 100. Check the range before reading too much into an extreme.
Comparison table
| Indicator | Built from | Range | Typical levels |
|---|---|---|---|
| Slow Stochastic | Close vs 15-bar range, smoothed | 0 to 100 | 80 / 20 |
| Fast Stochastic | Close vs 5-bar range, raw | 0 to 100 | 80 / 20 |
| Williams %R | Close vs range, inverted scale | −100 to 0 | −20 / −80 |
| Stochastic RSI | Stochastic of the RSI | 0 to 100 | 80 / 20 |
| RSI | Average gains vs losses | 0 to 100 | 70 / 30 |
See Fast stochastic oscillator: raw %K, %D and its whipsaws for the raw version, Stochastic RSI (StochRSI): an oscillator of an oscillator for the stochastic applied to the RSI, and Relative Strength Index (RSI): how to read and use it for Wilder's oscillator.
How Finabase calculates and scores the stochastic
Finabase computes the Slow Stochastic with TA-Lib's STOCH function on each bar's high, low and
close, using simple moving averages for both smoothing steps. A new STOCH study ("Slow
Stochastic") defaults to a %K look-back of 15 and a %D period of 5, and the %D period is used
for both smoothing steps. It is drawn in its own panel with guide lines at 20, 50 and 80.
In the technical gauge on the symbol page and in the Scanner, Finabase reads the slow %K: above 80 it is flagged Overbought and counted on the bearish side; below 20, Oversold and counted on the bullish side; in between, neutral. The Scanner lists stocks whose %K has crossed into either zone, with the date. As the JNJ example shows, an Overbought flag in a strong uptrend is often a sign of strength rather than of a top.
Frequently asked questions
What is the difference between %K and %D?
%K is the (smoothed) position of the close within the recent range. %D is a moving average of %K and acts as its signal line. Crossings between them are the stochastic's trigger.
What is the difference between the slow and fast stochastic?
The fast stochastic plots raw %K and a short average of it. The slow stochastic smooths raw %K first, so its %K is the fast version's %D. The slow version is steadier and gives fewer, later signals.
What are the best stochastic settings?
14, 3, 3 is the most common. Finabase defaults to 15, 5, 5, which is smoother. Shorter look-backs react faster and whipsaw more. Test settings on the markets you trade.
Summary
The stochastic oscillator places each close within its recent high–low range and smooths the result into %K and %D. The Johnson & Johnson example shows the calculation to the cent and both sides of its reputation: weeks of "overbought" readings during a powerful advance, and a useful oversold reading inside that same uptrend. Read it with the trend, favor crossovers in the extreme zones, and treat 80 and 20 as descriptions rather than signals.
Sources and further reading
- George C. Lane, “Lane’s Stochastics,” Technical Analysis of Stocks & Commodities, vol. 2, no. 3 (1984)
- Robert W. Colby, The Encyclopedia of Technical Market Indicators, 2nd ed. (McGraw-Hill, 2003) — stochastics
- TA-Lib — STOCH function reference
- Finabase chart data — JNJ daily bars, 2025-10-30 to 2026-10-29, Slow Stochastic computed by Finabase