Regime Classifier
Daily cross-asset risk-on / risk-off composite — an arithmetic mean of the macro and on-chain panels. A third, equity factor panel is computed and shown alongside them for context but is not part of the composite. All panels recompute every 24 hours from open data with point-in-time inverse-correlation weights.
Daily regime classification
Predictive power & alignment
| Index → forward return | |
|---|---|
| Index ↔ current price (alignment) | |||||
|---|---|---|---|---|---|
Forward: ρ = rank correlation between today's index level and the asset's log return over the next {30, 90, 180} calendar days, evaluated daily over the trailing window. The predictive measure.
Alignment: ρ between today's index and today's log-price. A sanity check, not a prediction — does the panel track the asset right now? Note that price-derived indicators (SPX_TREND, IWM_SPY in macro; BTC/ETH ratio, ETH_TREND in on-chain) inflate this by construction.
Cyan = ρ ≥ +0.15, amber = ρ ≤ −0.15, dim = |ρ| < 0.15. Hover any cell for n. Effective independent obs ≈ n / horizon — short-horizon numbers are more trustworthy than 180d.
| Strategy | × | CAGR | In-sample | Out-of-sample | Sharpe | Max DD | Trades |
|---|---|---|---|---|---|---|---|
Out-of-sample window starts 2024-02-01. Risky legs earn each asset's spot return; cash leg earns the daily-compounded DTB3 (3-month T-bill) yield. Transaction cost = ½ × Σ|Δw| × 10 bps charged only when the bucket changes. Chart background is shaded by composite regime (cyan = risk-on, amber = risk-off).
Reading this honestly: a strategy that beats the HODL baseline on Sharpe or max drawdown but loses on CAGR is doing risk management, not alpha. A strategy that beats on CAGR is either (a) catching real signal or (b) overfit — the in-sample / out-of-sample split is the tell. Big gap = overfit; consistent = plausible signal. None of this controls for path-dependence across the single 8y window.
Composite = 0.5 × macro + 0.5 × onchain. Each panel is a weighted mean of sign-aligned 3y rolling percentile ranks; weights within a panel are inversely proportional to each indicator's mean absolute correlation with the rest of the panel. Bucket thresholds: composite percentile < = risk-off, > = risk-on.
Methodology
How it works
- Macro panel (8): 10y–2y curve, real 10y, 5y breakeven, HY OAS, DXY, initial jobless claims, VIX, copper/gold — sources: FRED & Yahoo.
- On-chain panel (10): DeFi TVL (level + 90d growth), stablecoin float (level + 90d growth), BTC/ETH active addresses, BTC MVRV, BTC/ETH ratio, ETH 50d/200d trend, new DEX pools per 24h — sources: DefiLlama, blockchain.com, Coinmetrics, Yahoo, GeckoTerminal.
- Equity factor panel (8): high-beta vs low-vol (SPHB/SPLV), momentum (MTUM/SPY), growth vs value (IWF/IWD), utilities leadership (XLU/SPY), staples vs discretionary (XLP/XLY), S&P 500 50d/200d trend, IWM/SPY breadth, Shiller CAPE — sources: Yahoo Finance and the Shiller spreadsheet mirror. Sign-stable equity risk-appetite + style + valuation signals. Computed and shown for context; not included in the composite (see below).
- Normalization: rolling 3-year percentile rank per indicator, sign-aligned so +1 always means risk-on.
- Within-panel weighting: point-in-time inverse-correlation. Each day's weights use only the trailing 3-year window — no look-ahead. Redundant inputs get auto-discounted without manual sub-grouping. 25% per-indicator cap.
- Composite: arithmetic mean of the macro and on-chain panel indices only — the equity factor panel above is computed and displayed but excluded from the composite — then 3y rolling percentile, bucketed at 0.33 / 0.67.
- Smoothing: the published regime label requires 5 consecutive trading days in the new bucket before switching, OR a single-day move in composite percentile exceeding 2σ of its trailing 1y daily-change distribution (with direction consistent with the new bucket). Filters out boundary-noise flips while still responding quickly to legitimate fast regime shifts.
- Storage: long-format history persisted daily; current snapshot served from the analytics store.
Two panels, plus a third for context
The macro panel reads upstream causes — monetary policy, credit conditions, the labor market. The on-chain panel reads crypto-native flows and network health. Together, these two independent viewpoints are averaged into the composite. The equity factor panel reads the behavioral response of price-setters who have already digested the upstream inputs and are committing capital — it is computed and displayed alongside the composite, but is not blended into it. Walk through the comparison and per-panel attribution in the research write-up.
For the original two-panel classifier (macro + on-chain only, kept as a reference) see /regime_2panel. For a plain-language walkthrough of every indicator behind the regime classifier — what it is, how it is derived and how to read it — see the 26 indicators. For the full prior-art survey and design-space mapping, see the Regime Detection research brief.