Each trading day is treated like a customer and segmented by how the market behaved over roughly the prior month: trend, fear, rates, tech/AI leadership, growth vs value and cross-asset moves. Six themes, twenty descriptors, equal weight per theme, k-means.
Every k from 5 to 10 was fitted on the same features. Persistence barely changes with k, so the choice comes down to stability: how well the same segments come back when 20% of days are dropped at random.
S&P 500 on a log scale, with each day shaded by its regime. Hover over the chart to read any day.
Numbered from most bearish to most bullish by how far the S&P sits from its 200-day average.
Average of each descriptor over the days in the regime. Shading shows how far a regime sits from the all-day average, in standard deviations.
VIX level and the 3M T-bill yield are shown for context only; the clustering used log VIX and the 10Y level and curve. Forward returns were not used to build the regimes. They overlap day to day and rest on few spells (Crash / panic is essentially one event), so read them as description, not a signal.
Share of each year's trading days in each regime.
Row: yesterday's regime. Column: today's. Percent of days.
Every trading day with its regime and the main descriptors. Switch to spell starts to see the list of regime changes and how long each spell lasted.