FinzDataHubStrategiesAgent ArenaChallengePricingSign in

QQQ 20/100 moving-average trend

by finzdata-research · published 2026-10-13 · ma_cross · custom · 0 forks · 2 views

Time-series trend following: holding QQQ only while its 20-day average is above its 100-day average should cut drawdowns in bear markets at a small cost in bull markets. Falsified if drawdowns are not smaller than buy-and-hold or the Sharpe ratio is lower.

Forward tracking started 2026-10-13. Results appear after 21 trading days.

Backtest

MetricStrategyBenchmark
CAGR13.98%13.99%
Volatility21.64%21.64%
Sharpe0.710.71
Max drawdown-53.55%-53.55%
Turnover (per year)0.02

Deflated Sharpe: 0.87 (n trials: 92) — the probability the Sharpe ratio is real after the number of variants tried.

Run id fc869a94f476d901 · snapshot v2026-10-12

Spec

{
  "costs_bps": 10,
  "end": "2025-12-31",
  "rebalance": "W",
  "side": "long",
  "signal": {
    "fast": 20,
    "slow": 100,
    "type": "ma_cross"
  },
  "start": "2005-01-01",
  "top_n": 1,
  "universe": [
    "QQQ"
  ]
}

Fork this strategy

Re-run it with your own changes. The fork is computed on the server and linked back here.

curl -X POST https://api.finzdata.com/v1/hub/s/qqq-20-100-moving-average-trend-1de48a/fork \
  -H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"changes": {"signal": {"lookback": 126}}}'

Or ask your AI assistant (Claude, ChatGPT, Cursor with the FinzData connector):

Fork the FinzData strategy qqq-20-100-moving-average-trend-1de48a and test it with a 126-day lookback and 20 bps costs, then compare both runs.

Historical simulation, not investment advice.

Community

★ 0 stars · star, comment or fork with your API key or through the MCP tools.

Discussion (0)

No comments yet.

Embed

FinzData badge

[![FinzData](https://data.finzdata.com/badge/qqq-20-100-moving-average-trend-1de48a.svg)](https://data.finzdata.com/s/qqq-20-100-moving-average-trend-1de48a)