Dynamische Programmierung erklärt
Dynamische Programmierung ist der mathematische Motor hinter deinem optimalen Finanzpfad. Erfahre, wie dieses mathematische Kraftpaket deine Reise zu jedem Ziel vereinfacht.
Dynamische Programmierung – der Goldstandard für deine finanziellen Ziele
Auf den ersten Blick mag Dynamische Programmierung (DP) wie ein Begriff aus der Informatik klingen, der wenig mit Finanzen oder Investieren zu tun hat. Aber in Wirklichkeit ist es ein sehr mächtiges Framework, um optimale sequenzielle Entscheidungen unter Unsicherheit zu treffen. Egal, ob du dich auf einem Schachbrett bewegst, eine Lieferkette verwaltest oder ein Portfolio über die Zeit aufbaust – DP bietet einen systematischen Weg, um komplexe Probleme in überschaubare Teile zu zerlegen.
In diesem Artikel erklären wir dir DP in einfacher Sprache anhand eines einfachen Rasterspiels, gehen ein konkretes Beispiel mit einer Grafik durch und zeigen dann, wie dieselbe Logik den ansatz von GBI bei der Asset Allocation antreibt.
Dynamische Programmierung – Was ist das?
Ganz einfach ausgedrückt ist die Dynamische Programmierung eine Methode zur Lösung komplexer Probleme, indem sie in kleinere Teilprobleme zerlegt werden, jedes davon einmal gelöst wird und diese Lösungen wiederverwendet werden, um die endgültige Antwort zu konstruieren. Sie ist sowohl ein mathematischer Rahmen für die Optimierung als auch ein entsprechender algorithmischer Ansatz.
Die beiden (die mathematische Theorie und der algorithmische Teil) sind eng miteinander verbunden. Für bestimmte Arten von Problemen können wir garantieren, dass eine optimale Strategie existiert und dass die Dynamische Programmierung diese effizient finden kann.
Das Prinzip der Rückwärtsinduktion
Die Kernidee hinter der Dynamischen Programmierung ist es, Probleme rückwärts zu lösen. Ausgehend vom letzten Schritt bestimmen wir die beste Entscheidung für ein gewünschtes Ergebnis und bewegen uns dann Schritt für Schritt auf die Gegenwart zu, wobei wir an jedem Zeitpunkt die beste Entscheidung identifizieren. Dadurch müssen wir die Zukunft nicht erraten – stattdessen lassen wir uns von der Zukunft sagen, was die Gegenwart tun sollte.
Das häufigste Beispiel (das Rasterspiel)
Lass uns ein Spiel spielen.
Stell dir vor, du befindest dich auf einem zweidimensionalen Raster (wie einem Schachbrett), beginnst in der Spalte ganz links in einer beliebigen Zelle und bewegst dich von links nach rechts.

Zu jedem Zeitpunkt kannst du eine Aktion aus einer Reihe von vordefinierten Optionen wählen. Basierend auf deiner Entscheidung bewegst du dich eine Spalte nach rechts und landest mit bestimmten Wahrscheinlichkeiten in einer der Zellen dieser Spalte. Einige Aktionen/Entscheidungen haben eine höhere Chance, dich in eine bestimmte Zelle zu bringen als in eine andere.

Du setzt diesen Prozess fort, bis du die Spalte ganz rechts erreichst. Deine endgültige Position bringt dir Punkte. Wie solltest du dich zu jedem Zeitpunkt verhalten, um deine Endpunktzahl zu maximieren? Existiert eine optimale Strategie?

Genau hier kommt die Dynamische Programmierung ins Spiel.
Schauen wir uns an, wie der Algorithmus funktionieren würde.
Beginne bei der letzten Spalte (Spalte 8). Beachte, dass jede Zelle dort eine bekannte Endpunktzahl hat (in unserem Beispiel nehmen wir an, dass die Oberseite die höchste Punktzahl darstellt).
► Gehe zurück zu Spalte 7. Berechne für jede Zelle dort (z. B. D7) und für jede mögliche Aktion eine erwartete Punktzahl als Summe der Endpunktzahl der nächsten Zelle multipliziert mit der Wahrscheinlichkeit, dort zu landen. Wähle die Aktion, die diesen Erwartungswert maximiert.

► Notiere diese maximale erwartete Punktzahl für jede Zelle in Spalte 7. Dies ist die Punktzahl dafür, dass du dich zu diesem Zeitpunkt in dieser Zelle befindest, und die Aktion, die uns eine solche Punktzahl eingebracht hat (in diesem Fall die «defensive»), ist die optimale Aktion von dieser Zelle aus zu diesem Zeitpunkt.
► Gehe zurück zu Spalte 6 und mache dasselbe, aber verwende dieses Mal die Punktzahlen aus Spalte 7.

► Wiederhole das den ganzen Weg zurück bis zur ersten Spalte.

Das Ergebnis ist eine optimale Entscheidung für jeden möglichen Zustand zu jedem Zeitpunkt.
Die Verknüpfung der Terminologie mit dem Raster
Um diese Intuition mit dem formalen Framework zu verknüpfen, können wir einige Standardbegriffe einführen:
► Die Zellen des Schachbretts werden als Zustände (States) bezeichnet.
► Die Menge der möglichen Entscheidungen wird als Kontrollmenge (Control Set) bezeichnet.
► Die Wahrscheinlichkeiten für den Übergang von einer Zelle zur anderen definieren das Übergangsgesetz (Transition Law).
► Die Endpunktzahl wird als Belohnungsfunktion (Reward Function) bezeichnet.
Unter bestimmten Annahmen können wir beweisen, dass eine optimale Strategie existiert – und dass sie mithilfe eines rekursiven Algorithmus gefunden werden kann.
Dynamische Programmierung und GBI
Erinnerst du dich an das Schachbrett?
Die Bewegung von links nach rechts stellt den Lauf der Zeit dar, und die Zellen in jeder Reihe repräsentieren dein Vermögensniveau zu jedem Zeitpunkt. Bei jedem Schritt entsprechen die dir zur Verfügung stehenden Aktionen verschiedenen Portfolios, die du auswählen kannst. Jedes Portfolio bietet dir unterschiedliche Wahrscheinlichkeiten dafür, dass dein Vermögen in der nächsten Periode steigt oder sinkt. Jedes Portfolio gibt dir unterschiedliche Chancen, in der nächsten Periode mehr oder weniger zu verdienen.
Schliesslich kann die Belohnungsfunktion das Endvermögen selbst sein oder einfach ein binäres Ergebnis (0 oder 1), je nachdem, ob du einen bestimmten Schwellenwert erreicht hast.
Dies führt zu einer very konkreten Frage:
Welches Portfolio solltest du zu jedem Zeitpunkt wählen, gegeben deines aktuellen Vermögens, um dein Endergebnis zu maximieren?
Genau das ist das Problem, das GBI für dich lösen will! Die gute Nachricht ist, dass dieses Problem mithilfe der Dynamischen Programmierung gelöst werden kann. Unter unseren Modellierungsannahmen existiert eine optimale Strategie – und unser Framework ist darauf ausgelegt, diese für dich zu finden.
Um es zusammenzufassen
Dynamische Programmierung ist mehr als ein akademisches Konzept – sie ist ein praktisches Werkzeug, um im Zeitverlauf die bestmöglichen Entscheidungen zu treffen, wenn die Zukunft ungewiss ist. Indem ein komplexes, mehrperiodiges Problem in kleinere, rückwärtsgerichtete Schritte zerlegt wird, DP garantiert eine optimale Strategie, ohne dass du raten oder dich auf deine Intuition verlassen musst.
Im Rasterspiel bedeutet das, genau zu wissen, welche Aktion von jeder Zelle aus zu jedem Zeitpunkt zu ergreifen ist. Im Finanzbereich bedeutet es, genau zu wissen, welches Portfolio du angesichts deines aktuellen Vermögens, deiner Risikotoleranz und deines Anlagehorizonts wählen solltest.
GBI baut auf genau diesem mathematischen Fundament auf und bringt die Strenge der Dynamischen Programmierung in die reale Asset Allocation.
Im nächsten Artikel werden wir die mathematische Struktur hinter diesem Ansatz untersuchen und sehen, wie der Algorithmus in der Praxis funktioniert.
Möchtest du dynamische Programmierung in Aktion sehen? Teste unser Tool und entdecke, wie leistungsstark eine Anlageberatung sein kann, wenn sie von Algorithmen der dynamischen Programmierung angetrieben wird.