Trend following · daily rule · Indexes & ETFs
Trend Template on S&P 500 ETF
What the play says
- ✓Price above the 150 and 200-day averages
- ✓150-day above the 200-day
- ✓200-day higher than a month ago
- ✓50-day above the 150 and 200-day
- ✓Price above the 50-day
- ✕At least 30% above the 52-week low
- ✓Within 25% of the 52-week high
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 | +2.6% | +11.1% | +3.8% | +13.9% |
| Total return | +73% | +875% | +20% | +91% |
| Worst drawdown | −17.4% | −55.2% | −9.2% | −24.5% |
| Volatility | 5.8% | 18.9% | 6.8% | 17.1% |
| Sharpe ratio | 0.16 | 0.56 | 0.02 | 0.62 |
| Time invested | 21% | 100% | ||
| Switches per year | 4.0 | 0 |
Every call, graded
Right on 21 of 86 closed calls (24%). In calls averaged +0.7%; out calls saw SPY move +5.2% on average.
| Called | Call | Price | Until | SPY moved | Result |
|---|---|---|---|---|---|
| Jun 26, 2026 | OUT | $727.18 | now | +7.0% | open |
| Apr 8, 2026 | IN | $672.60 | Jun 26, 2026 | +8.1% | ✓ right |
| Feb 27, 2026 | OUT | $680.67 | Apr 8, 2026 | −1.2% | ✓ right |
| Feb 24, 2026 | IN | $682.02 | Feb 27, 2026 | −0.2% | ✕ wrong |
| Feb 23, 2026 | OUT | $677.10 | Feb 24, 2026 | +0.7% | ✕ wrong |
| Feb 20, 2026 | IN | $684.09 | Feb 23, 2026 | −1.0% | ✕ wrong |
| Feb 12, 2026 | OUT | $675.99 | Feb 20, 2026 | +1.2% | ✕ wrong |
| Feb 6, 2026 | IN | $685.27 | Feb 12, 2026 | −1.4% | ✕ wrong |
| Feb 5, 2026 | OUT | $672.37 | Feb 6, 2026 | +1.9% | ✕ wrong |
| Jan 21, 2026 | IN | $680.09 | Feb 5, 2026 | −1.1% | ✕ wrong |
| Jan 20, 2026 | OUT | $672.33 | Jan 21, 2026 | +1.2% | ✕ wrong |
| Dec 18, 2025 | IN | $669.25 | Jan 20, 2026 | +0.5% | ✓ 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 87 calls shown.
How the play works
- In when all seven conditions pass: price above the 50, 150 and 200-day averages; 150-day above 200-day; 200-day higher than a month ago; 50-day above the 150 and 200-day; price at least 30% above its 52-week low and within 25% of its 52-week high.
- Out on a daily close below the 50-day average.
Minervini's eighth condition, a relative-strength rating of 70 or more, needs a full-market ranking and is left out.
The template is a buy screen, not an exit system. The 50-day exit is Be The Puck's assumption.
The 52-week range uses closing prices.
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.