Is the S&P 500 rotating — and is a new rotation starting? Read at two grains — the finer industries and the 11 sectors, each stripped of the market's move and any single mega-cap — plus Rotation Intensity, a volume-and-turbulence gauge backtested against the rotation institutions actually executed (13F).
Every industry as a tile. Colour is the move — the market-denoised residual over the industry's current trend (green leading, red lagging, stronger color = bigger move). Size is persistence — how many days it has held that trend, and a one- or two-day blip doesn't reset it. So a big green tile is an established rotation in; a small, vividly-colored tile is a fresh move just starting — the early signal. Hover any tile for the detail.
Our rule only calls a rotation after five straight qualifying days, so by the time it speaks, the first four days are gone. This flag asks the forward question instead: a candidate run is underway right now — will it survive to five and confirm? Most do not. A run is 4 days old. Historically only 21% of runs this young go on to confirm.
There is no middle branch: the rule needs five consecutive days, so a single failing day resets the count to zero.
Runs die when sectors stop pulling apart — not when the market falls. Of runs that ended early, 85% were killed by dispersion alone, versus 5% by participation and 3% by leadership settling down.
Today dispersion sits at the 66th percentile of all history, with 6 points of room above the 60th-percentile floor the rule requires. If sectors converge back toward the index today, this run ends tonight.
Scored 0.813 on 2021+ data it never saw, against 0.735 for a null that only knows how many days the run has lasted (304 runs tested; calibration error 0.0027). It forecasts our own definition of a rotation only — not which sector wins (we measured that: no skill), not how big it gets, and not a return. A high reading means a rotation is more likely to be declared, not that there is money in it.
The 11 sectors are coarse: a rotation can tear through one industry while the sector it belongs to barely moves. This is the same market-denoised residual, one level down.
Market-denoised residual return — each sector net of its own beta to the index, so what remains is genuine relative movement, not the market carrying everyone together. Breadth is the share of a sector's members actually participating.
The probability above is one model's read. Here are the recognized rotation & regime measures, each computed from our own equal-weight sector data and charted as its percentile versus its own history (0 = calm for that measure, 100 = its most extreme). We backtested every one against the sector rotation institutions actually executed — reconstructed from ~580 funds' quarterly 13F filings, 2013-2026 — and the ρ vs 13F on each chip is how closely it tracked that real rotation. Toggle any on to compare. Rotation Intensity — days with both a volume spike and elevated turbulence — matched the real rotation best.
The model and Rotation Intensity answer different questions — are we in a rotation regime (a calibrated probability) versus how much rotation is happening vs history (a percentile) — so a Calm model beside an Active intensity is information, not a contradiction. When they agree it's corroboration; when they diverge it's a signal. We publish both rather than blend them into one number: a naive combination we tested tracked real rotation worse, not better.
A rotation gauge is only worth watching if it matches rotation that actually happened. Our model detects whether the market is rotating — it cannot tell us we picked the right measure. So we went to ground truth: the sector bets large institutions actually made. From ~580 funds' quarterly 13F filings, 2013-2026 we reconstructed the real quarter-by-quarter rotation the crowd executed, then scored each measure by how closely it tracked it (Spearman ρ), across 51 quarters.
To stay honest we held out data the search never saw and re-checked every winner out-of-sample (held out-of-sample across 5 train/test splits (test rho 0.69-0.75)), and we ran a shuffle-null — letting the optimizer loose on scrambled targets to measure how much a good-looking score is just luck. The winning gate cleared a shuffle-null (p=0.014); a 3-signal gate overfit (train up, test down), so we stopped at two.
Honest limits: the 13F yardstick is itself imperfect (institutions look a lot like the market and file ~45 days late), the sample is 51 quarters, and this measures rotation intensity — that it is happening — not which sector wins. Which gauge you trust is a choice; that is why they are all here.
A latent-state model will always fit something. The test is whether it detects rotation on data it was not fitted on. The published model is fitted once on 1990–2020; these four numbers score it on 2021 onward and inside 1990–2020 by cross-validation, for the sector model. The industry model runs the same checks one grain down (its card at the top). The stricter test — refitting every month and never seeing the future — is the walk-forward backtest below.
Identifying whether we are in a rotation today is what the model does best. It was fitted on — episodes from 1990–2020, including the 2000 unwind, 2008 and the 2020 shock; 2021 onward was never used to fit it. The badge is the walk-forward backtest's verdict on detection (below).
Predicting a rotation before it is visible is much harder, and we say so. Forward skill is real but small and decays within weeks. We publish that honestly rather than dress it up — a weak forecast reported plainly is worth more than a strong one that isn't true.
The reading at the top comes from a model fitted once on 1990–2020, so its history before 2021 is in-sample. Here the same model is refitted at the end of every month using only the data available then (370 refits), each day is scored with the fit from the month before, and the calibration is fitted only on earlier out-of-sample forecasts. Every test and every pass rule was written down before the first run (method). Results from January 2, 2001 to October 7, 2026; the held-out period is 2021 onward.
| Question | Result | Verdict | |
|---|---|---|---|
| S1 | Does the probability identify rotation days better than always guessing the average rate? (Brier skill score: 0 = no better, 1 = perfect.) Primary test. | 0.407 (95% range 0.281 to 0.479); held-out 0.208. AUC 0.943 (0.50 = coin flip). | Supported |
| S2a | Does it beat the rotation rule's own same-day check (the three conditions met today, before five days confirm)? | Brier skill 0.407 vs 0.258; difference +0.149 (95% range +0.090 to +0.225). | Supported |
| S2b | Does it beat the dispersion percentile on its own? | Brier skill 0.407 vs 0.335; difference +0.072 (95% range +0.038 to +0.108). | Supported |
| S4 | After the probability crosses 0.50, is a rotation confirmed within 20 trading days more often than after an average day? | 56% of 219 crossings vs 20% after an average day: 2.83× (95% range 2.53 to 3.18); held-out 1.81×. | Supported |
| S5 | Does the young-rotation flag rank young runs better than a model that only knows how long each run has lasted? | AUC 0.822 vs 0.738 over 923 runs (difference 95% range +0.052 to +0.112); held-out 0.809 vs 0.688. | Supported |
| S6 | In a rotation state, are last month's sector leaders a worse guide to next month than in a calm state? | Rank correlation of past and next 21-day sector returns: calm -0.008 (282 months), rotation -0.015 (26 months); t 0.08. | Not supported |
| S7 | Does a sector-fund strategy that holds the 3 recent leaders, but steps aside to all funds equally when the probability is 0.50 or more, beat always holding the 3 leaders? (costs 5 bps per trade) | +0.00% a month (t 0.05); annual return 8.2% vs 8.2%, an S&P 500 index fund 9.8%; beats 45% of random switch timings. | Not supported |
Verdicts: Supported = the result has the direction the page claims, is clear of chance (t ≥ 2, or a 95% range that excludes no effect) and holds in the held-out period; Contradicted = clearly the opposite; otherwise Not supported.
| Probability bin | Days | Said | Happened |
|---|---|---|---|
| 0.05 | 5097 | 0.01 | 0.01 |
| 0.15 | 382 | 0.14 | 0.20 |
| 0.25 | 118 | 0.23 | 0.29 |
| 0.35 | 202 | 0.37 | 0.40 |
| 0.45 | 208 | 0.47 | 0.51 |
| 0.55 | 55 | 0.51 | 0.34 |
| 0.65 | 288 | 0.69 | 0.69 |
| 0.75 | 88 | 0.73 | 0.66 |
| 0.85 | 41 | 0.81 | 0.73 |
Calibration error 0.0007 over 2001–now (0.0040 held out); 0 = perfect.
| Period | Crossings | Followed | Share | Average day | Lift | Median warning (days) |
|---|---|---|---|---|---|---|
| 2001 – now | 219 | 123 | 56% | 20% | 2.83 | 16 |
| 2021 – now (held out) | 71 | 39 | 55% | 30% | 1.81 | 14 |
“Followed” = a rotation confirmed within 20 trading days of the crossing. 44% of crossings were not followed.
Live record since 2026-07-16: 56 published days, 53 with a final label, Brier 0.165 (Brier skill -0.003; 0 = no better than the average rate), 11 rotation days among them. Too few to judge on their own; they are shown because they are the only results no one could have fitted after the fact. The published probability and the walk-forward one come from differently fitted models and are not expected to match: on 2026-10-12 the page said 0.18 and the walk-forward model 0.07; over the live days the average gap is 0.07 and they fall on the same side of 0.50 on 91% of days.
Limits: each company keeps its current GICS sector for its whole history; the rotation rule’s own thresholds were chosen on 1990–2020; the 0.50 band was chosen after looking at 2021+ results, so the held-out crossing figures are not a clean test (the live record is); fund costs are fixed estimates. The model does not say which sector will lead.
The monthly average of the published probability since 1990. Each day's value uses observations up to that day, but the model's parameters and calibration were fitted on 1990–2020 as a whole, so the line before 2021 is in-sample; right of the marker is the 2021+ period the fit never used. Shaded months are rotation episodes by the mechanical rule. The look-ahead-free record is the walk-forward backtest above.
The same discipline behind Asymmetric Beta: a high-integrity data island that owns its price feed on one consistent, single-source basis — no unresolved multi-vendor mixing.
— daily bars from a delisting-complete vendor — the companies that left the index are still here. Cross-checked against a second feed at — agreement.
S&P 500 constituents and float weights as they actually stood each quarter back to 1990, joined by ISIN — never by ticker, which silently recycles.
Sector returns net of market beta and single-name concentration, reconciled to independent sector-ETF benchmarks at — correlation, fed to a filtered hidden-state model.
A short note when the rotation state shifts — no noise, no marketing. Part of the Gyre Research family. Confirm your email and you're in.
Only email is required. Double opt-in. Unsubscribe anytime. We never share your details.
Sectors calm at 0.073 on October 13, 2026, while the industry grain holds in Rotation at 0.717
On October 13, 2026, the sector-level rotation probability fell to 0.073 from 0.178 the day before, keeping the 11 sectors in the Calm state, though it is still described as rising over ten days. Beneath the sectors, the industry probability was unchanged at 0.717, above the 0.70 Rotation threshold and rising over ten days. The young-rotation flag shows a candidate run on day 4, with a 40% chance it confirms. Rotation intensity sits in the Quiet band at the 10th percentile of its history since June 25, 1992.
These figures describe how leadership is shifting, not why, and they do not show whether the current candidate run will confirm or what any sector or industry will return next.
This analysis was created with the assistance of large language model technology. It is written from this page's numbers for the day and describes the results; it is not a forecast or investment advice.