Trend following · daily rule · Industrials & materials
Holy Grail on Cargojet
CJT with the play, last two years
Shading shows the play's call from the close that triggered it.
ADX (14)
Dashed line at 30.
Growth of C$10,000 since 2012
Log scale. After trading costs, with T-bill interest while out.
The record
The play against buying and holding CJT over exactly the same dates, after costs.
| Play, since 2012 | Hold, since 2012 | Play, 5 yrs | Hold, 5 yrs | |
|---|---|---|---|---|
| Annual return | +2.3% | +20.4% | +4.3% | −14.2% |
| Total return | +39% | +1,333% | +23% | −53% |
| Worst drawdown | −11.9% | −71.1% | −0.8% | −65.0% |
| Volatility | 4.7% | 34.9% | 0.8% | 37.5% |
| Sharpe ratio | 0.14 | 0.66 | 0.47 | −0.32 |
| Time invested | 3% | 100% | ||
| Switches per year | 1.9 | 0 |
Every call, graded
Right on 10 of 28 closed calls (36%). In calls averaged +0.9%; out calls saw CJT move +25.6% on average.
| Called | Call | Price | Until | CJT moved | Result |
|---|---|---|---|---|---|
| Jan 28, 2026 | OUT | C$93.78 | now | −9.8% | open |
| Jan 21, 2026 | IN | C$91.87 | Jan 28, 2026 | +2.1% | ✓ right |
| Jul 21, 2020 | OUT | C$146.57 | Jan 21, 2026 | −37.3% | ✓ right |
| Jul 20, 2020 | IN | C$152.76 | Jul 21, 2020 | −4.1% | ✕ wrong |
| Jun 10, 2020 | OUT | C$134.16 | Jul 20, 2020 | +13.9% | ✕ wrong |
| May 19, 2020 | IN | C$123.17 | Jun 10, 2020 | +8.9% | ✓ right |
| Oct 24, 2018 | OUT | C$72.80 | May 19, 2020 | +69.2% | ✕ wrong |
| Oct 16, 2018 | IN | C$76.72 | Oct 24, 2018 | −5.1% | ✕ wrong |
| Apr 13, 2018 | OUT | C$60.54 | Oct 16, 2018 | +26.7% | ✕ wrong |
| Apr 5, 2018 | IN | C$62.14 | Apr 13, 2018 | −2.6% | ✕ wrong |
| Feb 9, 2018 | OUT | C$53.85 | Apr 5, 2018 | +15.4% | ✕ wrong |
| Feb 7, 2018 | IN | C$55.33 | Feb 9, 2018 | −2.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 when, within 5 days of a pullback day, a close tops that day's high while ADX (14) is still above 30. A pullback day has ADX above 30, +DI above −DI, and a low at or below the 20-day EMA.
- Out on a close below the pullback day's low (the stop), or at or above the highest high of the 20 days before the pullback (the target).
ADX measures trend strength, and +DI above −DI says the trend is up. Descriptions of the setup ask for ADX above 30 with rising prices; reading that as +DI above −DI is Be The Puck's choice.
The 5-day entry window and the 20-day high used as the target are Be The Puck's choices. Neither number is published.
A 20-day exponential average, as most descriptions of Street Smarts use. Some write-ups use a simple one.
Raschke enters on a buy-stop during the day. Be The Puck waits for a close above the pullback day's high; that close may come on a day that also dips to the average. A close already at the target counts as no trade.
Be The Puck sells the whole position at the target.
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.