Volume & money flow · daily rule · Indexes & ETFs
Buff Averages on S&P 500 ETF
What the play says
SPY 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 SPY over exactly the same dates, after costs.
| Play, since 2005 | Hold, since 2005 | Play, 5 yrs | Hold, 5 yrs | |
|---|---|---|---|---|
| Annual return | +6.0% | +11.0% | +10.6% | +13.9% |
| Total return | +256% | +861% | +65% | +91% |
| Worst drawdown | −29.2% | −55.2% | −16.6% | −24.5% |
| Volatility | 11.2% | 18.9% | 10.7% | 17.1% |
| Sharpe ratio | 0.42 | 0.55 | 0.64 | 0.62 |
| Time invested | 66% | 100% | ||
| Switches per year | 15.1 | 0 |
Every call, graded
Right on 109 of 328 closed calls (33%). In calls averaged +0.9%; out calls saw SPY move +0.7% on average.
| Called | Call | Price | Until | SPY moved | Result |
|---|---|---|---|---|---|
| Sep 22, 2026 | IN | $773.38 | now | +0.6% | open |
| Aug 26, 2026 | OUT | $764.18 | Sep 22, 2026 | +1.2% | ✕ wrong |
| Aug 4, 2026 | IN | $769.42 | Aug 26, 2026 | −0.7% | ✕ wrong |
| Jul 23, 2026 | OUT | $736.35 | Aug 4, 2026 | +4.5% | ✕ wrong |
| Jul 2, 2026 | IN | $742.93 | Jul 23, 2026 | −0.9% | ✕ wrong |
| Jun 23, 2026 | OUT | $731.76 | Jul 2, 2026 | +1.5% | ✕ wrong |
| Jun 18, 2026 | IN | $744.89 | Jun 23, 2026 | −1.8% | ✕ wrong |
| Jun 9, 2026 | OUT | $733.34 | Jun 18, 2026 | +1.6% | ✕ wrong |
| Apr 8, 2026 | IN | $672.60 | Jun 9, 2026 | +9.0% | ✓ right |
| Mar 4, 2026 | OUT | $679.82 | Apr 8, 2026 | −1.1% | ✓ right |
| Mar 2, 2026 | IN | $681.06 | Mar 4, 2026 | −0.2% | ✕ wrong |
| Feb 27, 2026 | OUT | $680.67 | Mar 2, 2026 | +0.1% | ✕ 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 329 calls shown.
How the play works
- A volume-weighted average adds up each day's close times its volume and divides by the total volume, so busy days count more.
- In when the 5-day volume-weighted average is above the 20-day one.
- Out when it is below.
Dormeier's 2001 test also went short on the down-cross. Be The Puck holds T-bills instead.
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.