Hierarchical Risk Parity (HRP) Lab

Marcos López de Prado (2016) machine learning portfolio optimization without matrix inversion

HRP Volatility
--%
Tree-clustered risk allocation
Markowitz Min-Var Vol
--%
Critical Line Algorithm (CLA)
Diversification Ratio
--x
Choueifaty Diversification Index
Max Asset Concentration
--%
Largest single asset weight in HRP
Asset Class Volatilities (%)
%
%
%
%
%

Multi-Strategy Asset Allocation Comparison
Asset Class Vol HRP Markowitz ERC Inv Vol 1/N HRP RC
Hierarchical Agglomerative Clustering (Single Linkage)

The tree shows the correlation-distance clustering: assets that co-move strongly cluster together at lower branches (low $d$), while uncorrelated macro assets join at higher tree nodes.

Portfolio Weights Across Optimization Frameworks

Comparison of capital weights assigned by Hierarchical Risk Parity vs. Markowitz Minimum Variance, Equal Risk Contribution (ERC), and Inverse Volatility.

Realized Volatility Under Correlation Estimation Noise

Simulates out-of-sample portfolio instability when historical correlation estimates contain error. Markowitz CLA degrades rapidly due to condition number explosion, while HRP remains robust.

Matrix 1: HRP Treasury Allocation (%)
Tech-Equity Correlation (Rows) vs. Bond-Equity Correlation (Columns)
ρ(SPY, QQQ) \ ρ(SPY, TLT) -0.60 -0.30 0.00 +0.30 +0.60
Matrix 2: Markowitz / HRP Risk Ratio (x)
Estimation Noise Shock (Rows) vs. Volatility Shock (Columns)
Noise \ Vol Shock 0.8x 1.0x 1.2x 1.5x 2.0x

Institutional Quantitative Foundations: Hierarchical Risk Parity

Introduced by quantitative financier Marcos López de Prado (2016) in The Journal of Portfolio Management ("Building Diversified Portfolios that Outperform Out of Sample"), Hierarchical Risk Parity (HRP) addresses the primary flaw of modern portfolio theory: the numerical instability of Markowitz Mean-Variance Optimization.

1. Tree Clustering

Calculates the correlation distance metric $d_{i,j} = \sqrt{\frac{1}{2}(1 - \rho_{i,j})}$, converts to Euclidean distances between distance columns $\tilde{D}$, and builds an agglomerative single-linkage hierarchical tree dendrogram.

2. Quasi-Diagonalization

Applies matrix seriation to reorganize the covariance matrix rows and columns based on the tree hierarchy. Correlated assets are placed immediately adjacent along the main diagonal, forming a block-diagonal structure.

3. Recursive Bisection

Recursively bisects the ordered clusters from top to bottom. Capital is split between child clusters inversely proportional to their aggregated cluster variance $\tilde{V}_k = w_k^T \Sigma_k w_k$, completely bypassing matrix inversion.

Why Markowitz CLA is an "Error Maximizer"

Harry Markowitz's Critical Line Algorithm (CLA) minimizes portfolio variance by computing $\Sigma^{-1} \mathbf{1}$. When asset correlation is high (collinearity), the condition number of $\Sigma$ ($\kappa = \lambda_{\max} / \lambda_{\min}$) explodes. Small sample estimation errors in correlation are magnified quadratically, causing Markowitz models to allocate extreme long/short bets to economically redundant assets. HRP never inverts $\Sigma$, achieving robust out-of-sample performance across all market regimes.

Institutional Mastery Assessment: Hierarchical Risk Parity

1. What is the fundamental mathematical advantage of HRP over Markowitz Mean-Variance Optimization?

2. What role does Quasi-Diagonalization (seriation) play in HRP?

3. When historical correlation estimates suffer from estimation noise, why does Markowitz CLA underperform HRP out-of-sample?

4. In the Recursive Bisection step, how is capital split between sub-clusters $L_1$ and $L_2$?

Frequently Asked Questions

Hierarchical Risk Parity (HRP), introduced by Marcos López de Prado in 2016, is a portfolio optimization methodology that uses graph theory and machine learning (unsupervised hierarchical tree clustering) to allocate risk across assets without requiring covariance matrix inversion.

Markowitz optimization requires inverting the covariance matrix (Sigma^-1). When assets exhibit strong collinearity (correlation near 1.0) or when historical sample size is limited, the condition number of the matrix explodes, turning the optimizer into an "error maximizer" that produces unstable, highly concentrated corner portfolios.

The three steps are: 1) Tree Clustering, which constructs a correlation distance metric and builds a hierarchical dendrogram; 2) Quasi-Diagonalization (seriation), which reorders assets so that similar investments sit adjacent along the diagonal; and 3) Recursive Bisection, which splits capital down the tree branches using inverse cluster variances.

HRP replaces matrix inversion with recursive bisection. At each branch of the hierarchical tree, capital is allocated between two independent clusters based solely on their internal inverse-variance weighted cluster risk, eliminating the mathematical need to invert a singular or ill-conditioned covariance matrix.

HRP generally matches or exceeds the Sharpe ratio of Equal Risk Contribution while demonstrating significantly greater stability out-of-sample. Unlike traditional 60/40 portfolios which suffer from heavy equity concentration risk, HRP balances risk across macroeconomic clusters (equities, duration, commodities, gold).
Related Quantitative Portfolio Strategies
Risk Parity & ERC Lab

Model Equal Risk Contribution (ERC) portfolios and 60/40 risk illusions.

Black-Litterman Model

Blend subjective investor views with market equilibrium priors.

CPPI Portfolio Insurance

Simulate dynamic cushion multipliers and risk-free reserve floors.

TIPP Perpetual Hedging

Explore dynamic trailing high-water mark ratcheting floors.