QQQ Golden Cross Backtest: +238.5% vs +289.1% Buy-and-Hold (2019–2026)
QQQ Golden Cross Backtest: +238.5% vs +289.1% Buy-and-Hold
The golden cross — the 50-day moving average crossing above the 200-day — is one of the most quoted "bullish" signals in technical analysis. We tested it honestly on QQQ, long-only, from 2019-10-16 to 2026-09-18: fully invested when the 50-day is above the 200-day, in cash otherwise.
The headline numbers
| Metric | Golden-cross strategy | Buy-and-hold QQQ |
|---|---|---|
| Total return | +238.5% | +289.1% |
| CAGR | 19.3% | 21.7% |
| Max drawdown | −22.8% | −35.1% |
| Trades | 3, all winners | — |
| Time in market | 74.0% | 100% |
The strategy made money on every trade — and still lost to doing nothing. That's the uncomfortable part, and it's the whole point of backtesting.
The trades
| # | Entry | Exit | Return |
|---|---|---|---|
| 1 | 2020-05-19 @ $218.63 | 2022-03-02 @ $337.43 | +54.34% |
| 2 | 2023-03-10 @ $282.48 | 2025-04-14 @ $454.30 | +60.83% |
| 3 | 2025-06-23 @ $528.55 | 2026-09-18 @ $720.70 (open) | +36.35% |
Three trades in nearly seven years. Every one a winner. It still underperformed buy-and-hold by about 50 percentage points.
Why this result is trustworthy
A backtest is only as honest as its execution rules. Ours:
- No look-ahead bias. The signal is observed at a bar's close; the trade prints at that same close and starts earning on the next bar. The signal bar's own move is never credited to the new position.
- No phantom first-bar signals. Signals are evaluated only once both the 50- and 200-day SMAs are fully formed (index 199 = 2019-10-16).
- Exit-day returns kept. When we exit at a bar's close, the position was held during that bar, so its return counts — dropping it would understate the strategy.
- Two independent implementations produced bit-identical results: our
stratiq-backtestengine and a standalone script, both reading the same Yahoo Finance daily adjusted-close data (1,939 bars, 2019-01-02 → 2026-09-18). - Hand-verified crosses. Every cross date was checked against hand-computed SMAs at full precision.
No commissions, slippage, or taxes were modeled — real trading does worse by roughly those costs.
What we actually learn from this
- A 100% win rate can still lose. Win rate is a vanity metric; total return is the scoreboard.
- Timing strategies pay a "missed-upside" tax. The strategy sat in cash 26% of the time during one of the strongest QQQ stretches in history.
- It did smooth the ride. Max drawdown of −22.8% vs −35.1% for buy-and-hold is real — if you couldn't have stomached 2022, the cross would have kept you out of the worst of it.
Our verdict: the golden cross works as a trend filter, not as a return enhancer. On QQQ over this window, "always in" beat "in when the trend is up."
The correction we had to make
Our first published run of this backtest showed +273.2%. It was wrong — bought on a phantom first-bar signal and had a same-bar look-ahead flaw in the exit logic. We re-ran it from scratch with two independent implementations and published the corrected +238.5%, with the full discrepancy explained. We wrote up exactly what went wrong — because a backtest you can't trust is worse than no backtest at all.
Not financial advice. Past performance doesn't predict future results — it just helps you ask better questions.