Two calibrated, point-in-time probabilities — one across the 11 GICS sectors, one across the industries beneath them — that the S&P 500 is in a rotation regime. Each is denoised against market-wide moves and single mega-cap distortion, and tested on a sealed 2021+ holdout it never saw during fitting.
A single day's probability is noisy — the trend is the signal. Below is the last ~6 months of daily readings for both grains, with a 10-day trend line drawn through the day-to-day noise. A trend climbing toward the Elevated band is the early warning to act on; and because industries are one grain finer, that line usually turns first — the lead time between the teal line lifting and the blue one following is where an early move lives.
Every industry as a tile. Colour is the move — the market-denoised residual over the industry's current trend (green leading, red lagging, stronger colour = 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-coloured tile is a fresh move just starting — the early signal. Hover any tile for the detail.
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 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 — where the real leadership shift usually shows first.
The monthly filtered posterior since 1990. Every estimate uses only data available at the time — no look-ahead. Shaded months are model-flagged rotation episodes; the line to the right of the marker is the sealed holdout the model was never fit on.
A latent-state model will always fit something. The only honest test is whether it detects rotation out-of-sample, on data held back from fitting. Here is that record for the sector model, plus the places it is deliberately weak. The industry model runs the identical battery one grain down — its own holdout and cross-validated AUCs are shown on its card at the top.
Identifying whether we are in a rotation today is where the model earns its keep — confirmed on a holdout it never saw, well-calibrated, and stable across start dates from 1990 to 2000. The — episodes it learned from include every regime a reader would name: the 2000 unwind, 2008, the 2020 shock, the 2022 growth-to-value turn.
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 same discipline behind asymmetricbeta.com: 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 the SPDR sector ETFs 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.