How it works

RegimeR monitors macroeconomic conditions and classifies when the environment has changed — not what to invest in. When a regime shift is detected, your team reviews positioning. Fixed thresholds on observable indicators, no machine learning, no discretionary overlays.


Four regimes

Contraction

Credit stress is elevated and broadening. Yield curve inversion, widening credit spreads, and deteriorating growth momentum converge. This is the regime the system is built to detect early — historically the source of the largest capital destruction.

Stagflation

Inflation persists alongside economic weakness. Supply chain pressure exceeds threshold while growth indicators contract. Traditional balanced portfolios are particularly vulnerable because both equity and bond legs can decline simultaneously.

Transition

Mixed signals — neither clearly expansionary nor contractionary. Multiple indicators sit near regime boundaries. The system monitors binding signals that could trigger a shift in either direction.

Expansion

Growth is broad-based, inflation is contained, credit conditions are loose. The system monitors for late-cycle signals that would indicate regime deterioration.


Four questions, not one label

Most regime models output a single classification. RegimeR answers four questions simultaneously — the four questions every portfolio manager asks but most systems leave unanswered.

Question 1

What regime are we in?

Primary classification across four regimes — Expansion, Transition, Stagflation, Contraction — using multiple independent macroeconomic indicators per region.

11 sub-types refine the classification with context on whythe regime is what it is. Sub-types structurally cannot override the parent — a designed-in safety constraint, not a configuration option.

Question 2

How stable is it?

The stability score measures distance to the nearest regime boundary. Two regions in Expansion are not the same trade if one is at 85/100 stability and the other is at 21/100. The constraint solver computes actual distance to each boundary — not a heuristic, not a guess.

Question 3

Where is it heading?

Transition pressure and direction tell you where the regime is going, not just where it is. One region in Transition with 100% pressure toward Stagflation is a completely different signal than another with 50% pressure toward Expansion. Same parent regime, opposite implications.

Question 4

Does the market know yet?

The divergence monitor detects when economic stress is building but credit markets have not responded. In backtested validation: 27.5% positive predictive value (5.3x lift), 7.7-month average lead time, and correctly inactive during all four COVID episodes.


What the combination produces

The value is not any single layer — it is the matrix of states they create together.

Traditional model

“State 2, probability 0.73”

State 2 of what? Stable or deteriorating? Is the market already positioned? No answers.

RegimeR

“Transition. Stability 13/100. 100% toward Stagflation. Credit markets have not noticed yet.”

Specific. Quantified. Timestamped. With explicit confidence bounds and a prospective record.


Walk-forward design

At each timestep T, only data available at T-1 is used. Thresholds are calibrated on historical data using walk-forward methodology. The system never sees the future, and every classification decision can be reproduced from the data that existed at the time.

This is not a backtest optimised to maximise Sharpe. The system was developed in 2026 and validated against 28 years of historical data (1998–2024). Thresholds were locked in March 2026 before prospective (live market) validation commenced. The parameter lock is verified by an independent RFC 3161 timestamp from FreeTSA.org — cryptographic proof that the parameters existed in their current form before any prospective results were recorded. Verification tokens and instructions are available via the API. If the signal degrades in real-time, we will publish that result.


What validation proves — and what it doesn’t

The regime signal is validated through three independent methodologies — permutation testing on monthly portfolio returns (p < 0.0001 per region, 30,000 permutations per test across 5 regions), sequential daily confirmation through a validated transmission pathway (0% false strengthening), and sub-type discrimination on observed drawdowns (p = 0.003, Cohen’s d = 0.58) — using different data, different timescales, and different statistical frameworks. Convergence across independent methods is harder to dismiss than any single p-value. It is still not sufficient on its own.

Specification search. The regime definitions (yield curve, credit spreads, inflation, leading indicators) are standard macro constructs, not data-mined combinations. Walk-forward thresholds are computed from past data at each timestep, mitigating threshold fitting. But the choice of which indicators to include is a design decision that occurred within the historical sample. We cannot eliminate all multiple-comparisons risk.

Structural novelty. The 13 validated episodes include credit cascades, exogenous shocks, and inflation regimes. A crisis driven by a mechanism not represented in the historical sample — AI systemic risk, a novel sovereign debt configuration — may not be captured by the current signal set. Permutation testing validates within the historical distribution; it cannot speak to out-of-distribution events.

Survivorship. Many quantitative strategies clear high statistical bars. You see only the ones that passed. This is an industry-wide limitation, not unique to RegimeR.

Statistical validation earns the right to be taken seriously. Live performance through an actual crisis is what earns an allocation. Prospective validation commenced March 2026 — parameters locked, results published quarterly, including failures.


Rule-based classification, validated allocation

Machine learning approach

  • Thousands of learned parameters
  • Performance degrades when distribution shifts
  • Decisions cannot be traced to specific inputs
  • Requires retraining on new data
  • Cannot be explained to a board of trustees

RegimeR approach

  • Regime classification uses fixed threshold rules — no learned parameters
  • Basket weights set by constrained optimisation, validated by permutation testing
  • Every classification traces to a named economic indicator
  • Parameters locked before prospective validation
  • Fully auditable for regulatory reporting (Solvency II compatibility mapping available in due diligence materials)

Fragility analysis

Regime classification answers what state the economy is in. Fragility analysis answers the question that matters more: what would change it, and how close are we?

The system computes the distance from current conditions to every adjacent regime boundary. For each boundary, it identifies the binding signals — the specific indicators that are closest to triggering a transition. A portfolio manager who already has an internal macro view can see exactly where their assumptions are most vulnerable.

Example: US in C_TRANSITION

Nearest boundary: A_STAGFLATION (distance: 4.5)

Binding signals: 2 indicators identified

B_COLLAPSE distance: 8.2

D_GOLDILOCKS distance: 6.1

This tells you: stagflation is the nearest risk, the system identifies which specific indicators are binding at each boundary, and collapse is further away. The authenticated API response includes the binding signal names. No other macro regime product provides this level of boundary transparency.


Programmatic Access

RegimeR exposes regime classifications, signal data, fragility scores, and divergence monitoring through a REST API. Current regime, boundary distances, binding signals, and early warning states are available as structured JSON for integration with existing portfolio and risk systems.

GET /api/v1/regime/US

{
  "regime": "C_TRANSITION",
  "confidence": 0.75,
  "subtype": "C3",
  "signals": {
    "supply_chain_pressure": 0.50,
    "credit_stress":         1.20,
    "growth_momentum":       50.0,
    "yield_curve_spread":    0.40,
    "energy_stress_level":   "ELEVATED",
    "labour_condition":      "NORMAL",
    "trade_stress":          "MODERATE"
  },
  "fragility": {
    "stability_score": 35,
    "nearest_regime": "A_STAGFLATION",
    "distance": 4.5,
    "binding_signals": ["...", "..."],
    "all_distances": {
      "B_COLLAPSE":    { "distance": 8.2, "binding": ["..."] },
      "A_STAGFLATION": { "distance": 4.5, "binding": ["...", "..."] },
      "D_GOLDILOCKS":  { "distance": 6.1, "binding": ["...", "..."] }
    }
  },
  "divergence": {
    "active": false,
    "n_signals_stressed": 1,
    "market_calm": true,
    "historical_ppv": 0.275
  },
  "timestamp": "2026-01-15T08:00:00Z"
}
Discuss API integration →