Strategy Graveyard
← All strategies

cross-sectional momentum

Crypto cross-sectional momentum

No alphaArchived · long · 2018-2026

Pre-registered 2026-09-08 · 1 run · 3 variants

The idea

Cross-sectional momentum, as in Jegadeesh and Titman (1993), applied to coins. In a broad universe, news about a protocol spreads slowly and unevenly, so the coins that have risen most should keep beating the rest for a while. Buy the top third by trailing return, hold for a week.

The prior was low and written down before the run. Nobody is forced to trade badly here, funds have run this trade since about 2020, and a coin list built in 2026 favors the survivors. It was expected to fail.

How it was tested

Pre-registered on 2026-09-08. A universe of 30 liquid coins with point-in-time eligibility: at least 180 days of history, renames mapped, dead coins kept. Three formation windows, 30, 60 and 90 days. Hold the top third for 7 days, equal weight, long only, rebalanced weekly, with costs charged on realised turnover. The benchmark is an equal-weight hold of the same eligible universe, not SPY. With three variants, the Bonferroni bar was t 2.13 on both OLS and HAC.

Where it died

A single run, with no variant voided. The best window, 60 days, reached a t_HAC of 1.19 and a t_OLS of 1.11, with alpha of 0.0344% a day. The 30- and 90-day windows reached 0.62 and 0.61. All of this with a survivorship bias pushing the results up: the bias that should have flattered the test did not rescue it.

The record

Thesis

In a broad universe of liquid coins, information about a protocol diffuses slowly and unevenly, so the top third by trailing return keeps outperforming an equal-weight hold of the same universe over the next week.

Prior: Low-to-medium, stated before the run: no counterparty is forced to trade badly, the trade has been run by funds since about 2020, and a hand-picked 30-coin list built in 2026 carries survivorship bias that pushes results up. Expected to fail.

Specification

signal
top third of the eligible universe by formation-window return; formation window F ∈ {30, 60, 90} days
universe
30 liquid coins, point-in-time eligibility (≥ 180 days of history), renames mapped, dead coins kept
holding
7 days, weekly rebalance, equal weight, long only
costs
per unit of realised turnover (proportional commission plus slippage)
benchmark
equal-weight hold of the same eligible universe on each date
caveat
Survivorship bias from a list built in 2026 pushes results up. A pass would not have been enough to deploy; a fail is conclusive.

Gates

Pre-registrationpass
Was the hypothesis, its parameters and its pass/fail rule written down before any data was looked at?
Gate 7 — Jensen alphafail
After regressing out market exposure, is there alpha left?
min(t_OLS, t_HAC) ≥ 2.13 (Bonferroni, 3 variants)
t (HAC)+1.19t ols+1.11alpha per day pct+0.03
Best of three variants (F = 60). Benchmark is the equal-weight universe, not SPY. F = 30 and F = 90 reached t 0.62 and 0.61.

Why it died

No variant came near the threshold — the best reached about half of 2.13 — and all three had no alpha in the last six months. They did clear the net excess-return check, which proved the easy part: with proportional friction, almost any small persistent excess clears it.

What it taught

Failing despite a bias that favoured passing is the most informative kind of fail. The run also showed why validity checks come before results: a pandas default first reported 106,140 bad returns, and the 185 real ones were data glitches in the free price feed, not market moves.

Verdict history

  1. 2026-09-08Pre-registered with 3 formation windows
  2. 2026-09-08Single run, no variant void: best t 1.19 vs 2.13 required No alpha