Momentum · daily rule · Indexes & ETFs
Frog in the Pan on S&P 500 ETF
What the play says
Latest reading: 12-1 return 16.1% · Up days minus down days 8.7%
SPY with the play, last two years
Shading shows the play's call from the close that triggered it.
12-1 return and up-day share minus down-day share (set at each month-end)
Dashed line at 0.
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 | +11.2% | +11.1% | +12.6% | +13.9% |
| Total return | +897% | +872% | +80% | +91% |
| Worst drawdown | −33.7% | −55.2% | −18.8% | −24.5% |
| Volatility | 14.7% | 18.9% | 14.2% | 17.1% |
| Sharpe ratio | 0.68 | 0.56 | 0.64 | 0.62 |
| Time invested | 82% | 100% | ||
| Switches per year | 0.6 | 0 |
Every call, graded
Right on 9 of 14 closed calls (64%). In calls averaged +28.1%; out calls saw SPY move +0.9% on average.
| Called | Call | Price | Until | SPY moved | Result |
|---|---|---|---|---|---|
| Aug 31, 2023 | IN | $432.79 | now | +79.8% | open |
| May 31, 2022 | OUT | $388.77 | Aug 31, 2023 | +11.3% | ✕ wrong |
| May 29, 2020 | IN | $278.33 | May 31, 2022 | +39.7% | ✓ right |
| Apr 30, 2020 | OUT | $265.68 | May 29, 2020 | +4.8% | ✕ wrong |
| Feb 28, 2019 | IN | $248.68 | Apr 30, 2020 | +6.8% | ✓ right |
| Jan 31, 2019 | OUT | $240.88 | Feb 28, 2019 | +3.2% | ✕ wrong |
| Jun 30, 2016 | IN | $178.00 | Jan 31, 2019 | +35.3% | ✓ right |
| Oct 30, 2015 | OUT | $173.83 | Jun 30, 2016 | +2.4% | ✕ wrong |
| Feb 29, 2012 | IN | $106.19 | Oct 30, 2015 | +63.7% | ✓ right |
| Jan 31, 2012 | OUT | $101.77 | Feb 29, 2012 | +4.3% | ✕ wrong |
| Nov 30, 2011 | IN | $96.26 | Jan 31, 2012 | +5.7% | ✓ right |
| Oct 31, 2011 | OUT | $96.65 | Nov 30, 2011 | −0.4% | ✓ 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 15 calls shown.
How the play works
- Checked on the last trading day of each month, over the window from 12 months ago to 1 month ago.
- In when the return over that window is above zero and the window had more up days than down days.
- Out at month-end when either fails.
The paper sorts all stocks by past return, then by how steadily the return came (its 'information discreteness' score). Holding a stock with a positive return and more up days than down days is Be The Puck's single-stock cut-off.
Signals are acted on the first trading day of the next month. Days with no change count as neither up nor down.
The window ends a month before each check, so each month-end's call is already set a month ahead. No price on the day can change it.
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.