Quant · Flagship research

The Geometry of Risk

Reading systemic stress before it prints

Correlation is a comfortable number right up until the moment it isn't. This project builds a four-layer framework for detecting systemic stress in the structure of a market, rather than in its returns.

The four layers

Each layer is a weak signal on its own. Stacked, they identify the moments when a portfolio's diversification is quietly evaporating — which is precisely when the risk report still looks fine.

Python · network topology · Granger causality · tail risk · HMM
View the repository

Live risk dashboard

Below is a running instance of the framework's core layer — updated daily on real market data, not a static snapshot. It's built to demonstrate the tool working, not to reproduce the peer-reviewed manuscript results (see the note under "How to read this" for the distinction).

Rolling Absorption Ratio · 60-day window, regime-shaded

Calm Transitional Stress Dashed line: 0.50 systemic-stress threshold (Kritzman et al., 2011)

Accelerator · standardised 15-day change in Absorption Ratio (z-score)

Above +2σ: risk building fast Below −2σ: risk easing fast

Current correlation matrix · trailing 60 trading days

How to read this

Absorption Ratio

The share of total variance across the nine-asset universe explained by the first principal component, on a rolling 60-day window. High values mean the market is moving as one correlated block — diversification is thin even if it doesn't show up in any single correlation number. The 0.50 line follows Kritzman et al. (2011).

Accelerator

The standardised rate of change of the Absorption Ratio — is systemic risk building, and how fast? A reading above +2σ means risk is rising quickly even if the AR level itself isn't at an extreme yet; this is what a level-only reading of the Absorption Ratio misses.

Regime

A 3-state Gaussian Hidden Markov Model classifies each day as Calm, Transitional, or Stress based on the joint behaviour of the dominant market factor, the Absorption Ratio, and the accelerator. States are relabelled each run by mean Absorption Ratio, so the labels stay meaningful even though the model is refit daily (see the note below).

This dashboard vs. the manuscript

The peer-reviewed analysis in the repository uses a single HMM fit and validates it out-of-sample against 14 years of history — that's the methodology backing the paper's results. This live page refits the HMM fresh on every update instead, on whatever data is available that day. That's a deliberate choice: this page exists to show the framework running as a tool, not to reproduce the manuscript. Numbers here may not exactly match the paper's reported figures, and will vary run to run near regime boundaries.

Data: Yahoo Finance, 9 global assets · Refit daily · scikit-learn PCA · hmmlearn Gaussian HMM
Full methodology & manuscript status →

Updates daily at 22:00 UTC, after US market close. Generated: