← Lab
S017

Russell-reconstitution drift

russell-reconstitution-drift-v1
failed Stage 1 (Quick-screen) 2026-06-13
Share: Twitter / X LinkedIn

ID: S017 Slug: russell-reconstitution-drift-v1 Failed at: Stage 1 (Quick-screen) Fail reason: magnitude Date: 2026-06-13

Verdict

Failed at Stage 1 — estimated Russell 2000 additions showed no positive drift into reconstitution: mean excess return −4.5% over five years (0 of 5 years positive) against a +1.5% gate; even after stripping newly-listed names the clean subset was −1.6%.

The setup we were testing

Buy a basket of likely Russell 2000 additions — built from a pre-announcement float-adjusted market-cap ranking that estimates the membership cutoff — hold from the build window through the reconstitution effective date, exit shortly after, expecting positive excess return over an equal-weighted Russell benchmark. The thesis: index funds tracking the Russell must rebalance to the new membership on a fixed date, buying additions regardless of price, and in the small-cap Russell this is softer/less-arbitraged than the S&P 500 case because reproducing the float-adjusted ranking before the announcement is itself the work.

How it was tested

What we found

910 estimated additions across 2021–2025.

Metric Result Gate
Mean excess return −4.48% ≥ +1.5% ✗
Hit rate 30.4% ≥ 58% ✗
t-test p vs 0 0.017 (mean negative) p<0.05 and mean>0
Years positive 0 / 5 ≥ 4 / 5 ✗

Per-year mean excess: 2021 −5.99%, 2022 −6.01%, 2023 −3.72%, 2024 −6.27%, 2025 −0.22%. Not a single positive year.

Robustness check (new-listing contamination). Our "additions" set inevitably includes recently-listed / newly-covered small caps, which underperform for reasons unrelated to index flow. Splitting on whether the name had ≥1 year of trading history before the rank day:

So new-listings inflated the negative, but the cleaner mature subset still shows no positive drift and fails the gate — the result is not merely an IPO artifact.

Why the gate didn't pass

The most likely explanation is the one the setup's own pre-registration feared: the effect, to the extent it ever existed in single-name small caps, is arbitraged/decayed — anyone can run the ranking, so the drift is priced before the date. Two further reads: (1) holding from late April is too early — buying pressure concentrates in the final pre-effective days, so a ~two-month hold drowns the signal in idiosyncratic small-cap noise; (2) our membership is estimated, not official, so the basket mixes genuine cutoff-crossers with names that merely entered our coverage. But the direction and consistency (negative in 5/5 years; mature subset 2/5) make a tradeable positive drift implausible at this magnitude.

One thing we learned

Forced-flow edges that are trivial to model (a public ranking, a fixed date) tend to be exactly the ones already priced in — the "moat is the work" argument fails when the work is a spreadsheet anyone can build.

Was there anything close to working?

Only weakly: among mature names, 2021 (+1.0%) and 2025 (+5.2%) were positive, hinting the effect may be regime-dependent rather than uniformly dead. Not enough to reopen — a real test would need official FTSE Russell historical membership + float and a tighter pre-effective entry window, which we judged not worth buying for a setup with a ~45% prior and a decaying edge.

For the specialist — methodology details (click to expand)
  • Reconstitution calendar computed from FTSE Russell's published rule (rank day ≈ last business day of April; effective ≈ last Friday of June), not the exact published dates — adequate for a Stage-1 read; exact dates differ by a day or two.
  • PIT shares: src/data/edgar_facts.py selects the latest EntityCommonStockSharesOutstanding value with filed_date ≤ rank_day from SEC companyfacts. Public float (EntityPublicFloat) was collected but not applied (float factor = 1.0); a total-cap proxy is the agreed Stage-1 approximation.
  • Coverage per year (covered / band / additions): 2021 2880/1880/139, 2022 3230/2000/267, 2023 3428/2000/162, 2024 3621/2000/159, 2025 3864/2000/183.
  • Universe is the Finnhub-sourced ~5k US common stocks; survivorship/coverage-expansion is a known limitation (coverage grows 2,880→3,864 over the window), which is what motivated the maturity-split robustness check above.
  • Backtest: src/lab/russell_recon.py; per-event excess returns in events.parquet beside this file.
← Olderrussell-reconstitution-drift-v1 Newer →tax-loss-rebound-microcap-v1

Mechaniq provides information, not investment advice. We do not execute trades. Past results are no guarantee for future performance. You are solely responsible for your trading decisions.

Lab · Methodology · Greeks Lab · About · FAQ · Glossary · Privacy · Terms · mechaniq.trade © 2026

07 Jul 2026, 07:08