Backtest Report — Market Stress Model

Generated 2026-04-23 13:59  |  Full model range: 2018-01-02 to 2026-04-23

Full Model (2018 – present)

Spearman IC vs Forward S&P 500 Drawdown

TargetHorizonComposite IC95% CI VIX IC3-factor ICN obs
spx_drawdown1d0.099 [0.031, 0.146]0.0940.0501734
hy_widening1d-0.084 WEAK[-0.155, -0.041]-0.040-0.036627
stress_index1d0.776 STRONG[0.631, 0.864]0.6690.3672168
spx_drawdown1w0.150 STRONG[0.060, 0.222]0.1490.0802167
hy_widening1w-0.206 WEAK[-0.333, -0.106]-0.102-0.085783
stress_index1w0.759 STRONG[0.611, 0.849]0.6490.3532168
spx_drawdown1m0.115 [-0.010, 0.256]0.1050.0382167
hy_widening1m-0.453 WEAK[-0.591, -0.218]-0.244-0.155783
stress_index1m0.704 STRONG[0.546, 0.811]0.5950.3132168
spx_drawdown3m-0.019 WEAK[-0.240, 0.221]-0.027-0.1032167
hy_widening3m-0.688 WEAK[-0.814, -0.470]-0.341-0.193783
stress_index3m0.540 STRONG[0.307, 0.717]0.4720.2182168
spx_drawdown6m-0.126 WEAK[-0.364, 0.128]-0.157-0.2302167
hy_widening6m-0.537 WEAK[-0.734, -0.211]-0.0610.070783
stress_index6m0.390 STRONG[0.105, 0.645]0.3260.1092168

Per-Indicator IC — Full Model (2018 – present)

IC vs 30-day forward SPX drawdown

IndicatorSpearman ICFlag
inflation__breakeven_5y0.152STRONG
inflation__cpi_yoy0.122
global_spillover__usd_index0.116
equity_volatility__vix0.105
commodities__wti_crude0.096
global_spillover__eem_vol0.096
equity_volatility__sp500_1m_vol0.083
financial_conditions__nfci0.080
rates_curve__yield_curve0.069
rates_curve__ten_year0.027WEAK
credit_spreads__ig_oas0.017WEAK
funding_liquidity__sofr_spread-0.019WEAK
global_spillover__em_corp_oas-0.021WEAK
financial_conditions__stlfsi-0.030WEAK
credit_spreads__hy_oas-0.036WEAK
commodities__oil_vol-0.046WEAK
global_spillover__euro_hy_oas-0.071WEAK
economic_momentum__unemployment-0.089WEAK
economic_momentum__jobless_claims-0.127WEAK
funding_liquidity__repo_stress-
sentiment__aaii_bull_bear-
sentiment__iran_trigger-

IC vs 30-day SPX max drawdown. WEAK = IC < 0.05 (candidate for removal). STRONG = IC ≥ 0.15.

ROC Curves — Full Model (2018 – present)

ROC — Major Drawdown (>10% / 90d)

Composite (AUC=0.585) VIX alone (AUC=0.574) False Positive Rate True Positive Rate

ROC — Moderate Drawdown (>5% / 30d)

Composite (AUC=0.613) VIX alone (AUC=0.577) False Positive Rate True Positive Rate

Regime Stratification (VIX terciles) — Full Model (2018 – present)

TargetRegime (VIX tercile)N obs IC95% CI
spx_drawdowncalm725-0.146 WEAK[-0.298, 0.000]
spx_drawdownnormal7200.144 [-0.121, 0.361]
spx_drawdownstress7220.137 [-0.065, 0.295]
hy_wideningcalm262-0.322 WEAK[-0.501, -0.137]
hy_wideningnormal260-0.425 WEAK[-0.488, -0.085]
hy_wideningstress261-0.538 WEAK[-0.668, -0.129]
stress_indexcalm7250.167 STRONG[-0.205, 0.480]
stress_indexnormal7210.594 STRONG[0.296, 0.790]
stress_indexstress7220.759 STRONG[0.421, 0.849]

Calm = VIX bottom third; Normal = middle third; Stress = top third.

Per-Year IC Stability — Full Model (2018 – present)

201820202022202420260.080-0.37

Bars above zero = positive IC (model predicted stress); below zero = negative IC (model misfired).

Event Case Studies — Full Model (2018 – present)

EventPeak dateScore at event Orange lead timePeak score (±60d)Top bucket
2008 GFC
Lehman Brothers collapse
2008-09-15 37.6 YELLOW no lead - rates_curve
2011 EU Sovereign
European sovereign debt crisis peak
2011-07-01 37.6 YELLOW no lead - rates_curve
2015 China/HY
China devaluation / HY blowup
2015-08-24 37.6 YELLOW no lead - rates_curve
2018 Q4 Selloff
Fed overtightening fears
2018-12-24 64.3 ORANGE 0d lead 66.8 equity_volatility
2020 COVID Crash
COVID lockdown shock
2020-03-16 65.3 ORANGE 0d lead 70.0 equity_volatility
2022 Inflation
Fed aggressive hike cycle
2022-09-30 75.3 RED 0d lead 77.7 rates_curve
2023 SVB Failure
Silicon Valley Bank collapse
2023-03-10 70.1 RED 0d lead 72.9 rates_curve

Lead time = days from first orange signal to peak-stress date. Score at event = composite on the event date (or nearest available).

Subset Model (2000 – 2017)

Spearman IC vs Forward S&P 500 Drawdown

TargetHorizonComposite IC95% CI VIX IC3-factor ICN obs
spx_drawdown1d0.059 [0.018, 0.092]0.0780.0953723
hy_widening1d- ---0
stress_index1d0.737 STRONG[0.593, 0.831]0.8920.7994655
spx_drawdown1w0.165 STRONG[0.068, 0.240]0.2060.2274653
hy_widening1w- ---0
stress_index1w0.726 STRONG[0.577, 0.820]0.8770.7944659
spx_drawdown1m0.176 STRONG[0.035, 0.292]0.2420.2834653
hy_widening1m- ---0
stress_index1m0.700 STRONG[0.551, 0.800]0.8460.7814675
spx_drawdown3m0.184 STRONG[0.003, 0.340]0.2750.3534653
hy_widening3m- ---0
stress_index3m0.651 STRONG[0.495, 0.761]0.8060.7644695
spx_drawdown6m0.210 STRONG[0.003, 0.383]0.3080.3934653
hy_widening6m- ---0
stress_index6m0.598 STRONG[0.425, 0.731]0.7610.7324695

Per-Indicator IC — Subset Model (2000 – 2017)

IC vs 30-day forward SPX drawdown

IndicatorSpearman ICFlag
economic_momentum__jobless_claims0.269STRONG
financial_conditions__stlfsi0.268STRONG
equity_volatility__vix0.247STRONG
economic_momentum__unemployment0.242STRONG
equity_volatility__sp500_1m_vol0.192STRONG
global_spillover__eem_vol0.187STRONG
commodities__oil_vol0.113
financial_conditions__nfci0.104
inflation__cpi_yoy0.015WEAK
commodities__wti_crude0.006WEAK
global_spillover__usd_index-0.099WEAK
inflation__breakeven_5y-0.123WEAK
rates_curve__ten_year-0.130WEAK
rates_curve__yield_curve-0.222WEAK
funding_liquidity__repo_stress-
sentiment__aaii_bull_bear-
sentiment__iran_trigger-

IC vs 30-day SPX max drawdown. WEAK = IC < 0.05 (candidate for removal). STRONG = IC ≥ 0.15.

ROC Curves — Subset Model (2000 – 2017)

ROC — Major Drawdown (>10% / 90d)

Composite (AUC=0.617) VIX alone (AUC=0.710) False Positive Rate True Positive Rate

ROC — Moderate Drawdown (>5% / 30d)

Composite (AUC=0.651) VIX alone (AUC=0.728) False Positive Rate True Positive Rate

Regime Stratification (VIX terciles) — Subset Model (2000 – 2017)

TargetRegime (VIX tercile)N obs IC95% CI
spx_drawdowncalm1551-0.000 WEAK[-0.164, 0.156]
spx_drawdownnormal15510.016 WEAK[-0.211, 0.249]
spx_drawdownstress15510.118 [-0.130, 0.340]
hy_wideningcalm0- -
hy_wideningnormal0- -
hy_wideningstress0- -
stress_indexcalm15520.421 STRONG[0.213, 0.601]
stress_indexnormal15510.318 STRONG[-0.023, 0.648]
stress_indexstress15510.770 STRONG[0.633, 0.874]

Calm = VIX bottom third; Normal = middle third; Stress = top third.

Per-Year IC Stability — Subset Model (2000 – 2017)

2000200220042006200820102012201420160.400-0.48

Bars above zero = positive IC (model predicted stress); below zero = negative IC (model misfired).

Event Case Studies — Subset Model (2000 – 2017)

EventPeak dateScore at event Orange lead timePeak score (±60d)Top bucket
2008 GFC
Lehman Brothers collapse
2008-09-15 69.0 ORANGE 0d lead 72.0 financial_conditions
2011 EU Sovereign
European sovereign debt crisis peak
2011-07-01 42.3 YELLOW 305d lead 63.9 commodities
2015 China/HY
China devaluation / HY blowup
2015-08-24 53.3 ORANGE 0d lead 55.4 equity_volatility
2018 Q4 Selloff
Fed overtightening fears
2018-12-24 37.7 YELLOW 909d lead - rates_curve
2020 COVID Crash
COVID lockdown shock
2020-03-16 37.7 YELLOW 1357d lead - rates_curve
2022 Inflation
Fed aggressive hike cycle
2022-09-30 37.7 YELLOW 2285d lead - rates_curve
2023 SVB Failure
Silicon Valley Bank collapse
2023-03-10 37.7 YELLOW 2446d lead - rates_curve

Lead time = days from first orange signal to peak-stress date. Score at event = composite on the event date (or nearest available).