Mean reversion · daily rule · Indexes & ETFs
ConnorsRSI Pullback on S&P 500 ETF
What the play says
Latest reading: ConnorsRSI 46.68 · ADX (10) 11.66
SPY with the play, last two years
Shading shows the play's call from the close that triggered it.
ConnorsRSI (3, 2, 100) and 10-day ADX
Dashed lines at 10, 30, 70.
Growth of $10,000 since 2005
Log scale. After trading costs, with T-bill interest while out.
The record
The play against buying and holding SPY over exactly the same dates, after costs.
| Play, since 2005 | Hold, since 2005 | Play, 5 yrs | Hold, 5 yrs | |
|---|---|---|---|---|
| Annual return | +2.7% | +11.0% | +5.6% | +13.9% |
| Total return | +77% | +861% | +31% | +91% |
| Worst drawdown | −11.6% | −55.2% | −1.8% | −24.5% |
| Volatility | 4.4% | 18.9% | 4.8% | 17.1% |
| Sharpe ratio | 0.22 | 0.55 | 0.36 | 0.62 |
| Time invested | 0% | 100% | ||
| Switches per year | 0.6 | 0 |
Every call, graded
Right on 8 of 12 closed calls (67%). In calls averaged +3.3%; out calls saw SPY move +49.9% on average.
| Called | Call | Price | Until | SPY moved | Result |
|---|---|---|---|---|---|
| Apr 9, 2025 | OUT | $539.67 | now | +44.2% | open |
| Apr 4, 2025 | IN | $497.04 | Apr 9, 2025 | +8.6% | ✓ right |
| Jun 16, 2020 | OUT | $286.24 | Apr 4, 2025 | +73.6% | ✕ wrong |
| Jun 11, 2020 | IN | $274.94 | Jun 16, 2020 | +4.1% | ✓ right |
| Mar 2, 2020 | OUT | $281.04 | Jun 11, 2020 | −2.2% | ✓ right |
| Feb 27, 2020 | IN | $270.51 | Mar 2, 2020 | +3.9% | ✓ right |
| Feb 6, 2018 | OUT | $235.69 | Feb 27, 2020 | +14.8% | ✕ wrong |
| Feb 5, 2018 | IN | $231.13 | Feb 6, 2018 | +2.0% | ✓ right |
| Oct 13, 2008 | OUT | $73.15 | Feb 5, 2018 | +216.0% | ✕ wrong |
| Oct 7, 2008 | IN | $72.20 | Oct 13, 2008 | +1.3% | ✓ right |
| Mar 6, 2007 | OUT | $97.46 | Oct 7, 2008 | −25.9% | ✓ right |
| Feb 27, 2007 | IN | $97.32 | Mar 6, 2007 | +0.1% | ✓ right |
An in call is right when the price rose before the next call; an out call is right when it fell. The latest 12 of 13 calls shown.
How the play works
- ConnorsRSI averages three 0 to 100 readings: a 3-day RSI of the close, a 2-day RSI of the current up or down streak, and where today's 1-day return ranks among the previous 100.
- In at the close when the 10-day ADX (a gauge of trend strength) is above 30, the day's low is at least 4% below the prior close, the close is in the bottom 25% of the day's range, and ConnorsRSI is below 10.
- Out at the close when ConnorsRSI is above 70.
The guidebook buys the next day with a limit order 2% to 10% below the signal close. Be The Puck buys at the signal close, a worse price than the book's.
The guidebook tests a range of settings. Its worked example uses a 4% drop, the bottom 25% of the range, ConnorsRSI below 10 and an exit above 70, and those are used here.
The $5 minimum price and 250,000-share average volume filters are dropped. As in the guidebook, there is no 200-day average filter.
Days where the high equals the low give no entry.
Where the rules come from
The case against
Valeriy Zakamulin tested moving-average timing on up to 155 years of U.S. stock data and found no statistically significant edge in the second half of that record. The rules earned their keep in a few severe bear markets and lagged buy and hold for long stretches in between.