← Alle Insights

KI für Portfolio-Optimierung: jenseits von Markowitz.

Mean-Variance-Optimierung ist 1952 erfunden worden und steht in jedem Lehrbuch. Sie funktioniert in der Praxis trotzdem schlecht — nicht, weil die Mathematik falsch wäre, sondern weil die Inputs es sind. Ich zeige, wo ML wirklich hilft, und wo der Aufwand sich nicht lohnt.

Warum klassische Markowitz-Optimierung versagt.

Das Mean-Variance-Framework ist mathematisch elegant: maximiere erwartete Rendite bei gegebener Varianz, oder umgekehrt. Das Problem sind die zwei Inputs: erwartete Renditen und Kovarianz-Matrix. Beide werden aus historischen Daten geschätzt, beide sind notorisch instabil.

Erwartete Renditen schätzen Sie typischerweise mit Mittelwerten der letzten 3–5 Jahre. Standardfehler in der gleichen Größenordnung wie das Signal. Der Optimizer reagiert darauf, indem er extreme Gewichte für Assets mit zufällig hohen historischen Renditen vorschlägt. Markowitz selbst hat sein Privatvermögen 50/50 zwischen Aktien und Renten aufgeteilt — nicht nach seinem eigenen Modell.

Die Kovarianz-Matrix ist das größere Problem. Bei 500 Assets im S&P 500 schätzen Sie 125.250 Parameter. Selbst mit 10 Jahren Tagesdaten haben Sie ~2.500 Beobachtungen — die Matrix ist singulär oder nahezu singulär. Der Optimizer findet dann Linearkombinationen, die in-sample fast keine Varianz haben, out-of-sample explodieren.

Shrinkage: der einfachste Hebel.

Ledoit-Wolf-Shrinkage ist seit 20 Jahren bekannt und immer noch underused. Idee: ziehe die geschätzte Kovarianz-Matrix in Richtung eines strukturierten Targets (z. B. Konstante-Korrelation-Matrix oder Diagonal-Matrix). Der Mischungsparameter wird analytisch optimal gewählt.

from sklearn.covariance import LedoitWolf
lw = LedoitWolf().fit(returns)
cov_shrunk = lw.covariance_

Zwei Zeilen Code, oft 20–40 % bessere Out-of-Sample-Sharpe-Ratios gegenüber Sample-Kovarianz. Wer das nicht macht, hat ein 1990er-Setup.

Graphical LASSO und sparse Precision-Matrizen.

Graphical LASSO schätzt nicht die Kovarianz, sondern die Inverse (Precision-Matrix) mit L1-Regularisierung. Ergebnis: viele Null-Einträge, also explizite bedingte Unabhängigkeiten zwischen Assets. Für faktor-strukturierte Märkte realistisch und interpretierbar.

Praktisch: bei 100+ Assets oft stabiler als Shrinkage, besonders wenn Sie strukturelle Annahmen treffen wollen (z. B. innerhalb einer Sektor-Hierarchie). Nachteil: braucht Cross-Validation für den Regularisierungs-Parameter, Rechenzeit steigt.

Black-Litterman mit ML-Views.

Black-Litterman löst das Renditen-Schätz-Problem elegant: Sie starten mit Markt-implizierten Renditen (was der Markt heute glaubt) und mischen Ihre eigenen Views ein, gewichtet mit der Konfidenz dieser Views. Das Ergebnis sind plausible Renditen ohne Mittelwerts-Chaos.

Klassisch werden die Views manuell formuliert. Mit ML können Sie sie systematisch erzeugen: ein Modell sagt z. B. „Tech-Sektor outperformt Energy um 3 % über die nächsten 6 Monate, Konfidenz mittel". Die Konfidenz fließt als Varianz in die Views-Matrix.

Wichtig: die Views müssen aus Information kommen, die nicht schon in den Markt-Renditen steckt. Sonst rechnen Sie das gleiche Signal zweimal ein.

Risk-Parity und dynamische Volatilitäts-Forecasts.

Risk-Parity ist die einfachste Alternative zu Markowitz: gewichte Assets so, dass jedes den gleichen Risiko-Beitrag liefert. Keine Rendite-Schätzung nötig. Bridgewater fährt damit seit Jahrzehnten zweistellige Renditen.

Wo ML hilft: die Volatilität ist nicht konstant. Statt simpler historischer Vola können Sie GARCH, EWMA mit ML-getuneten Decay-Rates oder direkt LSTM-basierte Vola-Forecasts verwenden. Vorteil: das Portfolio reagiert auf Regime-Wechsel innerhalb von Tagen, nicht Wochen.

Realistisch: der Sprung von 60-Tage-historischer Vola zu GARCH bringt mehr als der Sprung von GARCH zu Deep-Learning-Forecasts. Letzteres kostet Komplexität ohne klaren Edge.

Hierarchical Risk Parity (Lopez de Prado).

Lopez de Prado hat 2016 HRP vorgeschlagen: cluster Assets per Correlation-Distance, verteile Risiko entlang der Hierarchie rekursiv. Resultat: stabile Gewichte ohne Kovarianz-Inversion, robust gegen Schätzfehler.

from pyportfolioopt import HRPOpt
hrp = HRPOpt(returns)
weights = hrp.optimize()

In meinen Backtests auf Multi-Asset-Universen (Aktien-Indizes, Bonds, Rohstoffe, FX) liegt HRP out-of-sample fast immer vor Markowitz, oft auf Augenhöhe mit Risk-Parity, aber mit geringerer Konzentration. Die Methode kommt mit kleinen Stichproben aus, weil sie die volle Kovarianz nie invertieren muss.

Konkretes Setup für ein Multi-Asset-Portfolio.

Für ein typisches diversifiziertes Portfolio (10–30 Positionen, Aktien-Indizes, Bonds, Rohstoffe, ggf. Gold) sieht mein Standard-Setup so aus:

Meine Praxis: einfache Ansätze mit guten Inputs schlagen komplexe Modelle.

Die wichtigste Lehre aus 15 Jahren Portfolio-Bau: die Qualität der Inputs zählt mehr als die Raffinesse des Optimierers. Ein 60/40-Portfolio mit ehrlicher Kovarianz-Schätzung schlägt jedes Markowitz-Setup auf rauen Daten.

Was ich konkret nicht mehr mache: erwartete Renditen aus historischen Mittelwerten schätzen. Was ich konkret immer mache: Shrinkage als Default, HRP als Sanity-Check, harte Constraints als Sicherheitsnetz. Was ML wirklich bringt, sind die Volatilitäts- und Korrelations-Forecasts — alles andere ist eher Kosmetik.

Wer mehr will, sollte zuerst die Daten verbessern (Survivorship-Bias, Adjustment für Splits und Dividenden, lange historische Reihen) und erst dann das Modell. Ich habe mehr Performance durch saubere Daten verloren-und-wiedergefunden als durch jeden Modell-Wechsel.

Sie wollen Ihre Portfolio-Konstruktion auf ein robustes Setup heben? Erstgespräch buchen — wir gehen Ihre aktuelle Allocation und die Schätz-Pipeline durch.