THE MACRO SENTINEL Free Global Macro Dashboard · regime-aware research

Melt-Up Watchlist

Cross-sectional cyclicality screen on the live S&P 500. Each name is scored on three price-derived signals (252-day beta to SPY, 12-month return, 60-day realized vol) and ranked. The current (BCI phase × CCMI tercile) regime determines which side of the spread historically leads. Research watchlist — not a backtested portfolio. Updated .

Top 20 cyclicals — most aligned with risk-on regimes

Cyclicality z = cross-sectional z-mean of three price-derived signals at the latest month-end. Top scores cluster in high-beta sectors (Information Technology, Consumer Discretionary, Financials) when those names have been outperforming and trading with elevated volatility. The screen is mechanical — high recent return + high beta + high vol = high cyclicality. Read it as "which names are most exposed to a continuation of the regime that just played out," not as a prediction of forward returns.

Top 20 defensives — most aligned with risk-off / late-cycle narrowing

Bottom scores are low-beta names with quiet recent returns — typically Utilities, Consumer Staples, Health Care insurers, water and waste-services. In late-cycle melt-up regimes the historical pattern is for these names to outperform on a relative basis as breadth narrows; in recovery rallies they lag by a wide margin. The screen surfaces the names; how to size them is the reader's call.

How to read this page

The screen is a rolling cross-section of the S&P 500 — at each month-end every active member is ranked on the three signals, the top and bottom 20 are surfaced. The favored-side label at the top of the page comes from the joint (BCI phase × CCMI tercile) state mapped to whichever quintile end historically led in that regime cell, sourced from cross-sectional probes documented in our methodology archive.

The watchlist is a research surface, not an executable portfolio. The implementation question — equal-weight or cap-weight? top-20 or top-50? long-only or long-short? — has been tested in our internal sleeves and the answers vary; an equal-weight long-only quintile-rotation construction underperformed cap-weighted SPY at portfolio Sharpe even though the cross-sectional spreads were real. The watchlist above gives the names; the position sizing is left to the reader's own framework.

Methodology

Universe. Point-in-time S&P 500 membership at the latest month-end, reconstructed from Wikipedia's S&P 500 changelog (additions/removals back to 1976). At each historical date, the universe is the actual constituents on that date — not today's set walked back. This eliminates survivorship bias when the screen is run historically.

Score. cyclicality_z(t) = mean of cross-sectional z(β_252) + z(r_12m) + z(σ_60d) at month-end t, where:

Cross-sectional z means each signal is z-scored across the active universe at t, not against any historical baseline. The three z's are summed and divided by 3 — equal weights, no optimization.

Regime input. The (BCI phase × CCMI tercile) joint state at the latest as_of, sourced from the BCI factor (4 phases) and the CCMI composite z (low / mid / high tercile of the historical distribution). The favored-side mapping is locked: EARLY CYCLE → cyclicals, EXPANSION → broad bid (no preference), LATE × low/mid → cyclicals, LATE × high → defensives (narrowing breadth), RECESSION → defensives (flight to quality).

Caveats and limits. Single-name regime-conditional sleeves built on this signal were tested in our internal pipeline and killed at walk-forward — equal-weight 100-name constructions couldn't beat cap-weighted SPY at portfolio Sharpe. The cross-sectional ranking remains informative and is published here as a research surface; the leap from cross-sectional ranking to executable portfolio is not direct, and we do not claim it.

Cross-references