Stochastic RSI: Formula, Settings and How to Read It
Today is the last trading day of the third quarter. Quarter-end is when pension and balanced funds rebalance, window dressing shows up in the closing auction, and short-term oscillators get jerked around by flows that have little to do with fundamentals. If you open a chart this week, the fastest-moving line under price is often the stochastic RSI. It pins to 0 or 100 more than any other common oscillator. Most traders who use it can’t say what it measures. This post covers the exact formula, what the default “14, 14, 3, 3” settings mean, a worked example with plain numbers, and the mistakes that make StochRSI signals look better on a chart than they are in an account.
What is the stochastic RSI?
The stochastic RSI (StochRSI) is an oscillator built on another oscillator. It takes the Relative Strength Index and measures where the current RSI value sits inside its own high-low range over the last N bars, scaled from 0 to 100. A reading of 100 means RSI is at its highest level of the last 14 bars. A reading of 0 means it is at its lowest.
Tushar Chande and Stanley Kroll introduced it in their 1994 book The New Technical Trader. The problem they were solving was that standard 14-period RSI spends long stretches between 30 and 70 without reaching either threshold, so traders waiting for an “oversold” reading could go months without a signal. Running the stochastic oscillator formula over RSI values stretches RSI’s narrow working range across the full 0–100 scale, which produces many more extreme readings.
Why it can produce alpha
StochRSI doesn’t create an edge. It is a sensitivity amplifier. The underlying effect it tries to capture is the same one behind every short-horizon oscillator: stocks that sell off hard over a few days have historically shown a modest tendency to bounce, driven by overreaction and demand for liquidity from forced sellers. StochRSI finds the moment when RSI’s own momentum turns, which is earlier than RSI alone would flag it. The earlier timing is the potential edge. The cost is more false signals, and any alpha depends on filtering them, which is true of every tool in the mean reversion family.
The stochastic RSI formula
The formula is the stochastic %K calculation with RSI swapped in for price:
StochRSI = (RSI − Lowest RSI) / (Highest RSI − Lowest RSI) × 100
%K = 3-period SMA of StochRSI
%D = 3-period SMA of %K
Lowest RSI and Highest RSI are taken over the stochastic lookback, usually 14 bars. Chande and Kroll’s original version ran from 0 to 1. Most modern platforms multiply by 100, so 0.20 and 20 mean the same thing.
What “14, 14, 3, 3” means
The default settings string on most charting platforms has four numbers, and each one controls a different layer:
| Setting | Controls | Default |
|---|---|---|
| RSI length | Lookback for the underlying RSI | 14 |
| Stochastic length | Window for the highest/lowest RSI | 14 |
| %K smoothing | SMA applied to raw StochRSI | 3 |
| %D smoothing | SMA applied to %K | 3 |
Raw, unsmoothed StochRSI is close to unreadable because it jumps between extremes on single bars. That’s why almost every platform shows the smoothed %K and %D lines by default, and why the crossover of those two lines is the signal most traders use.
How to read the stochastic RSI: a worked example
Take a stock whose 14-day RSI has ranged between a high of 62 and a low of 38 over the last 14 sessions, a 24-point range. To keep the math clean, assume that range stays fixed for the next seven sessions. Each day’s RSI converts to raw StochRSI with the formula above, and the smoothed lines follow from simple averages.
| Day | RSI | Raw StochRSI | %K (3-SMA) | %D (3-SMA) |
|---|---|---|---|---|
| 1 | 44.0 | 25.0 | — | — |
| 2 | 41.0 | 12.5 | — | — |
| 3 | 39.2 | 5.0 | 14.2 | — |
| 4 | 38.0 | 0.0 | 5.8 | — |
| 5 | 40.4 | 10.0 | 5.0 | 8.3 |
| 6 | 43.1 | 21.3 | 10.4 | 7.1 |
| 7 | 46.4 | 35.0 | 22.1 | 12.5 |
Check Day 6 by hand: (43.1 − 38) / 24 × 100 = 5.1 / 24 × 100 = 21.25, shown rounded as 21.3.
Now read the signals in order:
- Days 3–5, oversold zone. %K is below 20 and still falling. Nothing to do yet.
- Day 6, the crossover. %K (10.4) crosses above %D (7.1) while both are under 20. This is the standard bullish StochRSI signal.
- Day 7, zone exit. %K closes at 22.1, back above 20. Conservative rule sets wait for this confirmation.
Look at the RSI column. It never got below 38, well above the classic oversold level of 30, and on the signal day it read 43.1, which is neutral. StochRSI said “oversold” while RSI said “nothing to see.” This is the most important thing to understand about the indicator. It tells you RSI is at the bottom of its own recent range. It doesn’t tell you the stock is cheap or stretched in any absolute sense. That’s why it produces so many more signals than RSI, and why each one carries less information.
A rules-based template to test
A long-side template to put through a proper backtest:
- Trend filter: close above its 200-day moving average.
- Context filter: 14-day RSI below 50, so the pullback is visible in RSI itself and not just in StochRSI’s rescaling.
- Entry: %K crosses above %D with both below 20. Enter at the next bar’s open.
- Exit: %K reaches 80, or a time stop of 5 sessions, whichever comes first.
- Risk: stop below the setup swing low, sized so a hit costs a fixed fraction of equity. See position sizing.
The RSI-below-50 condition is what separates this from a raw StochRSI rule. It forces the parent indicator to agree that something has actually pulled back.
Common mistakes with the stochastic RSI
The most common StochRSI mistake is treating a 0 or 100 reading as extreme when the RSI range underneath it is tiny. The denominator in the formula is the 14-bar RSI range, and in quiet markets that range can collapse to a few points. Say RSI has ranged between 48 and 52 for two weeks. A move from 48.5 to 51.5 swings StochRSI from 12.5 to 87.5, from “oversold” to “overbought”, on a change in RSI that is statistically nothing. Add a minimum-range rule, such as requiring the 14-bar RSI range to be at least 10 points, so a tiny denominator can’t generate signals.
The other failure modes worth engineering around:
- Fading a pinned reading in a trend. In a strong uptrend, StochRSI can sit at 100 for days because RSI keeps making new 14-bar highs. That shows persistent demand. It isn’t a sell signal. The mirror case, pinned at 0 in a downtrend, is where dip buyers without a trend filter lose the most.
- Stacking it with RSI and calling it confirmation. StochRSI is built from RSI, so the two agreeing is one piece of evidence, not two. For a genuinely independent check, pair it with something that doesn’t use the same closes, such as volume or breadth.
- Setting-shopping. Four parameters give you thousands of combinations. If 14, 14, 3, 3 tests poorly but 9, 21, 4, 2 tests beautifully on one symbol, you’ve found noise. Validate out of sample across many symbols, and keep a setting only if nearby settings also work.
- Ignoring costs. StochRSI generates several times as many signals as RSI, so commissions and slippage eat a larger share of each trade’s expected edge. A backtest that looks fine gross of costs can go negative net of a few basis points per round trip.
- Single-name concentration. One stock’s oversold reading tells you nothing about why it’s stretched. Systematic desks harvest short-term reversion cross-sectionally: a basket of oversold names against overbought ones, which diversifies away single-stock news risk. That’s the logic behind statistical arbitrage.
FAQ
What is the difference between stochastic RSI and RSI?
RSI measures the ratio of average gains to average losses in price over 14 bars. StochRSI measures where the current RSI value sits within its own 14-bar high-low range. RSI is an indicator of price momentum. StochRSI is an indicator of RSI’s momentum, so it’s faster, swings to extremes far more often, and gives more signals that each carry less weight. The RSI trading strategy guide covers the parent indicator’s rules.
What are the best stochastic RSI settings?
The default 14, 14, 3, 3 is the sensible starting point, and there’s no evidence that an exotic alternative reliably beats it. Shorter RSI and stochastic lengths, such as 7 and 7, make it faster and noisier for intraday work. Longer lengths calm it down for swing trading. Whatever you choose, test it out of sample on many symbols rather than tuning it to one chart.
Is stochastic RSI good for day trading?
It’s popular with day traders because it turns quickly on short timeframes. But its main weakness, too many signals, gets worse on intraday bars, where noise and transaction costs are both higher relative to the move. On intraday charts it works best as a timing trigger inside a trend already identified on a higher timeframe, not as a standalone system.
What does it mean when stochastic RSI is at 0?
A reading of 0 means the current RSI is the lowest RSI of the lookback window, usually the last 14 bars. It doesn’t mean RSI itself is low. As the worked example above shows, RSI can be in the 40s while StochRSI reads 0. Read it as “RSI momentum is at a short-term low,” then check RSI and the trend before acting on it.
Key takeaways
- StochRSI = (RSI − Lowest RSI) / (Highest RSI − Lowest RSI) × 100 over the last 14 bars, smoothed into %K and %D with 3-period averages.
- “14, 14, 3, 3” means RSI length, stochastic length, %K smoothing and %D smoothing.
- An oversold StochRSI means RSI is at the bottom of its own recent range, not that the stock is oversold. Check the RSI value underneath.
- Guard against tiny RSI ranges with a minimum-range rule; that’s where the most meaningless extreme readings come from.
- It gives far more signals than RSI, so trend filters, time stops and an out-of-sample test net of costs matter more, not less.