The stochastic oscillator compares a closing price with the price range over a recent period. Its idea, popularized by George Lane in the 1950s, is that in an uptrend prices tend to close near the top of their recent range, and in a downtrend near the bottom. When that stops happening, momentum is slowing. The oscillator moves between 0 and 100.
How the stochastic is calculated
%K = (Close - Lowest low of N bars) / (Highest high of N bars - Lowest low of N bars) × 100
%D = 3-bar simple moving average of %K
A %K of 80 means the close is 80% of the way from the bottom to the top of the N-bar range. There are three common versions:
- Fast stochastic: the raw %K above, with %D as its signal line. It is very sensitive.
- Slow stochastic: %K is smoothed with a 3-bar average first, and %D is a 3-bar average of that. This is the version most traders use.
- Full stochastic: both smoothing periods can be set freely. The fast and slow versions are special cases of it.
How to read the stochastic
- Overbought and oversold. Above 80 is overbought, below 20 oversold. As with RSI, strong trends can hold these zones for a long time.
- Crossovers. %K crossing above %D is a buy signal, crossing below a sell signal. Crossovers inside the extreme zones, for example a bullish cross below 20, are considered stronger.
- Divergence. Lane considered divergence the most important signal: price makes a new low while the stochastic makes a higher low, or the reverse at highs.
- With the trend. In an uptrend, bullish crossovers from the oversold zone mark pullback entries. Bearish signals are better ignored until the trend itself weakens.
Settings and common mistakes
- Settings. 14, 3, 3 is a common slow stochastic setting; some charting packages default to 5, 3, 3, which is faster and noisier.
- Fighting the trend. Selling every move above 80 in an uptrend gives many losing trades. Use the trend to choose which signals to take.
- Using the fast version without smoothing. Raw %K jumps around a lot. The slow stochastic removes much of that noise.

Live chart: SPY (S&P 500 ETF), daily, with the slow stochastic (14,3,3). The chart updates every trading day.
Screen for it on MarketInOut
Our formula language provides the full stochastic as slowk(period, k_smooth, d_smooth) and slowd(...); set the second parameter to 1 for the fast version. A bullish %K/%D crossover in the oversold zone:
exch(nyse,nasdaq) and type(stock) and price > 1 and advol(21) > 1
and slowk(14,3,3) ca slowd(14,3,3) and slowk(14,3,3) < 20
Add and price > sma(200) to keep only stocks in a long-term uptrend.
Related: Relative Strength Index, MACD, Bollinger Bands.