Does sector momentum persist?
Not in any of the four states we tested. 24 of 24 pre-registered cells came back NOT CONFIRMED. Sector rotation monitors label a sector "leading", "crowded", "confirmed entry" or "money leaving" from its price ratio to SPY. We defined those four states on 11 SPDR sectors and, separately, 12 industry ETFs from 2010 to 2026-09-03, froze the definitions and the verdict rules before reading any data, and asked whether the next 10, 20 and 60 trading days differed from ordinary days. They did not: every held-out difference sat within a few percentage points of zero with a 95% interval that included zero. The one effect visible in 2010–2021, deeper pullbacks after a crowding flag, shrank to nothing after 2022. This page publishes every number, including the ones that failed.
The four states
| State | Rule, on the sector-to-SPY price ratio | What the claim expects |
|---|---|---|
| RRG enters Leading | The sector's relative-rotation point moves from "Improving" into "Leading". | outperform afterwards |
| Crowded flag turns on | Up more than 12% (sectors) / 18% (industries) vs SPY in 60 days, or more than 6% / 8% above its 50-day ratio average. | deeper pullback within 20 days |
| "Confirmed entry" rule turns on | Ratio above its 20- and 50-day averages, 20-day average rising, and accelerating with a positive 5-day relative return. | outperform afterwards |
| "Money leaving" rule turns on | Ratio below its 20- and 50-day averages with negative 5- and 20-day relative returns. | underperform afterwards |
Each state counts only on the first day it switches on; a repeat within 10 trading days is the same event. The comparison group is every trading day of the same ETF. Statistic: hit rate (share of events followed by a positive relative return) minus the hit rate on all days; for the crowding flag, the median 20-day maximum relative drawdown minus the same on all days. Significance from a block bootstrap (B = 2000, 20-day blocks), α = 0.01, one-sided in the claimed direction. A verdict is CONFIRMED only if 2010–2021 and 2022–2026 agree in sign and the held-out window passes. These four states are the same rules reproduced on the sector rotation monitor page.
Sector pool: 11 SPDR sectors vs SPY
| State | Horizon | Verdict | Events 2010–21 | Difference vs all days, 2010–21 [95% CI] | Events 2022+ | Difference, 2022+ [95% CI] | p (held-out) |
|---|---|---|---|---|---|---|---|
| RRG enters Leading | 10d | NOT CONFIRMED | 868 | +1.7 pp [-1.6 pp, +5.2 pp] | 377 | -0.4 pp [-5.8 pp, +4.7 pp] | 0.566 |
| RRG enters Leading | 20d | NOT CONFIRMED | 868 | +1.5 pp [-1.7 pp, +4.9 pp] | 370 | -1.4 pp [-5.9 pp, +3.3 pp] | 0.725 |
| RRG enters Leading | 60d | NOT CONFIRMED | 868 | +0.3 pp [-2.2 pp, +2.9 pp] | 359 | -0.0 pp [-4.4 pp, +4.4 pp] | 0.497 |
| Crowded flag turns on | 10d | NOT CONFIRMED | 83 | -2.0 pp [-3.1 pp, -1.1 pp] | 94 | -0.4 pp [-1.4 pp, +0.5 pp] | 0.331 |
| Crowded flag turns on | 20d | NOT CONFIRMED | 83 | -2.0 pp [-3.1 pp, -1.2 pp] | 94 | -0.4 pp [-1.4 pp, +0.5 pp] | 0.351 |
| Crowded flag turns on | 60d | NOT CONFIRMED | 83 | -2.0 pp [-3.0 pp, -1.2 pp] | 94 | -0.4 pp [-1.4 pp, +0.5 pp] | 0.327 |
| "Confirmed entry" rule turns on | 10d | NOT CONFIRMED | 979 | -1.4 pp [-4.5 pp, +1.7 pp] | 408 | -3.3 pp [-8.0 pp, +1.5 pp] | 0.909 |
| "Confirmed entry" rule turns on | 20d | NOT CONFIRMED | 979 | -3.1 pp [-6.2 pp, +0.3 pp] | 404 | +1.7 pp [-3.1 pp, +7.0 pp] | 0.243 |
| "Confirmed entry" rule turns on | 60d | NOT CONFIRMED | 979 | -0.4 pp [-2.9 pp, +2.2 pp] | 385 | -1.3 pp [-6.2 pp, +3.6 pp] | 0.705 |
| "Money leaving" rule turns on | 10d | NOT CONFIRMED | 1160 | -0.1 pp [-2.8 pp, +2.5 pp] | 528 | -0.2 pp [-4.0 pp, +3.7 pp] | 0.462 |
| "Money leaving" rule turns on | 20d | NOT CONFIRMED | 1160 | +1.1 pp [-1.5 pp, +3.8 pp] | 524 | -1.1 pp [-5.3 pp, +3.0 pp] | 0.308 |
| "Money leaving" rule turns on | 60d | NOT CONFIRMED | 1160 | +0.0 pp [-2.2 pp, +2.2 pp] | 502 | +0.5 pp [-3.6 pp, +4.6 pp] | 0.583 |
Industry pool: 12 industry ETFs vs SPY
| State | Horizon | Verdict | Events 2010–21 | Difference vs all days, 2010–21 [95% CI] | Events 2022+ | Difference, 2022+ [95% CI] | p (held-out) |
|---|---|---|---|---|---|---|---|
| RRG enters Leading | 10d | NOT CONFIRMED | 962 | -0.7 pp [-3.6 pp, +2.3 pp] | 390 | -2.5 pp [-7.3 pp, +2.8 pp] | 0.827 |
| RRG enters Leading | 20d | NOT CONFIRMED | 962 | +1.9 pp [-0.8 pp, +4.6 pp] | 385 | -3.0 pp [-6.9 pp, +0.7 pp] | 0.939 |
| RRG enters Leading | 60d | NOT CONFIRMED | 962 | +0.6 pp [-1.7 pp, +2.8 pp] | 374 | +1.3 pp [-2.5 pp, +5.1 pp] | 0.251 |
| Crowded flag turns on | 10d | NOT CONFIRMED | 218 | -1.4 pp [-2.3 pp, -0.7 pp] | 154 | -0.8 pp [-1.5 pp, +0.4 pp] | 0.098 |
| Crowded flag turns on | 20d | NOT CONFIRMED | 218 | -1.4 pp [-2.3 pp, -0.7 pp] | 154 | -0.8 pp [-1.5 pp, +0.3 pp] | 0.094 |
| Crowded flag turns on | 60d | NOT CONFIRMED | 218 | -1.4 pp [-2.3 pp, -0.7 pp] | 154 | -0.8 pp [-1.5 pp, +0.3 pp] | 0.084 |
| "Confirmed entry" rule turns on | 10d | NOT CONFIRMED | 1197 | +1.9 pp [-0.8 pp, +4.3 pp] | 452 | -0.6 pp [-4.9 pp, +4.3 pp] | 0.591 |
| "Confirmed entry" rule turns on | 20d | NOT CONFIRMED | 1197 | -0.3 pp [-2.7 pp, +2.3 pp] | 448 | +1.6 pp [-2.3 pp, +5.8 pp] | 0.225 |
| "Confirmed entry" rule turns on | 60d | NOT CONFIRMED | 1197 | +0.2 pp [-2.1 pp, +2.6 pp] | 433 | +0.2 pp [-4.5 pp, +4.5 pp] | 0.447 |
| "Money leaving" rule turns on | 10d | NOT CONFIRMED | 1262 | -1.3 pp [-3.7 pp, +1.1 pp] | 554 | +0.6 pp [-2.8 pp, +4.2 pp] | 0.630 |
| "Money leaving" rule turns on | 20d | NOT CONFIRMED | 1262 | +0.5 pp [-1.7 pp, +2.8 pp] | 547 | -1.5 pp [-5.1 pp, +2.3 pp] | 0.200 |
| "Money leaving" rule turns on | 60d | NOT CONFIRMED | 1262 | +0.3 pp [-1.7 pp, +2.5 pp] | 532 | -1.7 pp [-5.0 pp, +1.6 pp] | 0.154 |
For the crowding flag the "difference" column is the median 20-day maximum drawdown difference (more negative = deeper pullback after the flag), so the same number repeats across horizons by design. Everywhere else it is the hit-rate difference in percentage points.
What did show up, and what it means
- Crowding, 2010–2021 only. After the crowded flag, the 20-day relative drawdown was deeper than on random days: median -2.0 pp for sectors (n=83) and -1.4 pp for industries (n=218), intervals excluding zero. From 2022 the same numbers were -0.4 pp and -0.8 pp, intervals including zero. Two readings fit: the effect is real but was flattened by the 2022-onward momentum market, or the observation window was luck. The pre-registered rule gives NOT CONFIRMED either way.
- The baseline is below 50%. Over 60 days, the median sector beat SPY 48.7% of the time in 2010–2021 and 42.4% from 2022. SPY is capitalisation-weighted and a few very large stocks carried it. Any sector-picking rule inherits that handicap; a fair comparison is against random days of the same sector, which is what this test does.
- The RRG "clockwise rotation" is weak at this window. With the 10-day window the site's RRG page uses, a sector in "Improving" moved to "Leading" only 1.3× as often as it fell back to "Lagging" (2010–21; 1.2× from 2022), and a "Leading" spell lasted 4.7 trading days on average. At that window the four quadrants mostly describe noise.
- Month- and quarter-end rebalancing windows look like other days. The count of sectors showing "winners decelerating or laggards recovering" was 4.13 inside the windows vs 4.15 outside (2010–21, difference -0.02 [-0.17, 0.14]); 4.68 vs 4.44 from 2022.
- No volume signature on the event day. Median dollar volume on the day a state switched on was 0.94–1.20× the 20-day average across the four states, so a "volume confirmation" component has little to confirm on those days.
- Horizon, not definition, is the likely reason. Academic sector momentum is measured with 6- to 12-month formation windows and skips the most recent month, because at one-month horizons relative returns tend to reverse. The states tested here, like the monitors that use them, live on 5- to 50-day windows. That is a hypothesis for a follow-up test, not a result of this one.
Method, in full
- Data: daily total-return closes from Yahoo Finance (dividends reinvested) for SPY, XLK, XLY, XLC, XLF, XLV, XLP, XLE, XLI, XLB, XLU, XLRE, SMH, IGV, XBI, KRE, ITA, XOP, XHB, XRT, GDX, TAN, JETS, KWEB and IWM, RSP, QQQ, 2005 to 2026-09-03; each ETF enters 260 trading days after listing. Price-only series from this site's nightly feed were checked against the total-return series on 2022+ overlap; the gap is dividend drift, not error.
- Ratio R = ETF / SPY. rel_k = R(t)/R(t−k) − 1 for k = 5, 20, 60; acceleration = rel5 − rel20/4; 20- and 50-day simple averages of R.
- Events defined as in the table above; observation window 2010-01-04 to 2021-12-31, held-out 2022-01-03 to 2026-09-03.
- Verdict rules, α, bootstrap and de-duplication were frozen in
research/PREREG-sector-rotation.mdbefore any data was read; the script ran once after two implementation bug fixes, disclosed in the file. Seed 20260904. - IWM, RSP, QQQ were computed and reported but not judged; their numbers are in
research/RESULTS-sector-rotation.md.
Common questions
What was tested, in one sentence?
Whether a sector that has just entered one of four popular "rotation" states goes on to beat or lag SPY over the next 10, 20 or 60 trading days more often than it does on an ordinary day. It does not: 24 of 24 cells NOT CONFIRMED, across 4,482 sector events and 5,173 industry events.
What does NOT CONFIRMED mean here?
The difference between event days and random days was not significant at α = 0.01 in the held-out window (2022 onward), or the observation and held-out windows disagreed in sign. The verdict rules were written down before any data was read; the pre-registration is in the repository as research/PREREG-sector-rotation.md.
Did anything show up at all?
One thing, and it did not survive. In 2010–2021 the crowded flag was followed by a deeper 20-day relative drawdown than random days (median -2.0 pp for sectors, -1.4 pp for industries, intervals excluding zero). From 2022 the effect shrank to -0.4 pp and -0.8 pp with intervals including zero.
Why is the baseline hit rate below 50%?
SPY is capitalisation-weighted. Over 2026's held-out window the median sector beat SPY over 60 days only 42.4% of the time, because a few very large stocks carried the index. Any sector-picking rule starts from that handicap, which is why comparisons here are against random days of the same sector, not against 50%.
Is this investment advice?
No. It is a statistical test of a popular claim, published with the method and the result that the claim did not hold. It makes no recommendation about any sector.
How to cite this
Free to read, no key and no account — link straight to it.
Plain text
Quant Data. "Does sector momentum persist? Pre-registered test of four rotation states." quantdata.uk, 2026-09-03. https://quantdata.uk/research/does-sector-momentum-persist BibTeX
@misc{undefined,
author = {Quant Data},
title = {Does sector momentum persist? Pre-registered test of four rotation states},
year = {2026},
howpublished = {\url{https://quantdata.uk/research/does-sector-momentum-persist}},
} Permanent link
https://quantdata.uk/research/does-sector-momentum-persist Quoting a figure from this page is fine without asking. If you want the underlying per-observation table for something we have not published, or you spot a number you think is wrong, mail quantdata@quantdata.uk — a corrected number is worth more to us than a cited one.
The states tested are the ones popularised by sector rotation monitors, including the one reproduced on this site from Benjamin Usagi's published tool; that author states his thresholds were never back-tested, and this page is the back-test. Educational only: not investment advice, not a recommendation, not a forecast.