Breakouts & channels · daily rule · Market indexes
P&F Double Top on S&P 500 index
What the play says
S&P 500 with the play, last two years
Shading shows the play's call from the close that triggered it.
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 S&P 500 over exactly the same dates, after costs.
| Play, since 2005 | Hold, since 2005 | Play, 5 yrs | Hold, 5 yrs | |
|---|---|---|---|---|
| Annual return | +6.8% | +9.0% | +3.3% | +12.4% |
| Total return | +321% | +549% | +18% | +79% |
| Worst drawdown | −35.9% | −56.8% | −35.9% | −25.4% |
| Volatility | 14.0% | 19.0% | 13.0% | 17.0% |
| Sharpe ratio | 0.42 | 0.46 | 0.03 | 0.55 |
| Time invested | 87% | 100% | ||
| Switches per year | 1.3 | 0 |
Every call, graded
Right on 12 of 28 closed calls (43%). In calls averaged +11.5%; out calls saw S&P 500 move +3.9% on average.
| Called | Call | Price | Until | S&P 500 moved | Result |
|---|---|---|---|---|---|
| Jun 30, 2025 | IN | 6,204.95 | now | +25.8% | open |
| Apr 4, 2025 | OUT | 5,074.08 | Jun 30, 2025 | +22.3% | ✕ wrong |
| Feb 2, 2023 | IN | 4,179.76 | Apr 4, 2025 | +21.4% | ✓ right |
| Sep 27, 2022 | OUT | 3,647.29 | Feb 2, 2023 | +14.6% | ✕ wrong |
| Aug 12, 2022 | IN | 4,280.15 | Sep 27, 2022 | −14.8% | ✕ wrong |
| May 2, 2022 | OUT | 4,155.38 | Aug 12, 2022 | +3.0% | ✕ wrong |
| Mar 29, 2022 | IN | 4,631.60 | May 2, 2022 | −10.3% | ✕ wrong |
| Feb 24, 2022 | OUT | 4,288.70 | Mar 29, 2022 | +8.0% | ✕ wrong |
| Mar 25, 2020 | IN | 2,475.56 | Feb 24, 2022 | +73.2% | ✓ right |
| Mar 9, 2020 | OUT | 2,746.56 | Mar 25, 2020 | −9.9% | ✓ right |
| Apr 1, 2019 | IN | 2,867.19 | Mar 9, 2020 | −4.2% | ✕ wrong |
| Dec 10, 2018 | OUT | 2,637.72 | Apr 1, 2019 | +8.7% | ✕ wrong |
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 29 calls shown.
How the play works
- In on a double-top breakout: the current X column rises at least one box above the top of the previous X column.
- Out on a double-bottom breakdown: the current O column falls at least one box below the bottom of the previous O column.
- Otherwise the rule keeps the chart's last signal.
Boxes are 2% apart, and a new column needs a 3-box reversal (about 6%). Dorsey's classic box table uses fixed price bands; ChartSchool's examples use 1% boxes.
The chart is built from daily highs and lows by StockCharts' high-low method: a new box from the high wins, and the low only counts if it reverses the column.
The signal fires on the day the breakout box fills during the day. Be The Puck acts on that day's close.
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.