Sector Rotation

S&P 500 sector and industry rotation, read daily
Reader's guide

How to read the Sector Rotation dashboard

What each reading means, refreshed every trading morning — and how to use it without over-reading it.

The headline readings

The top of the dashboard opens with a one-line status — is a new rotation starting? — from the young-rotation flag (more below), then three readings, industry first:

  • Industries — a 0–1 probability that leadership is reordering across the finer industry groups. It describes what is happening now; on its own it has almost no forward edge (see below).
  • Sectors — the same probability across the coarser 11 GICS sectors: the zoomed-out confirmation.
  • Rotation Intensity — not a probability but a percentile: how elevated realized rotation is right now versus its own history, from a volume-and-turbulence gauge backtested against the sector rotation institutions actually executed (13F filings). It tracked that real rotation better than the model did.

"Rotation" means leadership is reordering broadly — not the whole market rising or falling together, and not one mega-cap dragging its group along. Both are removed before the model ever sees the data (see Methodology). The industry and sector probabilities are detection readings (where are we now); "is a new one starting" is the separate forward question the young-rotation flag answers.

An honest limit on the industry grain. Industries are the finer, more useful view of what is happening — but the aggregate industry probability is not a good "something is starting" signal on its own: it sits above its threshold on about half of all days, so it is almost never off. When we measured its standalone forward edge (July 2026) it was indistinguishable from random. Use the industry grain to see where leadership is shifting; use the young-rotation flag for whether a new one is starting.

The three states

The probability maps to a plain-language state:

StateProbabilityWhat it means
Calm 0.00 – 0.50No active rotation. Sector leadership is stable; dispersion sits below episode thresholds.
Elevated 0.50 – 0.70Pressure building. Dispersion rising and leadership starting to reorder — watch, don't act.
Rotation 0.70 +Active regime. Leadership reordering broadly, on breadth rather than a single name.

These are display bands on a calibrated probability — when the model reads 0.30, rotation regimes have historically occurred about 30% of the time at that level (calibration error on 2021+ is 0.0054; 0 = perfect).

The bands moved on July 17, 2026, and we owe you the reason. Elevated used to begin at 0.20. When we measured what a 0.20 crossing was worth on data the model had not been fitted on, it was very close to nothing, for a line this page was calling "the early-warning signal". So Elevated now starts at 0.50. In the walk-forward backtest (2021 onward, a model that never saw the future), a rotation was confirmed within 20 trading days of a 0.50 crossing 55% of the time, against 30% after an average day (1.81×), with a median 14 trading days of warning. Read that honestly: 45% of those crossings were not followed by a rotation. This is a tilt in the odds, not a prediction. (The 0.50 band was chosen after looking at 2021+ results, so these figures are not a clean test; the live record on the dashboard is.)

Sector leaders & laggards

Each sector's bar is its market-denoised residual return — the sector's move after removing its own beta to the index. What remains is genuine relative movement, not the market carrying everyone together. Positive (green) leads; negative (red) lags.

Breadth — the share of a sector's members actually participating — is the honesty check on each bar. A sector "leading" on thin breadth is usually one or two names, not a real rotation into it.

Regime metrics — and Rotation Intensity

The model is one read. The Regime metrics panel adds a row of recognized rotation gauges — turbulence, relative-strength dispersion, volume intensity and more — each charted as its percentile versus its own history, so you can watch the ones you trust and toggle the rest on to compare. The score on each chip (ρ vs 13F) is how closely that gauge tracked the sector rotation institutions actually executed, reconstructed from their 13F filings.

Rotation Intensity is the standout — days that carry both a volume spike and elevated turbulence. It tracked the real 13F rotation better than any single measure, and it is fully independent of the model, so when the two agree that is genuine corroboration, not one lens fooling itself. It measures rotation intensity (that it is happening), not which sector wins.

Because it is a magnitude, not a regime probability, the model and Rotation Intensity can read differently — and that is useful, not a contradiction. A Calm model beside an Active intensity means no confirmed regime yet, but realized churn already above average — often the leading edge; the reverse (model elevated, intensity quiet) is a dispersion pattern not yet backed by heavy volume. We publish both rather than merge them: a naive combination we tested tracked the real rotation worse, not better, so collapsing them into one number would hide information.

The young-rotation flag — is a new rotation starting?

Our rule is deliberately strict: it only calls a rotation after five straight qualifying days. That stops two noisy days being announced as a regime — but it also means that by the time the rule speaks, the first four days are already behind you.

The flag asks the forward question. When a candidate run is underway, it estimates the probability that this run survives to five days and confirms. Most do not: in the walk-forward backtest about 20% of young-run days belonged to runs that made it. Runs die for unglamorous reasons — on July 14, 2026 one ended because participation printed 0.4396 against a 0.45 floor, a miss of one hundredth.

Why you can trust the number, and exactly how far. The published flag is fitted on 1990–2020 and scored on 2021+: AUC 0.813, against 0.735 for a benchmark knowing nothing but how many days the run has already lasted. Refitted every year on past data only (the walk-forward backtest), it scores 0.822 against 0.738 on 2001–now. Beating that benchmark is the whole test — runs that have lasted longer are likelier to continue, and that is arithmetic, not insight. Its calibration error on 2021+ is 0.0027 (0 = perfect).

What it does not do. It forecasts our own definition of a rotation and nothing else. It will not tell you which sector wins — we measured that and found no skill at all. It will not tell you how big the move gets — a naive "today's dispersion continues" guess beats us there. It is not a return forecast. A high reading means a rotation is more likely to be declared, not that there is money in it.

The rotation map

The map lays out every industry as a tile, so you can see where the rotation is concentrated at a glance — something the headline readings can't show.

  • Colour is the move — the market-denoised residual over the industry's current trend. Green is leading, red is lagging; the stronger the color, the bigger the move.
  • Size is persistence — how many days the industry has held that trend. A single off day or two doesn't reset it, so the size reflects a coherent run, not a lucky session.

Put together: a big green tile is an established rotation into that industry (broad and weeks-long — possibly already late); a small, vividly-colored tile is a fresh move just beginning — the early signal. An industry drifting with the market (no real trend) stays small and neutral, so it never dominates the map by size alone.

The 36-year record

The chart is the monthly average of the published probability since 1990. Each day's value uses observations up to that day, but the model was fitted on 1990–2020 as a whole, so the line before 2021 is in-sample. The dashed line marks 2021: to its right is the period the fit never used. Shaded months are rotation episodes by the mechanical rule. For a record with no look-ahead at all, read the walk-forward backtest on the dashboard.

The validation panel

A latent-state model will fit something to any data, so the numbers below the chart are how you know this one is real:

  • Holdout AUC 0.8697 — detection on 2021+, which the fit never used, re-scored every day as new days arrive. 0.50 is a coin flip.
  • Cross-validated AUC 0.913 — the median over blocked, purged folds within 1990–2020.
  • Calibration error 0.0054 — predicted vs. observed on 2021+; 0 = perfect.
  • Base rate 14.1% — how often rotation occurs on 2021+. It is the benchmark for the Brier score; for AUC the no-skill value is 0.50.
  • The walk-forward backtest — the same model refitted every month on past data only, with every test and pass rule fixed in advance. Detection verdict: Supported (Brier skill 0.407 on 2001–now, 0.208 on 2021+).

What it's for — and not for

It's a detector, not a crystal ball. Identifying whether we're in a rotation today is where the model is strong. Predicting one before it is visible is much harder, and we report that skill honestly as modest and short-lived. Don't read today's number as a forecast.

Research and educational content only — not investment advice, and not a recommendation to buy or sell any security. The reading is a statistical estimate with uncertainty.

How often it updates

The pipeline starts at 06:00 ET, Tuesday–Saturday (it waits while the price feed's own pipeline is still running), and the page updates when it finishes, after the prior session's prices land. The "as of" date at the top always tells you the last data the reading is built on. If the price feed stalls, the page holds the last good date rather than showing a stale number dressed up as fresh.