Hierarchical Risk Parity (HRP):Definition, Formel und Clustering


Offizielle Definition

Die Hierarchical Risk Parity (HRP) ist ein modernes Portfolio-Allokationsverfahren an der Schnittstelle von maschinellem Lernen und quantitativer Finanzanalyse, entwickelt von Marcos López de Prado (2016). Sie adressiert die gravierenden Instabilitäten der klassischen Markowitz-Portfoliotheorie (Mean-Variance-Optimization), welche auf der numerischen Invertierung positiv semidefiniter Kovarianzmatrizen beruht. HRP nutzt Methoden der Graphentheorie und des unüberwachten hierarchischen Clusterings, um Vermögenswerte anhand ihrer Korrelationsstrukturen in einer Baumhierarchie (Dendrogramm) anzuordnen. Die Gewichtsallokation erfolgt anschließend über eine rekursive Bisektion entlang dieses Baumes, wodurch das Verfahren vollständig ohne Matrixinvertierung auskommt und out-of-sample hochgradig robuste Portfoliogewichte liefert.

Steckbrief: Hierarchical Risk Parity auf einen Blick

Kategorie: Machine Learning & NLP / Quantitative Metriken & Risiko
Begründer: Marcos López de Prado (2016, „Building Diversified Portfolios that Outperform Out-of-Sample“)
Mathematische Basis: Hierarchisches Tree-Clustering, Quasi-Diagonalisierung, Rekursive Bisektion
Primäre Input-Parameter: Empirische Rendite-Korrelationsmatrix, Kovarianzmatrix des Anlageuniversums
Rechenkomplexität: O(N2) bis O(N3), numerisch exakt ohne Konvergenzprobleme
Hauptnutzen: Vollständige Eliminierung von Instabilitäten durch schlecht konditionierte Kovarianzmatrizen

Methodische Funktionsweise: Die drei Stufen des HRP-Algorithmus

Klassische Optimierer behandeln alle Vermögenswerte als austauschbare Knotenpunkte in einem vollständig vernetzten Netzwerk. Weisen zwei Titel eine Korrelation von 0,95 auf, invertiert der Markowitz-Algorithmus diese Beziehung oft in extreme gegenläufige Hebelpositionen. HRP gliedert die Allokation daher in drei sequenzielle, deterministische Teilschritte.


Stufe 1 und 2: Tree Clustering und Quasi-Diagonalisierung

Zunächst wird die paarweise Korrelation ρi,j in eine echte mathematische Distanzmetrik transformiert:

$$d_{i,j} = \sqrt{\frac{1}{2}(1-\rho_{i,j})}$$

Auf Basis dieser euklidischen Abstände bildet ein hierarchischer Clustering-Algorithmus (oft Single-Linkage) eine Baumstruktur (Dendrogramm). Im zweiten Schritt, der Quasi-Diagonalisierung, werden die Zeilen und Spalten der Kovarianzmatrix so umsortiert, dass hochkorrelierte Titel unmittelbar nebeneinander entlang der Hauptdiagonale platziert werden. Größere Clusterblock-Strukturen treten visuell und rechnerisch hervor.


Stufe 3: Rekursive Bisektion und Inverse-Varianz-Allokation

Der finale Allokationsschritt teilt die sortierte Matrix rekursiv in zwei Teil-Cluster (Bisektion). Für jedes Cluster wird die aggregierte Cluster-Varianz V berechnet. Das relative Gewicht α1 zwischen zwei Sub-Clustern bestimmt sich streng nach dem Prinzip der inversen Varianzparität:

$$\alpha_1 = 1-\frac{V_1}{V_1+V_2}, \quad \alpha_2 = 1-\alpha_1$$

Dieser Prozess wiederholt sich hierarchisch von oben nach unten, bis jedes Einzeltitels sein finales Portfoliogewicht erhalten hat. Hochvolatile Cluster erhalten automatisch geringere Gewichte, ohne dass isolierte Einzeltitel andere Cluster dominieren können.

Interaktiver Portfolio-Simulator

Interaktiver Simulator: Markowitz-Kollaps vs. Hierarchical Risk Parity

Erhöhe die Korrelation zwischen Anlageklassen, um in Echtzeit zu beobachten, wie die klassische Mean-Variance-Optimierung durch Matrix-Singularität kollabiert und extreme Klumpenrisiken erzeugt, während Hierarchical Risk Parity über Cluster-Bisektion eine robuste Risikoverteilung bewahrt.

Portfolio-Allokation: Markowitz-Kollaps vs. Hierarchical Risk Parity

ρ = 0.25
1. Matrix-Konditionszahl (κ)
2.8 (Inversions-Stabilität)
Kovarianzmatrix gut konditioniert; Inversion numerisch stabil.
2. Max. Markowitz-Gewicht
38.2 % (Klumpenrisiko)
Verteilung im Rahmen; keine extremen Hebelpositionen.
3. HRP Cluster-Sicherheit
Vollkommen Stabil
Keine Matrixinversion nötig; Gewichtung erfolgt über Baumhierarchie.
Markowitz (MVO) HRP (Hierarchische Risikoparität) Gleichgewichtung (25 %)

Praxis-Intuition: Warum Markowitz an ähnlichen Aktien verzweifelt

Die Stammbaum-Analogie: Warum Erbschaften hierarchisch geteilt werden

Betrachte den Unterschied zwischen klassischer Markowitz-Optimierung und Hierarchical Risk Parity wie die Nachlassverteilung in einer weit verzweigten Familie:

  • Der chaotische Familienrat (Klassische Markowitz-Optimierung): Ein Erblasser wirft alle 30 Verwandten (Geschwister, Kinder, Cousins, Großtanten) in einen einzigen Raum und verlangt, dass jede einzelne persönliche Beziehung zu jedem anderen Familienmitglied exakt mathematisch gewichtet wird. Streiten sich zwei Zwillingsbrüder nur minimal, verliert das System das Gleichgewicht: Der eine Zwilling erhält plötzlich 400 Prozent des Erbes auf Pump, während der andere enterbt und hoch verschuldet wird. Genau das passiert bei der Markowitz-Inversion, wenn zwei Aktien stark korrelieren.
  • Die geordnete Erbfolge über Familienstämme (Hierarchical Risk Parity): Ein erfahrener Notar teilt das Erbe zunächst übergeordnet auf die beiden Hauptstämme auf (zum Beispiel 50 Prozent an Familienzweig A und 50 Prozent an Familienzweig B). Erst innerhalb dieser getrennten Zweige wird das Vermögen nach unten an die Geschwister weitergereicht. Selbst wenn zwei Geschwister innerhalb eines Zweigs nahezu identisch auftreten, bleibt die übergeordnete Balance zwischen den Hauptfamilien unberührt und stabil.

Das Multikollinearitäts-Dilemma: Warum Korrelationen Matrizen sprengen

Die klassische Portfoliotheorie nach Harry Markowitz basiert auf der Invertierung der Kovarianzmatrix. In realen Kapitalmärkten bewegen sich viele Titel desselben Sektors jedoch fast im Gleichschritt. Steigt die Korrelation zwischen zwei Titeln auf über 0,80 oder 0,90, wird die Kovarianzmatrix numerisch singulär: Aus Sicht des Algorithmus transportieren beide Kurse nahezu dieselbe Information. Die mathematische Inversion explodiert und erzeugt extreme Hebelpositionen mit gigantischen Klumpenrisiken.

Der Ausweg durch Hierarchical Risk Parity:
Marcos López de Prado verzichtet bei HRP vollständig auf die fehleranfällige Invertierung der Kovarianzmatrix. Das Verfahren nutzt Machine Learning (unüberwachtes hierarchisches Clustering), um einen Baum (Dendrogramm) der Vermögenswerte aufzubauen. Anschließend verteilt eine rekursive Bisektion (Recursive Bisection) das Risikokapital schrittweise von oben nach unten entlang der Äste. Stark korrelierte Titel teilen sich fortan ihr Risikobudget fair im eigenen Teilbaum, anstatt das restliche Portfolio aus dem Gleichgewicht zu heben.


Python-Implementierung: Hierarchical Risk Parity nach López de Prado

Die folgende Referenz-Implementierung in reinem Pandas, NumPy und SciPy setzt den vollständigen dreistufigen HRP-Algorithmus nach Marcos López de Prado um: Sie berechnet die Korrelationsdistanz, führt hierarchisches Clustering (Tree Clustering) samt quasi-diagonaler Sortierung (Quasi-Diagonalization) durch und allokiert das Risikokapital über rekursive und allokiert das Risikokapital über rekursive Bisektion (Recursive Bisection).

Python (SciPy, Pandas & NumPy)
import numpy as np
import pandas as pd
import scipy.cluster.hierarchy as sch
from scipy.spatial.distance import squareform

def get_quasi_diagonal_order(linkage_matrix: np.ndarray) -> list:
    """Sortiert die Blatt-Indizes des Dendrogramms quasi-diagonal."""
    link = linkage_matrix.astype(int)
    num_items = link[-1, 3]
    order = [link[-1, 0], link[-1, 1]]
    while any(idx >= num_items for idx in order):
        new_order = []
        for idx in order:
            if idx >= num_items:
                row = idx - num_items
                new_order.extend([link[row, 0], link[row, 1]])
            else:
                new_order.append(idx)
        order = new_order
    return order

def get_cluster_variance(cov: pd.DataFrame, cluster_items: list) -> float:
    """Berechnet die inverse Paritaets-Varianz eines Teilclusters."""
    cov_slice = cov.loc[cluster_items, cluster_items]
    inv_diag = 1.0 / np.diag(cov_slice)
    weights = inv_diag / np.sum(inv_diag)
    return float(np.dot(np.dot(weights, cov_slice), weights))

def hierarchical_risk_parity(returns: pd.DataFrame) -> pd.Series:
    """
    Hierarchical Risk Parity (HRP) Portfolio-Allokation nach Marcos López de Prado.
    Allokiert Portfoliogewichte robust ohne Invertierung der Kovarianzmatrix.
    """
    cov = returns.cov()
    corr = returns.corr()

    # 1. Tree Clustering: Distanzmatrix & Linkage
    dist = np.sqrt(np.clip((1.0 - corr) / 2.0, 0.0, 1.0))
    link = sch.linkage(squareform(dist.values, checks=False), method="single")

    # 2. Quasi-Diagonalization: Geordnete Ticker-Liste
    sorted_indices = get_quasi_diagonal_order(link)
    sorted_tickers = [returns.columns[i] for i in sorted_indices]

    # 3. Recursive Bisection: Risikoteilung entlang des Baums
    weights = pd.Series(1.0, index=sorted_tickers)
    clusters = [sorted_tickers]

    while len(clusters) > 0:
        clusters = [c[start:end] for c in clusters for start, end in ((0, len(c) // 2), (len(c) // 2, len(c))) if len(c) > 1]
        for i in range(0, len(clusters), 2):
            c1 = clusters[i]
            c2 = clusters[i + 1]
            v1 = get_cluster_variance(cov, c1)
            v2 = get_cluster_variance(cov, c2)
            alpha = 1.0 - v1 / (v1 + v2)
            weights[c1] *= alpha
            weights[c2] *= (1.0 - alpha)

    return weights.reindex(returns.columns)

Hinweis für Quant-Pipelines: Die Wahl der Linkage-Methode beeinflusst die Baumstruktur. Während Marcos López de Prado im Grundlagenwerk Single Linkage für die theoretische Herleitung nutzt, empfiehlt sich in realen Multi-Asset-Portfolios häufig Ward-Linkage oder Complete Linkage, um dichtere, gleichmäßig balancierte Cluster zu bilden.


Einsatz am Kapitalmarkt: Robustheit im institutionellen Multi-Asset-Handel

In der institutionellen Modellierung hat sich HRP als überlegener Standard etabliert:

  • Stabilität bei kollinearen Vermögenswerten: Wenn Anlageklassen (wie Technologieaktien und Krypto-Assets) temporär extrem hoch korrelieren, erzeugt Markowitz absurde Extremallokationen. HRP erkennt die Cluster-Zugehörigkeit und teilt das Risiko stabil auf die Gruppe auf.
  • Keine Annahme über Renditeerwartungen: Ähnlich wie klassische Risk-Parity-Modelle benötigt HRP keine Prognosen künftiger Erträge, welche in der Realität hochgradig rauschbehaftet sind.
  • Hervorragende Out-of-Sample Performance: Empirische Studien belegen, dass HRP über historische Stressphasen hinweg geringere Drawdowns und höhere Sharpe Ratios als herkömmliche Equal-Weight- oder Min-Variance-Portfolios erzielt.

Methodische Grenzen und Kritikpunkte

Auch HRP besitzt Eigenschaften, die im praktischen Handel berücksichtigt werden müssen:

  • Reine Risikoorientierung: Da HRP ausschließlich Korrelationen und Varianzen auswertet, ignoriert das Basismodell fundamentale Alpha-Signale oder Renditeprognosen.
  • Sensitivität gegenüber Linkage-Verfahren: Die Wahl des Clustering-Verfahrens (Single-Linkage, Complete-Linkage oder Ward) kann bei komplexen Anlageuniversen zu unterschiedlichen Baumstrukturen führen.
  • Instabilität bei Regime-Wechseln: Ändert sich die Korrelationsmatrix in Crash-Phasen abrupt, erfordert die hierarchische Neuberechnung unter Umständen ein erhöhtes Transaktionsvolumen.

Häufig gestellte Fragen zu Hierarchical Risk Parity

Die Markowitz-Optimierung erfordert die Invertierung einer Kovarianzmatrix. Bei vielen Titeln führt dies zu numerischen Instabilitäten und extremen Portfoliogewichten. HRP umgeht die Matrix-Inversion vollständig durch hierarchisches Clustering und rekursive Risikoteilung.

Nein. HRP ist ein reines Risikoparitäts-Verfahren, das ausschließlich auf der Korrelations- und Kovarianzstruktur der historischen Zeitreihen aufbaut. Es vermeidet dadurch Schätzfehler instabiler Renditeerwartungen.

Traditionelle Risk Parity unterstellt entweder unkorrelierte Anlagen (Inverse-Volatilität) oder erfordert iterative Optimierer über die gesamte Matrix. HRP berücksichtigt die reale hierarchische Struktur und verhindert, dass hochkorrelierte Sub-Assets den Risikobeitrag dominieren.

In der Originalarbeit von Marcos López de Prado wird das hierarchische agglomerative Single-Linkage-Clustering auf Basis der euklidischen Korrelationsdistanz eingesetzt. In modernen Erweiterungen wird alternativ häufig das Ward-Verfahren verwendet.

Erstellt am: Zuletzt aktualisiert & geprüft am: Autor & Prüfung: Volker Diermann (Informatiker & Quantitative Analyst)