Skip to content

Methodology & Data Sources

Transparent documentation of our empirical approach to regime classification and performance analysis. All regime performance claims are grounded in historical backtesting using publicly available data.

Empirical Grounding Approach

How we validate regime performance claims

VantMacro's regime performance data is generated from factor-based historical regime classification spanning 2003-12-25 to 2026-07-16 (8,240 daily classifications). We classify each day across four dimensions using publicly available economic indicators, then calculate actual asset performance during each regime period.

Generated Timeline
8,240 daily classifications across the published date range.
Published Sample Counts
313–3,727 classified days and 25–116 episodes per regime in the current artifact.
Calibration Status
Classifier accuracy and quantile-boundary uncertainty are not estimated. No qualitative sample badge substitutes for the raw counts.

Data Sources

Documented provider series with artifact-level provenance

FactorSourceSeries IDPurpose
Growth (CFNAI)FREDCFNAIChicago Fed National Activity Index - measures economic activity above/below trend
Inflation (CPI)FREDCPIAUCSLConsumer Price Index - calculated year-over-year % change
Liquidity (Fed BS)FREDWALCLFederal Reserve balance sheet total assets - QE/QT proxy
Market Risk (VIX)FREDVIXCLSCBOE Volatility Index - equity market implied volatility
Credit Risk (HY)FREDBAMLH0A0HYM2ICE BofA High Yield Option-Adjusted Spread - credit market stress
Asset PricesTwelve DataS&P 500, Nasdaq 100, Small Caps, Europe, UK, Japan, China, India, Emerging Markets, Gold, Silver, Oil, Copper, Bitcoin, Ethereum, US DollarDaily closing prices for 16 canonical proxies spanning US equities (S&P 500, Nasdaq 100, Small Caps), commodities (Gold, Silver, Oil, Copper), global equities (Europe, UK, Japan, China, India, Emerging Markets), and crypto (Bitcoin, Ethereum), with US Dollar as the dollar proxy

Provider access, retention, and redistribution are subject to each source's terms. FRED now returns only three years of the ICE HY series; the earlier factor lineage and merge boundary are recorded in the generated artifact.

Four-Dimensional Classification Framework

How we identify historical regimes

πŸ“Š1. Real Cycle (Growth)

Expansion
CFNAI > 0.12
Slowdown
-0.22 < CFNAI ≀ 0.12
Contraction
CFNAI ≀ -0.22

πŸ”₯2. Inflation

High
CPI Year-over-Year > 2.34%
Low
CPI Year-over-Year ≀ 2.34%

πŸ’°3. Liquidity/Policy

Easing (QE)
Fed BS Year-over-Year > 3.721321013856449%
Tightening (QT)
Fed BS Year-over-Year ≀ 3.721321013856449%

⚑4. Market Risk

Crisis
VIX > 19 OR HY > 492bps
Elevated
VIX 15-19 OR HY 370-492bps
Stable
VIX ≀ 15 AND HY ≀ 370bps

Composite Regime Mapping

The four dimensions combine using priority-based logic:

  1. 1.Crisis conditions override all - If VIX > 19 or HY spreads > 492bps β†’ CrisisLiquidation
  2. 2.Post-crisis recovery - If risk elevated + policy easing β†’ PostShockRecovery
  3. 3.Stagflation check - If growth slowdown + inflation high β†’ StagflationarySqueeze
  4. 4.Normal regimes - Map based on growth + inflation + policy combination
  5. 5.Mixed signals - Unclear patterns β†’ Transitional

Structural and Provenance Validation

What the canonical pipeline actually verifies

The pipeline does not score hand-labelled crisis windows against an arbitrary pass threshold. It verifies reproducible properties of the generated evidence instead:

  • Required fields, finite values, known taxonomy, and strict JSON
  • Unique chronological dates and exact calendar-day timeline coverage
  • Episode counts, durations, transition counts, and row sums
  • Complete provider, method-config, and artifact SHA-256 provenance
  • Freshness and cross-file application data contracts

Case-study dates remain curated context. They are not used as a classifier-accuracy target.

Performance Calculation Methodology

How we compute empirical returns

A regime change starts a new episode. Aggregate regime returns compound only chronological daily returns assigned to that regime; intervening-regime returns are excluded.

CAGR

Compounded assigned returns, annualized with the trading-day convention recorded in provenance
(1 + compounded return)^(1 / assigned years) - 1

Sharpe Ratio

Annualized mean excess daily return divided by daily volatility
annualize(mean(dated excess return) / std(dated excess return))

Max Drawdown

Worst peak-to-trough decline within a contiguous episode
min((price - peak) / peak)

Regime Distribution (2003-2026)

Coverage across composite regimes

RegimeDays% of TotalOccurrencesAvg Duration
ReflationaryExpansion3133.8%2512.5 days
LateCycleInflationaryBoom4335.3%3313.1 days
StagflationarySqueeze7519.1%4716.0 days
DisinflationarySlowdown7899.6%4119.2 days
PostShockRecovery1,38816.8%8316.7 days
CrisisLiquidation3,72745.2%11632.1 days
Transitional83910.2%5315.8 days
Total8,240100%39820.7 days

Counts, shares, and average episode duration are computed from the generated duration artifact. Unequal samples are shown rather than converted into qualitative quality labels.

Limitations & Disclaimers

Understanding the boundaries of this analysis

⚠️ Important Limitations

  • Data begins 2003-12-25, the computed first complete factor date after transformations and declared availability lags
  • Monthly/weekly indicators forward-filled to daily (assumes state persistence)
  • The five inputs across four dimensions are a descriptive proxy and do not capture every macroeconomic nuance
  • Historical boundaries are recomputed as equal-frequency quantiles from the complete aligned current-vintage sample; they change when source history changes and are retrospective
  • Asset class coverage: 16 generated asset artifacts (US and global equities, commodities, crypto, and a dollar proxy, including: Europe, UK, Japan, China, India, Emerging Markets, and crypto: Bitcoin/Ethereum). Each artifact records its own sample dates.

πŸ“š Educational Use Only

This methodology is provided for transparency and educational purposes. All historical performance is descriptive, not predictive.

  • Past performance does not guarantee future results
  • Not a recommendation to buy or sell securities
  • Market conditions evolve and historical patterns may not repeat
  • Consult a qualified financial advisor before making investment decisions

Reproducibility & Code

Open methodology for verification

All regime classification and backtest code is available in the project repository under web/backtests/empirical_grounding/

Classification Script

historical_regime_classifier.py

Reads versioned provider snapshots and generates the descriptive daily historical proxy with declared availability lags

Backtest Script

asset_regime_performance.py

Loads regime history, fetches asset prices, calculates CAGR/Sharpe/drawdown by regime

Detailed methodology documentation available in METHODOLOGY.md

Statistical Validation Results

Temporal stability and exploratory asset associations

Median-Date Temporal Comparison

We compare regime-conditioned asset returns on either side of the generated sample's median classified date ( 2015-04-06). No model is trained in this step, and the current-vintage quantile boundaries use the full era, so this is not untouched held-out validation.

Directional Consistency
43%
Average share of comparable regime estimates with the same sign across the two periods
Magnitude Correlation (ρ)
-0.28
Average regime-return correlation across the generated comparison assets
ℹ️
What This Means

The displayed figures compare regime-conditioned returns between two median-defined eras. They are descriptive stability diagnostics, not classifier accuracy, trading guidance, or precise return forecasts. Correlation is defined for 14 assets and sign agreement for 14.

Asset-Specific Regime Effects

Asset-level one-way ANOVA outputs are retained as exploratory diagnostics in the generated statistical artifact. Pairwise Tukey inference is omitted because iid assumptions are not established. Daily returns are serially dependent and heteroskedastic, regime labels persist, and the factors are market-derived; those assumptions prevent a confirmatory significance or causal claim.

Legacy Liquidity Level Regression Excluded

Why no canonical liquidity–NASDAQ RΒ² is published

The former log-level regression mixed source units and compared persistent trending levels without establishing stationarity. That specification can produce a high but spurious fit, so it is excluded from the canonical backtest and no RΒ² claim is published.

A replacement analysis would require unit-normalized inputs, release/vintage controls, stationarity diagnostics, and a pre-specified changes or error-correction model.

Regime Transition Patterns

Observed transition frequencies from 397 generated historical changes

Based on 397 generated regime changes from 2003-2026. Rows show observed next-state frequencies in the published timeline; they are not predictive probabilities.

Regime Transition Matrix

Observed next-state frequencies from one generated regime (rows) to another (columns). Based on 397 historical transitions (2003-2026).

Reflation
LateCycle
Stagflation
Disinflationary
Crisis
PostShock
Transitional
Reflation
β€”
32%
12%
β€”
β€”
48%
β€”
LateCycle
30%
β€”
30%
β€”
18%
β€”
β€”
Stagflation
β€”
15%
β€”
β€”
46%
β€”
15%
Disinflationary
β€”
β€”
β€”
β€”
41%
29%
22%
Crisis
β€”
β€”
β€”
17%
β€”
37%
23%
PostShock
13%
β€”
β€”
13%
53%
β€”
β€”
Transitional
β€”
15%
β€”
13%
53%
β€”
β€”
Probability:0%
53.0% observed maximum