Claim check: RSI 30/70 overbought and oversold
“Buy when RSI drops below 30 (oversold), sell when it rises above 70 (overbought).”
What the data says
Does not hold Not supported by the data: after “RSI(14) below 30”, the average 10-day return was +0.1% against +0.2% for all days (medians over 10 markets); it was higher than usual in 5 of 10 markets and statistically clear, with at least 20 independent events and the same sign in both halves, in 0. Results are mixed across markets and cannot be told apart from chance.
No effect we can tell from chance, or the opposite effect.
Who says it
J. Welles Wilder Jr., 'New Concepts in Technical Trading Systems' (1978); the most-quoted indicator rule on YouTube and Reddit.
Origins are as commonly cited and were not independently verified.
How we tested it
Wilder RSI(14) of the close. Event: the close at which RSI is below 30. We record the 10-trading-day return that follows (events at least 10 days apart) and compare it with the average 10-day return over all days of the same market. The sell half is checked the same way: returns after RSI above 70 should be lower than average. A full buy-under-30, sell-over-70 rule (maximum 20 days held) is shown as a cross-check.
Results
RSI(14) below 30 10-day (claim: higher than average)
| Market | Events | Mean after | All days | Difference | Median after | Up share | t-stat | Reading |
|---|---|---|---|---|---|---|---|---|
| S&P 500 | 22 | +1.9% | +0.6% | +1.3% | +2.9% | 68% | 1.4 (likely noise) | Right way, likely noise |
| Gold | 39 | +0.3% | +0.3% | 0.0% | -0.2% | 49% | -0.1 (likely noise) | No effect |
| Silver | 43 | -0.1% | +0.4% | -0.5% | +0.4% | 56% | -0.7 (likely noise) | No effect |
| Oil | 55 | -2.1% | +0.1% | -2.2% | -0.8% | 47% | -1.5 (likely noise) | No effect |
| Natural gas | 50 | 0.0% | -0.7% | +0.7% | +0.2% | 50% | 0.5 (likely noise) | Right way, likely noise |
| Commodities | 57 | -0.1% | +0.2% | -0.3% | -0.2% | 46% | -0.5 (likely noise) | No effect |
| Agriculture | 43 | +0.2% | +0.1% | +0.1% | +0.6% | 51% | 0.3 (likely noise) | Right way, likely noise |
| EUR/USD | 51 | +0.1% | 0.0% | +0.1% | 0.0% | 49% | 0.6 (likely noise) | Right way, likely noise |
| Bitcoin | 48 | +3.4% | +1.8% | +1.6% | +2.1% | 58% | 0.8 (likely noise) | Right way, likely noise |
| Ether | 32 | -2.1% | +1.7% | -3.7% | -1.3% | 44% | -1.1 (likely noise) | No effect |
Difference from the average, by market (10-day)
By horizon: mean difference from all days
| Market | 5-day | 10-day | 21-day |
|---|---|---|---|
| S&P 500 | +1.2% (25) | +1.3% (22) | 0.0% (17) |
| Gold | 0.0% (55) | 0.0% (39) | +0.6% (31) |
| Silver | +0.1% (64) | -0.5% (43) | 0.0% (34) |
| Oil | -1.2% (78) | -2.2% (55) | -1.0% (39) |
| Natural gas | +0.7% (75) | +0.7% (50) | +2.6% (39) |
| Commodities | -0.2% (83) | -0.3% (57) | -0.5% (42) |
| Agriculture | 0.0% (63) | +0.1% (43) | +0.1% (33) |
| EUR/USD | +0.1% (76) | +0.1% (51) | -0.1% (38) |
| Bitcoin | +2.7% (64) | +1.6% (48) | +3.0% (37) |
| Ether | -2.8% (46) | -3.7% (32) | -5.1% (23) |
Average -day return after the signal vs all days (S&P 500)
RSI(14) above 70 · For comparison 10-day (claim: lower than average)
| Market | Events | Mean after | All days | Difference | Median after | Up share | t-stat | Reading |
|---|---|---|---|---|---|---|---|---|
| S&P 500 | 87 | +0.3% | +0.6% | -0.3% | +0.6% | 70% | -1.4 (likely noise) | Right way, likely noise |
| Gold | 71 | +0.7% | +0.3% | +0.4% | +0.6% | 58% | 0.9 (likely noise) | No effect |
| Silver | 60 | +1.7% | +0.4% | +1.2% | +1.4% | 57% | 1.0 (likely noise) | No effect |
| Oil | 49 | +0.3% | +0.1% | +0.2% | 0.0% | 49% | 0.2 (likely noise) | No effect |
| Natural gas | 40 | -2.2% | -0.7% | -1.5% | -1.7% | 42% | -0.9 (likely noise) | Right way, likely noise |
| Commodities | 56 | +0.1% | +0.2% | -0.1% | +0.1% | 54% | -0.2 (likely noise) | Right way, likely noise |
| Agriculture | 49 | +0.4% | +0.1% | +0.3% | +0.7% | 61% | 0.7 (likely noise) | No effect |
| EUR/USD | 44 | -0.1% | 0.0% | -0.1% | -0.2% | 48% | -0.3 (likely noise) | Right way, likely noise |
| Bitcoin | 93 | +5.7% | +1.8% | +3.8% | +4.3% | 67% | 2.9 | Opposite, significant |
| Ether | 63 | +3.7% | +1.7% | +2.0% | +1.1% | 57% | 0.9 (likely noise) | No effect |
Stability across the two halves of history
A saying that only works in one half of the history is not much of a rule. Each row shows the effect in the full history, the first half and the second half; green means the claimed effect was present.
| Market | Full history | First half | Second half |
|---|---|---|---|
| S&P 500 | +1.3% (22) | +0.8% (9) | +1.6% (13) |
| Gold | 0.0% (39) | -0.2% (24) | +0.4% (15) |
| Silver | -0.5% (43) | -1.4% (24) | +0.7% (19) |
| Oil | -2.2% (55) | -1.7% (36) | -2.8% (19) |
| Natural gas | +0.7% (50) | -1.1% (30) | +3.6% (20) |
| Commodities | -0.3% (57) | -0.5% (36) | +0.4% (21) |
| Agriculture | +0.1% (43) | +0.4% (28) | -0.3% (15) |
| EUR/USD | +0.1% (51) | 0.0% (27) | +0.3% (24) |
| Bitcoin | +1.6% (48) | +2.5% (26) | +0.5% (22) |
| Ether | -3.7% (32) | -3.5% (17) | -4.1% (15) |
Context and cross-checks
Shown for context; not part of the verdict.
The full rule: buy under 30, sell over 70 (or after 20 days)
| Market | Period | CAGR | Buy and hold | Sharpe | Buy and hold | Max drawdown | Buy and hold | In market | Trades | Reading |
|---|---|---|---|---|---|---|---|---|---|---|
| S&P 500 | 2010-01-25 → 2026-11-10 | +0.4% | +14.1% | 0.09 | 0.86 | -31% | -34% | 8% | 17 | No effect |
| Gold | 2010-01-25 → 2026-11-10 | +2.5% | +7.6% | 0.40 | 0.52 | -10% | -46% | 14% | 31 | No effect |
| Silver | 2010-01-25 → 2026-11-10 | +1.1% | +6.2% | 0.16 | 0.35 | -43% | -76% | 16% | 35 | No effect |
| Oil | 2010-01-25 → 2026-11-10 | -4.8% | -4.3% | -0.11 | 0.07 | -89% | -95% | 18% | 39 | No effect |
| Natural gas | 2010-01-25 → 2026-11-10 | +2.0% | -25.0% | 0.20 | -0.35 | -56% | -99% | 18% | 40 | Clear and stable |
| Commodities | 2010-01-25 → 2026-11-10 | -1.1% | +2.6% | -0.08 | 0.24 | -46% | -66% | 20% | 43 | No effect |
| Agriculture | 2010-01-25 → 2026-11-10 | +0.2% | +1.0% | 0.06 | 0.14 | -15% | -62% | 16% | 34 | No effect |
| EUR/USD | 2010-01-21 → 2026-11-10 | -1.1% | -1.3% | -0.25 | -0.12 | -22% | -35% | 17% | 39 | No effect |
| Bitcoin | 2014-10-01 → 2026-11-10 | +13.0% | +54.4% | 0.44 | 0.82 | -56% | -83% | 16% | 37 | No effect |
| Ether | 2017-11-23 → 2026-11-10 | -12.2% | +19.7% | -0.16 | 0.53 | -73% | -94% | 14% | 23 | No effect |
Sharpe ratio minus buy-and-hold
The site's own strategies
| Strategy | Market | Sharpe, 5 years | Benchmark, 5 years | Sharpe, full | Benchmark, full | CAGR, full | Benchmark, full | Max DD, full | Benchmark, full | Reading |
|---|---|---|---|---|---|---|---|---|---|---|
| MR-01 RSI Mean Reversion | SPY | 0.77 | 0.72 | 0.51 | 0.85 | +3.5% | +13.8% | -12% | -34% | No effect |
| MR-01 RSI Mean Reversion | GLD | 0.91 | 0.89 | 0.29 | 0.51 | +1.5% | +7.5% | -16% | -46% | No effect |
| MR-01 RSI Mean Reversion | USO | 0.99 | 0.68 | -0.10 | 0.05 | -3.2% | -4.8% | -77% | -95% | No effect |
| MR-01 RSI Mean Reversion | EUR/USD | 0.30 | -0.05 | -0.29 | -0.13 | -1.0% | -1.5% | -25% | -35% | No effect |
| MR-01 RSI Mean Reversion | DBC | 0.05 | 0.63 | -0.32 | 0.21 | -2.6% | +2.2% | -49% | -66% | No effect |
| MR-01 RSI Mean Reversion | SLV | 0.56 | 0.57 | 0.11 | 0.35 | +0.6% | +6.1% | -42% | -76% | No effect |
| MR-01 RSI Mean Reversion | DBA | 0.16 | 0.68 | 0.14 | 0.13 | +0.5% | +0.8% | -16% | -62% | Full history only |
| MR-01 RSI Mean Reversion | UNG | 0.23 | -0.27 | -0.05 | -0.35 | -2.6% | -25.1% | -71% | -99% | Clear and stable |
| MR-01 RSI Mean Reversion | BTC | 0.42 | 0.25 | 0.29 | 0.80 | +5.9% | +52.0% | -53% | -83% | No effect |
| MR-01 RSI Mean Reversion | ETH | 0.46 | 0.09 | 0.21 | 0.56 | +3.1% | +22.9% | -74% | -94% | No effect |
| MR-16 Connors RSI | SPY | 1.03 | 0.72 | 0.80 | 0.85 | +6.0% | +13.8% | -17% | -34% | No effect |
| MR-16 Connors RSI | GLD | 0.27 | 0.89 | 0.03 | 0.51 | 0.0% | +7.5% | -22% | -46% | No effect |
| MR-16 Connors RSI | USO | 0.73 | 0.68 | -0.13 | 0.05 | -3.7% | -4.8% | -73% | -95% | No effect |
| MR-16 Connors RSI | EUR/USD | -0.47 | -0.05 | -0.04 | -0.13 | -0.2% | -1.5% | -13% | -35% | Full history only |
| MR-16 Connors RSI | DBC | 0.24 | 0.63 | -0.25 | 0.21 | -2.1% | +2.2% | -41% | -66% | No effect |
| MR-16 Connors RSI | SLV | -0.23 | 0.57 | -0.16 | 0.35 | -2.6% | +6.1% | -56% | -76% | No effect |
| MR-16 Connors RSI | DBA | -0.27 | 0.68 | -0.37 | 0.13 | -2.1% | +0.8% | -35% | -62% | No effect |
| MR-16 Connors RSI | UNG | -0.22 | -0.27 | -0.15 | -0.35 | -4.0% | -25.1% | -60% | -99% | Clear and stable |
| MR-16 Connors RSI | BTC | 0.14 | 0.25 | 0.49 | 0.80 | +13.1% | +52.0% | -55% | -83% | No effect |
| MR-16 Connors RSI | ETH | 0.01 | 0.09 | 0.19 | 0.56 | +1.6% | +22.9% | -62% | -94% | No effect |
Sharpe ratio minus benchmark, full history · Benchmark = the buy-and-hold shown on the strategy pages.
The honest caveat
Works or fails differently in trending versus ranging markets; a single parameter set is not the whole story.
Descriptive statistics from historical data, before costs. Not a forecast and not investment advice.
Questions
Buy when RSI drops below 30 (oversold), sell when it rises above 70 (overbought).
Not supported by the data: after “RSI(14) below 30”, the average 10-day return was +0.1% against +0.2% for all days (medians over 10 markets); it was higher than usual in 5 of 10 markets and statistically clear, with at least 20 independent events and the same sign in both halves, in 0. Results are mixed across markets and cannot be told apart from chance.
How was this claim tested?
Wilder RSI(14) of the close. Event: the close at which RSI is below 30. We record the 10-trading-day return that follows (events at least 10 days apart) and compare it with the average 10-day return over all days of the same market. The sell half is checked the same way: returns after RSI above 70 should be lower than average. A full buy-under-30, sell-over-70 rule (maximum 20 days held) is shown as a cross-check.
Related strategies on Quant Arena
Markets used
S&P 500 · Gold · Silver · Oil · Natural gas · Commodities · Agriculture · EUR/USD · Bitcoin · Ether