Does RSI Work? RSI 30 and 70 Tested on S&P 500 Stocks
Does an oversold RSI predict a bounce? We tested 128,221 signals across 483 S&P 500
stocks, 2006 to 2026.
STUDY 013
The short answer
When RSI(14) fell below 30 in a stock above its 200-day average, the stock rose a median 1.67% over the next 20
days, 0.65 percentage points more than on an ordinary day, a gap the test could not confirm.
When RSI(14) rose above 70 in a stock below
its 200-day average, the stock fell a median 0.17%, 1.60 percentage points less than on an ordinary day.
Three of the eight comparisons we ran showed a clear gap; the other five did not.
“Clear” means the interval excluded zero under every test setting we ran. Overbought and oversold readings are tested on both sides of the 200-day average.
RSI(14) below 30 was not followed by a clear reboundRSI(14) below 30 means the stock has fallen hard over the last three weeks.In stocks above their 200-day average, the next 20 days were 0.65 percentage points better than an ordinary day. The gap did not meet our test for a clear difference.In this test, a drop below 30 did not reliably predict a bounce.
RSI(14) above 70 was followed by a weaker 20-day returnRSI(14) above 70 means the stock has risen hard over the last three weeks.In stocks below their 200-day average, the next 20 days were 1.60 percentage points worse than an ordinary day.20 days later the stock was higher 49% of the time, against 57% on ordinary days.
RSI(14) below 30 fired far less often than RSI(2)A stricter signal finds fewer dips, so a rule built on it trades less.3,352 oversold signals in stocks above their 200-day average. RSI(2) below 10
gave 67,627, about 20 times as many. In our backtest
RSI(14) ranked fourth of four entries and was invested 0.5% of the time.Fewer signals meant fewer trades: a median 6 per stock in the backtest, against
132 for RSI(2).
An event study: it measures what followed each signal. No entry, exit, position size or trading cost is simulated; the mean reversion backtest of these signals is a separate study.
Every table and assumption behind the summary above
After RSI(14) fell below 30
Over the 40 trading days before the signal, stocks above their 200-day average had fallen a median
5.0% to 7.1%. Over the next 20 days they rose a median 1.67%, against +1.02% on an ordinary day; the gap was not clear.
Each panel is one trend and volatility state. Solid lines: medians; dashed: the middle 75% of days. Calm and volatile compare the stock’s average true range with its own median over the whole period, a label that uses hindsight.
After RSI(14) rose above 70
Over the 40 trading days before the signal, stocks below their 200-day average had risen a median
8.8% to 13.7%. Over the next 20 days they fell a median 0.17%, against +1.43% on an ordinary day: a gap of 1.60 percentage points.
Each panel is one trend and volatility state. Solid lines: medians; dashed: the middle 75% of days. Calm and volatile compare the stock’s average true range with its own median over the whole period, a label that uses hindsight.
Interpretation
Each line is one trend and volatility state. Above zero, signal days did better than ordinary days.
The gaps are small next to the usual spread of returns, the dashed lines in the charts above: the largest clear
gap was 1.60 percentage points over 20 days, measured across many thousands of signals.
A single trade can land far from it.
How we tested it
Question: after a stock’s RSI(14) crosses into or out of its zones, does
its median return over the next 20 trading days differ from ordinary days for the same stocks in the same
trend?
Part
Definition
Indicator
RSI(14) on daily closes, Wilder’s smoothing (the app’s RSI)
Entering a zone
The first close below 30 (or above 70) after a close outside it
Leaving a zone
The first close back above 30 (or back below 70)
Measured
From the signal day’s close, over the next 20 trading days
Compared with
Every eligible day of the same stocks on the same side of the 200-day average
Stocks
483 current S&P 500 members, 2006 to 2026, price returns
Leaving oversold happens on an up close, so the up day itself is outside the
measured window.
The design was set on 6 October 2026 in our internal study record, before any return was read. The record is internal, not a public preregistration. A logged preview on part of the data was run after the “leaving the zone” signals were added; no figure from it is used here.
The 128,221 signals are not 128,221 independent observations: signals repeat in the same
stock, the 20-day windows overlap, and stocks move together. The 95% intervals come from a calendar-block bootstrap
that resamples whole stretches of the calendar, rerun with several block lengths and designs. A gap is called
clear when every interval excluded zero on the same side. The eight comparisons are not adjusted for
being tested together. Signal days are part of the ordinary-day pool, as in the app’s event study, which makes each
gap slightly smaller.
Survivorship bias. This is not the historical index. It is today’s S&P 500 members projected backwards, so companies that failed or left the index after a deep fall are missing. That can materially favour a signal that buys falls.
Limitations
Today’s S&P 500 members projected backwards (survivorship bias); one period; price returns, dividends excluded.
An event study: no trading rule, cost or short sale is simulated, so a weaker return after an overbought reading tests no short-selling rule.
The calm and volatile label uses each stock’s whole-period median, which is known only in hindsight.
No adjustment for the market’s own move or for other risk factors.
RSI(2), ConnorsRSI and Stochastic RSI are tested the same way in their own studies.
How to reproduce this
In the Events panel, use the default RSI (period 14), build the condition “crosses below 30”, set the horizon to 20 days and the trend precondition to above (or below) the
200-day average, and run it on your own stocks on daily bars.
Appendix
All results
Signal
Stocks
Signal days
Median 20-day return
Ordinary days
Difference
95% interval
Result
Enters oversold (below 30)
Above 200-day
3,352
+1.67%
+1.02%
+0.65 points
−0.06 to +1.25
not clear
Enters oversold (below 30)
Below 200-day
19,394
+1.94%
+1.43%
+0.51 points
−0.08 to +1.08
some settings
Leaves oversold (back above 30)
Above 200-day
3,863
+1.32%
+1.02%
+0.30 points
−0.48 to +0.89
not clear
Leaves oversold (back above 30)
Below 200-day
18,869
+1.56%
+1.43%
+0.13 points
−0.40 to +0.68
not clear
Enters overbought (above 70)
Above 200-day
39,325
+0.63%
+1.02%
−0.39 points
−0.59 to −0.19
clear
Enters overbought (above 70)
Below 200-day
2,036
−0.17%
+1.43%
−1.60 points
−2.85 to −0.57
clear
Leaves overbought (back below 70)
Above 200-day
39,128
+0.83%
+1.02%
−0.19 points
−0.40 to 0.00
some settings
Leaves overbought (back below 70)
Below 200-day
2,254
−0.09%
+1.43%
−1.52 points
−2.96 to −0.35
clear
Checks set in advance
Checks set in advance, after 5 days
Above the 200-day average
Below it
Enters oversold (below 30)
+0.50 points (+0.29 to +0.75)
+0.10 points (−0.21 to +0.38)
Leaves oversold (back above 30)
−0.02 points (−0.32 to +0.24)
−0.13 points (−0.51 to +0.19)
Enters overbought (above 70)
−0.20 points (−0.27 to −0.13)
−0.75 points (−1.27 to −0.38)
Leaves overbought (back below 70)
−0.02 points (−0.10 to +0.06)
−0.49 points (−0.98 to −0.11)
For entering oversold (below 30) in stocks above the 200-day average, the gap at 20 days was as large as at 5
days but less certain, so the test could not confirm it.
Compared with RSI(2)
At the 5-day checkpoint both studies share, the oversold gap in stocks above their
200-day average was +0.50 points for RSI(14) and +0.19 points for RSI(2); the intervals overlap. Day 5 is a secondary check for RSI(14).
The RSI(2) study.
In the backtest
In the mean reversion
backtest, which buys the dip above the 200-day average and sells after the first close above the 5-day average,
RSI(14) came fourth of four entries, with a median total return per stock of
+5% over 2006 to 2026.
Using this research. The analysis, tables and figures on this page are
GU Analyser Ltd’s own work, published under a Creative Commons BY-NC 4.0 licence. You are welcome to quote it, cite it and build on it,
with credit and a link. Suggested credit: GU Analyser, The Test Bench, Study 013, linking to
guanalyser.com/test-bench/rsi-oversold-overbought/. For commercial use, ask us at
hello@guanalyser.com.
Rebuild the test
Build the RSI condition in the Events panel, set the trend precondition and the horizon, and measure what followed it on your own stocks.
These are historical analyses. They are neither advice nor forecasts. They describe
what happened on past data under stated, simplified assumptions. Past results do not prove
what will happen next, and nothing in the Test Bench is a recommendation to buy or sell an
investment. GU Analyser is an analytical and educational tool — no money is ever
traded here.