Sector Rotation: Complete Research Report
Software vs Semiconductors + 30 sector pairs | 18 cross-factors | 7 research scripts | 245K trades | 12m + 2m + 1m
18
Cross-factor dimensions
7/8
Robustness checks passed
+226%
Backtest P&L improvement
- Core Discovery: PM Rotation = Continuation
- 30 Sector Pairs: Scoring Table (1m/2m/12m)
- AH Rotation = Mean Reversion (opposite of PM!)
- Cross-Asset: TLT, HYG, UUP, FXY, VXX
- Mega-Cap Influence (NVDA, MSFT, XOM)
- Breadth, Herd, Options, Auction
- Context: SPY/QQQ, Day-of-Week, Consensus
- Amplifiers: What Makes Rotation Stronger
- Traps: When Rotation FAILS
- Final Scoring Integration
1. Core Discovery
CORE INSIGHT
PM drift 9:00-9:25 between sectors = CONTINUATION signal. When one sector leads another in pre-market, the leader continues post-open (MOO 9:55). Strongest window: 9:00-9:25 (not 8:00-9:00, not full 8:00-9:25).
GATING FACTOR
fc_confirms is mandatory. Without first candle confirmation, ALL rotation signals drop to 35-42% WR. Rotation alone = weak. Rotation + fc = strong. This was confirmed via conditional independence test (+8.3pp beyond fc alone for Semi LONG).
ROBUSTNESS
Semi LONG rot_fav+fc: 7/8 validation checks passed. Half-split stable (67%/73%), all quarters >65%, bootstrap CI [64.5-73.5%], threshold-insensitive (works at 0.1-2.0), +8.3pp independent lift, worst month 57%.
2. Top Rotation Pairs: 1m / 2m / 12m Scoring
Score +3 (weighted WR >= 85%)
| Leader | vs | Dir | 1m WR | 2m WR | 12m WR | Weighted | Delta | Conf |
| FinTech | ITSvc | LONG | - | 96.4% | 80.7% | 92.5% | +44.5 | MED |
| FinTech | Transport | LONG | - | 96.4% | 76.2% | 91.4% | +35.9 | HIGH |
| Materials | CommMetals | SHORT | 95.7% | 95.7% | 74.4% | 90.4% | +20.0 | HIGH |
| Materials | ITSvc | SHORT | 91.6% | 91.6% | 82.2% | 89.2% | +30.2 | HIGH |
| FV:Semis | Transport | LONG | - | 90.7% | 84.4% | 89.1% | +31.5 | HIGH |
| EnergyBase | ConsDiscr | SHORT | 100% | 75.0% | 76.1% | 85.3% | +18.0 | HIGH |
Score +2 (weighted WR 75-85%) — top 10
| Leader | vs | Dir | Weighted | 12m N | Delta |
| AI vs Semi | SHORT | | 84.9% | 91 | +4.4 |
| Healthcare vs Semi | SHORT | | 84.8% | 254 | +5.8 |
| Materials vs ConsDiscr | SHORT | | 84.4% | 434 | +8.2 |
| EnergyBase vs Telecom | LONG | | 84.3% | 206 | +27.9 |
| Materials vs E-comm | SHORT | | 83.8% | 453 | +9.2 |
| Financials vs Telecom | SHORT | | 81.3% | 353 | +30.8 |
| Energy vs TechHW | SHORT | | 80.2% | 118 | +12.7 |
| Industrials vs Semi | SHORT | | 80.2% | 155 | +18.3 |
| AI vs MedDevices | LONG | | 79.0% | 101 | +31.5 |
| Healthcare vs AI | LONG | | 77.4% | 887 | +16.2 |
3. AH Rotation = Mean Reversion
PM vs AH: Opposite Signals!
| Timeframe | Signal Type | Example |
| PM 9:00-9:25 | CONTINUATION | Semi leads PM -> Semi LONG 71% |
| AH 16:00-19:00 | MEAN REVERSION | Semi leads AH -> Semi LONG worse |
Best AH Rotation Signals (T-1 AH -> T MOO)
| AH Signal | Trade | WR | N | Delta |
| Energy > Fin (AH) | Fin SHORT+fc | 83.2% | 155 | +22.5pp |
| Semi << Soft (AH) | Semi LONG+fc | 92.0% | 25 | reversal |
| Semi > Soft (AH) | Soft SHORT+fc | 82.2% | 157 | continuation |
| Ind > Semi (AH) | Ind LONG+fc | 67.6% | 435 | +8.4pp |
AH Drift Magnitude (Semi vs Soft)
| AH Bucket | Semi LONG | Soft SHORT | Soft LONG |
| Semi << Soft | 92% (25) | 30% (20) | 95% (58) |
| Semi < Soft | 66% (199) | 64% (216) | 61% (479) |
| Neutral | 64% (2092) | 65% (3093) | 56% (3456) |
| Semi > Soft | 55% (211) | 82% (157) | 54% (387) |
4. Cross-Asset Signals
Risk-Off Strong (TLT >> HYG > 1%)
| Trade | WR | N |
| Fin SHORT + fc | 93.0% | 71 |
| Soft SHORT + fc | 91.4% | 58 |
| Semi LONG + fc | 89.7% | 39 |
| ConsDiscr LONG + fc | 79.9% | 144 |
Cross-Asset + PM Rotation Combos
| Combo | WR | N |
| Semi LONG rot+fc+HYG_up | 92.0% | 25 |
| Semi LONG rot+fc+risk_off | 80.0% | 35 |
| Energy LONG rot+fc+HYG_up | 77.0% | 61 |
| Mat SHORT rot+fc+risk_on | 73.0% | 111 |
USD, Yen, VXX
| Signal | Best Trade | WR | N |
| USD up | Mat SHORT+fc | 69.9% | 768 |
| Yen down | Mat SHORT+fc | 70.3% | 1165 |
| VXX spike >3% | Mat SHORT+fc | 71.0% | 614 |
| VXX crash <-3% | Semi LONG+fc | 67.8% | 395 |
TRAPS
| Signal | Trade | WR | N |
| Risk-on strong | Energy LONG | 41.7% | 132 |
| VXX spike | Energy LONG | 47.4% | 420 |
| Prevol extreme | Energy LONG | 38.2% | 34 |
5. Mega-Cap Influence
| Mega-Cap | Signal | Trade | WR | N |
| NVDA surge >3% | NVDA leading sector | Semi LONG rot+fc | 92.0% | 25 |
| NVDA surge >3% | | Mat SHORT rot+fc | 81.8% | 22 |
| NVDA up 1-3% | | Semi LONG rot+fc | 66.7% | 30 |
| MSFT surge >2% | MSFT leading | Soft LONG rot+fc | 26.2% | 42 |
| MSFT flat | | Soft LONG rot+fc | 61.1% | 72 |
NVDA surge = max conviction for Semi LONG. But MSFT surge = TRAP for Soft LONG (26% WR!) — already priced in, everyone chasing.
6. Breadth, Options, Auction
Options Skew
| Own Skew | Mat SHORT rot+fc |
| Mild put | 84.4% (N=32) |
| Strong call | 81.0% (N=21) |
| Neutral | 67.5% (N=609) |
| Mild call | 64.1% (N=78) |
Put skew + Materials SHORT rotation = 84%. Options confirming direction.
Sector Breadth
| Breadth | Mat SHORT rot+fc |
| Extreme >70% | 74.8% (N=433) |
| Broad 50-70% | 55.9% (N=188) |
| Mixed 30-50% | 65.4% (N=78) |
| Narrow <30% | 58.9% (N=56) |
When >70% of sector gapping same direction = strongest signal.
Auction Imbalance
| Auction | Semi LONG | Mat SHORT |
| No imb | 78.6% (42) | 78.0% (127) |
| Normal | 74.4% (43) | 65.8% (184) |
| Elevated | 75.5% (53) | 66.8% (401) |
| Extreme | 54.2% (24) | 75.0% (160) |
Semi: extreme auction = noise (54%). Mat: extreme auction = strong (75%).
7. Context: SPY/QQQ, Day-of-Week, Consensus
SPY vs QQQ Divergence
| Index Div | Semi LONG | Fin SHORT |
| QQQ>>SPY | 92.0% (25) | - |
| QQQ>SPY | 85.0% (20) | 67.7% (133) |
| Aligned | 60.6% (71) | 60.2% (196) |
| SPY>QQQ | - | 41.4% (307) |
| SPY>>QQQ | - | 88.0% (75) |
QQQ>>SPY + Semi rot = 92%. SPY>>QQQ + Fin SHORT = 88%. Index divergence amplifies rotation.
Day of Week
| Day | Mat SHORT rot+fc |
| Monday | 71.7% (N=99) |
| Tuesday | 62.5% (N=259) |
| Wednesday | 81.4% (N=177) |
| Thursday | 63.8% (N=149) |
| Friday | 57.7% (N=71) |
Wednesday = peak (81.4%). Friday = weakest (57.7%).
Gap Consensus (within sector)
| Spread | Mat SHORT | Energy LONG |
| Consensus | 70.1% (147) | 54.4% (259) |
| Mixed | 71.4% (406) | 78.5% (228) |
| Divergent | 59.4% (202) | 33.1% (175) |
Divergent gaps = TRAP for Energy LONG (33%!). Mixed = sweet spot.
8. What Makes Rotation STRONGER
+92% QQQ>>SPY + Semi LONG rot+fc: Index tech leadership confirms sector rotation. Maximum conviction.
+92% NVDA surge >3% + Semi LONG rot+fc: Mega-cap leading = sector follows.
+93% Risk-off strong (TLT>>HYG) + fc: Flight to quality = concentrated flow into quality tech.
+84% Materials SHORT + mild_put skew: Put options confirming downside rotation.
+82% Market breadth bear <20% + Mat SHORT rot: Broad selloff = materials fade strongest.
+81% Wednesday + Materials SHORT rot+fc: Mid-week = peak rotation signal.
+78% Sector breadth extreme >70% + Mat SHORT: Whole sector moving together = strong signal.
+78% No imbalance + Semi/Mat rot+fc: Clean rotation without crowded MOO order = better.
+76% Materials SHORT + prev_day slightly_up: Green prev day + rotation fade = 76%.
+75% Semi LONG + prev_day surge: Momentum continuation from previous day.
9. Traps: When Rotation FAILS
TRAP 26% MSFT surge >2% + Soft LONG rot+fc: MSFT already priced in. Chase = fail.
TRAP 33% Energy LONG + divergent sector gaps: When energy stocks disagree on direction = no signal.
TRAP 38% Energy LONG + prevol extreme: Too much PM volume = already moved.
TRAP 42% Energy LONG + risk-on strong (HYG>>TLT): Counter-intuitive: extreme credit = energy topped out.
TRAP 47% Energy LONG + VXX spike >3%: Vol spike kills energy momentum.
TRAP 54% Semi LONG + extreme auction: Crowded auction imbalance = noise.
TRAP 55% Semi LONG AH-favorable + no PM confirm: AH drift alone doesn't continue. Need PM confirmation.
TRAP 58% Friday + Materials SHORT rot: End-of-week = signal weakens.
10. Complete Scoring Integration
New Layer 16: Sector PM Rotation (implemented in scoring_v5.py)
| ID | Factor | Score | WR% | N | Type |
| ROT01 | Semi LONG rot_fav+fc | +2.0 | 71.1% | 121 | booster |
| ROT02 | Materials SHORT rot_fav+fc | +1.5 | 67.9% | 755 | booster |
| ROT04 | Energy LONG rot_fav+fc | +0.8 | 57.0% | 660 | booster |
| ROT05 | Financials SHORT rot_fav+fc | +0.8 | 56.6% | 715 | booster |
| ROT06 | Industrials SHORT rot_fav+fc | +0.7 | 71.2% | 264 | booster |
| ROT07t | Soft LONG mild unfav rotation | -2.0 | 24.0% | 242 | trap |
Proposed New Factors (from cross-factor research)
| Factor | Score | WR% | N | Condition |
| AH Energy>Fin -> Fin SHORT | +2.0 | 83.2% | 155 | Yesterday AH rotation |
| Risk-off strong + fc | +2.0 | 89-93% | 39-71 | TLT-HYG > 1% |
| QQQ>>SPY + Semi rot | +1.5 | 92.0% | 25 | Index divergence |
| NVDA surge + Semi rot | +1.5 | 92.0% | 25 | Mega-cap leading |
| Sector breadth >70% | +1.0 | 74.8% | 433 | Whole sector consensus |
| Wednesday rotation boost | +0.5 | 81.4% | 177 | Mid-week |
| Energy LONG + divergent gaps | -2.0 | 33.1% | 175 | Sector disagreement |
| Energy LONG + VXX spike | -1.5 | 47.4% | 420 | Vol spike |
| MSFT surge + Soft LONG | -2.0 | 26.2% | 42 | Mega-cap already priced in |
| Friday rotation discount | -0.5 | 57.7% | 71 | End of week |
Backtest Impact: v5 + Rotation Layer
+226%
A+/A basket cumulative P&L
Materials SHORT biggest beneficiary: A-grade WR 54% -> 60%, +448 new trades. Energy LONG B+: 47% -> 55%, +420 trades. October P&L: +41% -> +108%.
Data Sources Leveraged
Datum API
- Intraday 1m bars
- PM stretch (5yr)
- MOO imbalances
- ETF PM (new: 12 ETFs)
Polygon
- Daily bars
- SIC codes
- Market cap
- Sector classification
Finviz
- Industry/theme tags
- Options skew
- AH close prices
- Technical indicators
Computed
- PM rotation signals
- AH sector rotation
- Cross-asset spreads
- Mega-cap gap influence