TL;DR: the answer box
- The classic RSI(2) rule still works with next-open fills. Buy when RSI(2) closes below 25. Sell when it closes above 65, or after 5 bars. SPY 1993 to 2026: 805 trades, 68.9% win rate, profit factor 1.55, Ret/DD 11.11. ES 2007 to 2026: 468 trades, 70.9%, 1.54, Ret/DD 4.43.
- "Almost every rule makes money" is weak proof. 100.00% of the 68,372 SPY rules with 50+ trades made money. So did 94.6% of 1,000 random entry sets. The real gap is in Ret/DD: median 4.37 for the rules, 1.71 for random.
- A deep oversold close was followed by a better week. After RSI(2) closed below 10, SPY gained +0.66% on average over the next five bars, against +0.20% after any close. Overbought closes (70 and up) still averaged +0.05%.
- Shorter RSI is stronger. Median Ret/DD fell from 6.13 with RSI(2) to 2.40 with RSI(16) on SPY, and from 3.37 to 0.78 on ES.
- It does not beat buy and hold on profit. 4.01% a year against 8.82% on SPY. It wins on pain: a worst fall of 14.73% against 56.47%.
- On SPY, a 200-day filter usually cut drawdowns, and it cut profits too. That is across 9,792 matched pairs. It cut the biggest drawdown in 97.8% of them, improved Ret/DD in 74.1% and raised net profit in 0.0%. On ES it improved Ret/DD in only 38.4%.
What is RSI, and how did I test it?
RSI, the Relative Strength Index, is a score from 0 to 100. It compares recent up days with recent down days. J. Welles Wilder introduced it in his 1978 book. Most charts mark 70 as "overbought" and 30 as "oversold" (StockCharts ChartSchool, RSI).
The number in brackets is how many days it looks back. RSI(2) looks at just the last two sessions, so it swings hard. Larry Connors made it popular as a short-term pullback gauge (StockCharts ChartSchool, RSI(2)).
The idea behind it is mean reversion: a market that just dropped tends to bounce. Here is what one trade looks like.
The rules. Long only. Buy when RSI closes below an entry level. Sell when RSI closes above an exit level, or after a set number of bars, whichever comes first. I moved five settings at once: entry RSI length, exit RSI length, entry level, exit level and the time exit. That makes 146,880 rules per market, 293,760 in all. The full list is in the reference tables at the end.
The markets. SPY daily bars on a $35,000 account, whole shares, no compounding. And E-mini S&P 500 futures (ES), one contract. One ES contract controlled $376,750 at the last close, 10.8 times the account. So ES dollar swings are much bigger.
The fills: Execution rule v2. Every signal is read at the close. The trade buys the next day's open. Every exit also sells at an open. Why it matters: you can't buy at a close you have not seen yet. A backtest that does that trades at a price nobody could get.
The scores. I use a few plain measures:
- Win rate: the share of trades that made money.
- Drawdown: the biggest drop from a high point.
- Profit factor: dollars won for each dollar lost.
- Ret/DD: net profit divided by the biggest dollar drawdown. Think of it as profit per dollar of pain. Higher is better.
- Median: the middle value, or the "typical" rule.
A rule needs 50 trades before I count it as reliable. Every result also sits next to two yardsticks: buying and holding, and random entries.
Does the classic RSI(2) rule still work when you buy the next open?
Yes. The classic rule is simple. Buy when RSI(2) closes below 25. Sell when it closes above 65, or after 5 bars.
On SPY it took 805 trades. It won 68.9% of them with a profit factor of 1.55. Its Ret/DD of 11.11 beats 99.1% of all 68,372 reliable SPY rules.
Tested with close fills, this rule showed a 73.3% win rate and a 1.7 profit factor. With next-open fills it comes in at 68.9% and 1.55. The two tests differ in more than the fill, so read that gap as a warning, not a measured cost.
The one cost schedule I tested did not break it. Add $0.005 commission and $0.01 slippage a share, both ways, and SPY net profit drops from $94,839 to $88,480.
It has not faded with time. The average trade was 0.42% in the 1990s and 0.42% in the 2020s.
Is "almost every RSI rule makes money" proof of an edge?
No. This is the claim that fools people. Early on I lost roughly $270K to overfitting and leverage, on backtests that looked better than they were.
Here is the test. I drew 1,000 sets of random long entries on SPY. No signal at all. Each set had the same number of trades and the same hold as the typical RSI rule.
Why? The S&P 500 went up over these years. 94.6% of my random SPY entry sets, each holding 10 bars, made money. That is the market's drift, not the RSI. On ES it was the same story: 99.98% of rules and 90.0% of random sets made money.
The real gap is in Ret/DD. The typical RSI rule earned a Ret/DD of 4.37. The typical random set earned 1.71. That is 2.6 times the profit per dollar of pain.
But the typical rule is not special. The luckiest 5% of random sets scored above 4.67. The typical rule, at 4.37, falls short of that line. Only 45.0% of SPY rules clear it. So the settings matter. The rest of this article is about which ones.
What happens after the S&P 500 RSI goes oversold?
A low RSI(2) close was followed by a better week than usual. The very lowest readings were not the best, though. On SPY, closes from 5 to 10 averaged +0.76% over the next five bars, more than the +0.55% from 0 to 5. This part is measurement, not trading. I took every close, grouped it by its RSI(2) reading, and measured the move from the next open to the open five bars later.
Deep oversold paid. On SPY, 798 closes with RSI(2) below 10 were followed by +0.66% on average. That is 3.3 times the +0.20% after any close. On ES, 482 such closes averaged +0.35%, 2.4 times its +0.15% norm.
Overbought did not mean "about to fall". RSI(2) at 70 or above came 3,437 times on SPY and still averaged +0.05%. On ES, 2,103 times, also +0.05%. Less upside than usual. Not a drop. Shorting every overbought reading would have bet against a market that still drifted up.
The full table, band by band, is in the reference section at the end.
Which RSI settings matter most?
On SPY, the entry RSI length moved the typical Ret/DD the most, then the time exit. I measured that by how far the typical Ret/DD moved across each setting's values. On ES, the entry level moved it about as much as the hold: from 1.95 to 3.33, against 1.89 to 3.17. Picture the grid as a pivot table: RSI length down the side, time exit across the top, and the typical Ret/DD in each cell.
Short RSI wins. With a 10-bar exit, RSI(2) rules had a typical Ret/DD of 7.6. RSI(16) rules managed 2.7. Across all exits, the median fell from 6.13 at RSI(2) to 2.40 at RSI(16) on SPY. On ES it fell from 3.37 to 0.78.
Short holds win on SPY. A 5-bar or 10-bar exit had a median Ret/DD of 5.66 and 5.59. Holding up to 15 or 20 bars dropped it to 3.73 and 3.98.
A short exit RSI lifts the win rate more than the score. An RSI(2) exit had a median win rate of 71.5% and Ret/DD of 5.49. An RSI(16) exit had 62.6% and 4.15. A higher win rate came with only a modest gain in profit per dollar of pain.
Is RSI(2) below 25 a lone peak or part of a stable region?
It sits on a plateau. That matters more than any single score.
Think of the grid as a landscape. On a plateau, nudge a setting and the result barely moves. On a spike, one small nudge drops you off a cliff. A spike is what curve-fitting looks like: a result that rests on one exact setting. I have no fresh-data test here, so the plateau is the evidence.
The neighbours agree. The 8 settings right around the classic rule all made money, on SPY and on ES. On SPY their Ret/DD ran from 8.34 to 11.74.
The stability test. I set the rule before I looked at the answer. An entry and exit pair passes if it has 50+ trades and a profit factor of 1.3+ at every time exit, on SPY and on ES.
255 of 306 pairs passed. Every entry level from 12 to 24 passed at all 18 exit levels. Level 26, just above the classic rule's 25, failed at some exit levels. So the classic rule sits near the top edge of the pass zone, with a solid block below it. Inside the passing region, the typical rule scored a Ret/DD of 8.14 on SPY with a 71.8% win rate.
Don't chase the peak. The single best SPY cell scored 13.83. Its neighbours had a median of 9.77. Quote the peak and you quote the one cell picked after seeing the whole surface. Quote the neighbourhood and you describe the surface.
If you trade your own version, ask the same question: is your setting on a plateau, and does its trade history survive a reshuffle and a fresh data test? That check is what AlgoChef runs on a strategy you have already backtested.
Does RSI mean reversion beat buy and hold on the S&P 500?
Not on profit. On pain, yes, by a wide margin.
Buy and hold made far more. It grew 8.82% a year against 4.01% for the RSI rule. Buy and hold was in every day. The rule was in a trade 31.1% of the time.
The RSI rule hurt far less. Its worst fall was 14.73%, in 2001. Buy and hold fell 56.47% by March 2009. Random entries fell 23.10%.
Per unit of pain, the rule wins. Divide the yearly return by the worst fall. The RSI rule scores 0.272. Buy and hold scores 0.156. Random entries score 0.069.
Does a 200-day moving average filter help an RSI strategy?
On SPY it trades profit for a smaller drawdown. On ES it cut the biggest drawdown in 80.5% of pairs but lifted Ret/DD in only 38.4%.
The filter is one extra rule: only buy when the close is above its 200-day average. I ran all 9,792 RSI(2) rules with and without it.
On SPY, smaller drawdowns, less money. The filter cut the biggest drawdown in 97.8% of pairs. It improved Ret/DD in 74.1%. It raised net profit in 0.0%. The typical rule's net profit fell from $95,198 to $64,920.
On ES, Ret/DD improved less often than not. It improved in only 38.4% of pairs.
A filter that lifts the typical Ret/DD on one market and lowers it on its twin is not a law. It is a feature of one sample.
Does RSI mean reversion work on ES futures as well as SPY?
Yes, with a lower score and much bigger dollar swings. The same classic rule took 468 trades on ES, won 70.9% and had a Ret/DD of 4.43. It beats 95.2% of the 58,672 reliable ES rules.
Three differences matter. ES data starts in 2007, so there is no 1990s test. One contract is 10.8 times the account, so the classic rule's biggest drawdown was $46,425, more than the $35,000 you start with. And the 200-day filter that helps SPY does not reliably help ES. If you trade futures, size for that leverage and test on futures data.
The verdict, and the honest limits
Where the common belief is right. RSI rules made money on SPY and ES. The typical rule beat the typical random entry set on profit per dollar of pain, on both markets. Short RSI did best on both markets. On SPY, short holds did too. The classic rule's neighbours all made money, and it survives next-open fills, the one cost schedule tested, and futures.
Where it is wrong.
- "Most RSI rules make money" proves little. 94.6% of random entry sets made money too.
- In these samples, overbought was not followed by a fall. RSI(2) at 70 and up still averaged +0.05% over the next five bars.
- The 200-day filter is not a free upgrade. It raised net profit in 0.0% of SPY pairs.
The limits, in plain words.
- One market family. SPY and ES are both the S&P 500. Nothing here covers gold, bonds or single stocks.
- I picked the best cells after seeing the results. That is why I quote neighbourhoods and medians, not peaks.
- No out-of-sample test. The plateau shows the rule holds across nearby settings, not that it holds on data it has never seen.
- No costs except the one cost check. No compounding. No dividends, for the rules and buy and hold alike.
- ES uses one contract on $35,000. That is a leverage choice, not a recommendation.
What this means for you
- Start with RSI(2) for S&P 500 pullbacks. It had the best typical score on both markets: 6.13 on SPY against 2.90 for RSI(14).
- Keep the hold short. On SPY, 5 or 10 bars beat 15 or 20.
- Judge a setting by its neighbours, not its peak. A plateau describes a backtest better than one lucky cell.
- Test with next-open fills. If your backtest buys the signal bar's close, rerun it before you trust the win rate.
- Compare against buy and hold on pain, not profit. 4.01% a year with a 14.73% worst fall, or 8.82% with 56.47%. That trade-off is the product.
RSI(2) isn't magic. It's a smaller, calmer slice of the same market.
Reference tables
For readers who want the detail behind the charts.
Table 1. The grid
| Setting | Range | Values |
|---|---|---|
| Entry RSI length | 2 to 16, step 1 | 15 |
| Exit RSI length | 2 to 16, step 2 | 8 |
| Entry level (buy below) | 4 to 36, step 2 | 17 |
| Exit level (sell above) | 56 to 90, step 2 | 18 |
| Time exit (bars) | 5, 10, 15, 20 | 4 |
146,880 rules per market. Plus 9,792 RSI(2) rules rerun with the 200-day filter: 313,344 rules in all.
Table 2. The classic rule: RSI(2) below 25, sell above 65 or after 5 bars
| SPY (1993 to 2026) | ES (2007 to 2026) | |
|---|---|---|
| Trades | 805 | 468 |
| Win rate | 68.9% | 70.9% |
| Profit factor | 1.55 | 1.54 |
| Net profit, no costs | $94,839 | $205,462 |
| Net profit, with costs | $88,480 | $191,890 |
| Largest drawdown | $8,537 | $46,425 |
| Ret/DD | 11.11 | 4.43 |
| Worst fall of the account | 14.73% | 31.94% |
| Time in a trade | 31.1% | 29.9% |
Execution rule v2, next-open fills, $35,000 account. SPY in whole shares, ES one contract.
Table 3. What happened after each RSI(2) reading
| RSI(2) at the close | SPY closes | SPY average | SPY share up | ES closes | ES average | ES share up |
|---|---|---|---|---|---|---|
| 0 to 5 | 380 | +0.55% | 58.4% | 235 | +0.32% | 57.9% |
| 5 to 10 | 418 | +0.76% | 62.0% | 247 | +0.38% | 60.3% |
| 10 to 15 | 400 | +0.51% | 59.5% | 241 | +0.53% | 61.0% |
| 15 to 20 | 373 | +0.34% | 57.9% | 189 | +0.22% | 53.4% |
| 20 to 25 | 348 | +0.30% | 59.2% | 198 | +0.09% | 60.6% |
| 25 to 30 | 328 | +0.12% | 58.8% | 190 | +0.29% | 62.6% |
| 30 to 40 | 558 | +0.21% | 58.1% | 319 | +0.11% | 58.9% |
| 40 to 50 | 583 | +0.26% | 58.7% | 324 | +0.20% | 61.4% |
| 50 to 60 | 659 | +0.18% | 61.0% | 382 | +0.13% | 58.1% |
| 60 to 70 | 709 | +0.10% | 56.7% | 393 | +0.09% | 59.8% |
| 70 to 80 | 896 | -0.02% | 54.9% | 520 | -0.03% | 55.0% |
| 80 to 90 | 1,113 | +0.04% | 55.5% | 651 | +0.11% | 59.3% |
| 90 to 100 | 1,428 | +0.09% | 58.5% | 932 | +0.06% | 58.3% |
Average move from the next open to the open five bars later. Every close counted, overlaps kept. All closes: SPY +0.20%, ES +0.15%.
Everything here is research, not investment advice. It is a backtest on historical data with the assumptions stated above. It is not a recommendation to buy or sell anything, and past results do not predict future ones.
Every couple of weeks I test one strategy everyone repeats, properly, and leave the parts that failed in. StatOasis.com/Overfit






