CPPI-Backtest: Methodik
Der CPPI-Backtest prüft eine Wertsicherungsstrategie an echten Kursen: In Aktien liegt immer ein Vielfaches des Polsters über einer Untergrenze, dem Floor, der Rest liegt sicher in Anleihen und Cash. Diese Methodik beschreibt, was der Code rechnet: Regel, Floor, Prüftermine, Kosten, Gap-Risiko und die Vergleichsstrategien. Die Idee und die Forschung dazu stehen im Artikel CPPI.
Die Regel: Polster mal Multiplikator
Black und Jones (1987) haben die Regel als vereinfachte Portfolio-Versicherung beschrieben, Black und Perold (1992) die Theorie dazu ausgearbeitet. Sie braucht zwei Zahlen: den Floor F, den Wert, der nicht unterschritten werden soll, und den Multiplikator m. Den Abstand des Portfoliowerts V zum Floor nennt man Polster (Cushion). In Aktien liegt an jedem Prüftermin das m-Fache des Polsters, der Rest liegt sicher:
E = min(max(m × (V − F); 0); Hebelgrenze × V); S = V − E; B = Anleihenanteil × S; C = V − E − B- V
- Portfoliowert
- F
- Floor
- V − F
- Polster (Cushion)
- m
- Multiplikator, Voreinstellung 4 (erlaubt 0,5 bis 20)
- Hebelgrenze
- höchste Aktienquote, Voreinstellung 100 % (erlaubt 10 bis 300 %)
- E, B, C
- Beträge im Aktien-, Anleihen- und Cash-Teil; S ist der sichere Rest
- Anleihenanteil
- Anteil des sicheren Rests in Anleihen, Voreinstellung 50 %; der Rest liegt in Cash
Ist m × Polster größer als Hebelgrenze × V, wird die Aktienposition dort gekappt; mit der Voreinstellung 100 % liegt dann das ganze Portfolio in Aktien. Ist das Polster null oder negativ, ist E = 0 und alles liegt sicher. Mit einer Hebelgrenze über 100 % kann E größer als V werden: Der Cash-Teil wird negativ, also ein Kredit, und kostet je Periode den Cash-Ertrag plus einen Aufschlag (Voreinstellung 1 % p.a., nach Kalendertagen auf die Periode umgerechnet).
Drei Teile: Aktien, Anleihen und Cash
Jeder Teil ist eine Wertreihe. Der Aktien-Teil, also der riskante Teil, ist ein Portfolio aus dem Raster oder ein einzelner Ticker bzw. eine Anlageklasse. Der Anleihen-Teil ist ebenso ein Portfolio oder ein Ticker (voreingestellt die Anlageklasse Bundesanleihen 10 Jahre) oder keiner; dann liegt der ganze sichere Rest in Cash. Portfolios aus dem Raster rechnet der Code wie im Backtest, mit dem gewählten Rebalancing in den Portfolios: keins, monatlich (Voreinstellung), quartalsweise, halbjährlich oder jährlich, jeweils am letzten Handelstag der Periode (quartalsweise im März, Juni, September und Dezember), oder mit Toleranzband (Voreinstellung ±5 Prozentpunkte, erlaubt 1 bis 50). Mit Toleranzband prüft der Code jede Periode und setzt alle Gewichte zurück, sobald eines um mehr als das Band vom Ziel abweicht. Die Kosten dafür rechnet er mit demselben Satz wie beim Umschichten zwischen den Teilen, als Satz × gehandelter Betrag, und zieht sie von der Rendite des Teils ab; der Kauf am Start kostet nichts. Für den Cash-Teil gibt es drei Wege:
- Geldmarkt zeitabhängig (Voreinstellung): der Tagesgeldsatz der Basiswährung über die Zeit, beim Euro €STR, davor EONIA und davor Tagesgeld in Frankfurt. Vor Beginn der Zinsreihe oder ohne Zinsdaten gilt der feste Ersatzzins aus den Einstellungen.
- Fester Zins: ein Satz p.a. (Voreinstellung 2 %), je Periode nach Kalendertagen umgerechnet: (1 + Zins)^(Tage / 365,25) − 1.
- Ticker: die Wertreihe eines Geldmarktfonds.
Alle Teile werden auf die gemeinsame Historie und die Datenfrequenz der Einstellungen gebracht, also Monatsenden oder Tageskurse. Anlageklassen liefern nur Monatswerte; ist eine dabei, rechnet die Seite monatlich. Es braucht mindestens 13 gemeinsame Perioden. Die Rendite der ersten Periode zählt nicht, denn dort startet jede Strategie mit 10.000.
Der Floor: Start, Wachstum und Nachziehen
Der Floor startet bei Floor-Anteil × Startwert (Voreinstellung 80 %, erlaubt 0 bis 99 %). Danach entwickelt er sich nach einer von drei Regeln:
| Einstellung | Floor je Periode | Gedanke |
|---|---|---|
| Fest (Voreinstellung) | bleibt gleich | Untergrenze in Euro |
| Mit dem Cash-Zins | F × (1 + Cash-Ertrag der Periode) | wie eine Nullkuponanleihe, die mit dem Geldmarkt aufzinst |
| Fester Zins | F × (1 + Zins)^(Tage / 365,25) | Untergrenze mit Mindestverzinsung |
Zusätzlich lässt sich der Floor nachziehen, damit Gewinne gesichert werden. Er sinkt dabei nie, außer beim Neustart einer Garantieperiode:
- TIPP (Time Invariant Portfolio Protection nach Estep und Kritzman (1988)): Der Floor ist nie kleiner als ein Anteil des bisher höchsten Portfoliowerts (Voreinstellung 80 %). Das gilt schon am Start und nach jedem Neustart.
- Lock-in: Ist der Wert seit dem letzten Nachziehen bzw. seit dem Start um eine Stufe gestiegen (Voreinstellung 10 %), steigt der Floor auf den gewählten Anteil des dann aktuellen Werts. Gewinne werden so in Stufen gesichert.
- Garantieperiode: Nach der gewählten Zahl von Jahren beginnt eine neue Periode. Der Floor wird auf Floor-Anteil × aktuellen Wert gesetzt (mit TIPP mindestens auf den TIPP-Anteil), Hoch und Bezugswert des Lock-in beginnen neu. 0 Jahre heißt durchgehend.
Rebalancing zwischen den Teilen: Prüftermine, Toleranzband und Kosten
Zwischen Aktien-, Anleihen- und Cash-Teil wird nur an Prüfterminen umgeschichtet: jede Periode der Daten, wöchentlich, monatlich (Voreinstellung), quartalsweise, halbjährlich oder jährlich, jeweils am letzten Handelstag der Woche, des Monats, des Quartals, des Halbjahrs oder des Jahres; der Starttag zählt nicht. Auf der Seite heißt das „Rebalancing zwischen den Teilen“. Mit Monatswerten wird „wöchentlich“ zu „jede Periode“, also monatlich. Zwischen den Prüfterminen wachsen die drei Teile mit ihren eigenen Renditen; Floor, Hoch und Nachziehen schreibt der Code trotzdem jede Periode fort.
An einem Prüftermin rechnet der Code die Zielaufteilung neu und handelt nur, wenn die Ziel-Aktienposition um mehr als das Toleranzband (Voreinstellung 5 % von V, erlaubt 0 bis 50 %) von der gehaltenen abweicht, oder wenn V auf oder unter dem Floor liegt und noch Aktien da sind. Dann setzt er alle drei Teile auf das Ziel.
Handel, wenn |E_Ziel − E| / V > Band oder (V ≤ F und E > 0); Kosten = Kostensatz × (|E_Ziel − E| + |B_Ziel − B|)- Kostensatz
- je gehandeltem Betrag in Aktien und Anleihen, Voreinstellung 0,1 % (erlaubt 0 bis 2 %); Cash-Bewegungen kosten nichts
- Kosten
- werden aus dem Cash-Teil bezahlt und mindern V; der Kauf am Start ist für alle Strategien kostenlos
Gap-Risiko, Floor-Verletzung und Cash-Lock
Cont und Tankov (2009) zeigen: Bei stetigem Handel ohne Kurssprünge hätte die Strategie kein Risiko unter den Floor; in echten Märkten ist es nicht vernachlässigbar und wächst mit dem Multiplikator. Fällt der Aktien-Teil zwischen zwei Prüfterminen um den Anteil d, schrumpft das Polster auf das (1 − m × d)-Fache, wenn die Aktienposition vorher dem Ziel entsprach und der sichere Teil gleich bleibt. Ab d = 1/m ist es aufgebraucht.
Polster nach dem Einbruch = Polster × (1 − m × d); aufgebraucht ab d = 1 / m- d
- Kursrückgang des Aktien-Teils bis zum nächsten Prüftermin
| Multiplikator m | Einbruch, der das Polster aufzehrt |
|---|---|
| 2 | 50 % |
| 3 | 33,3 % |
| 4 | 25 % |
| 5 | 20 % |
| 6 | 16,7 % |
Der Code zählt jede Periode, in der V unter F liegt (gemessen vor dem Umschichten), als Floor-Verletzung, zusammenhängende Perioden als eine Episode, und nennt die größte Lücke als kleinsten Wert von V / F − 1. Danach liegt alles sicher. Ist der Floor fest, kommt die Strategie erst wieder in Aktien, wenn der sichere Teil den Wert über den Floor gehoben hat. Wächst der Floor mit dem Cash-Zins, gelingt das nur, wenn die Anleihen mehr bringen als Cash. Liegt der sichere Teil ganz in Cash, gelingt es nie. Diesen Zustand ohne Aktien nennt man Cash-Lock; die Seite zeigt den Anteil der Perioden mit einer Aktienquote unter 1 %.
Mit Monatswerten bleiben Einbrüche innerhalb eines Monats unsichtbar: Die Seite sieht nur den Monatsendkurs und unterschätzt das Gap-Risiko. Mit Tageskursen (Einstellungen) und täglichen oder wöchentlichen Prüfterminen zeigt es sich genauer.
Vergleichsstrategien
Neben der CPPI rechnet die Seite drei Strategien mit denselben Teilen, alle mit 10.000 Startwert und kostenlosem Kauf am Start:
- Fester Mix: die Start-Aufteilung der CPPI (mit den Voreinstellungen 80 % Aktien, 10 % Anleihen, 10 % Cash), an jedem Prüftermin ohne Toleranzband auf diese Gewichte zurückgesetzt, mit demselben Kostensatz auf gehandelte Aktien und Anleihen.
- Buy-and-hold des Aktien-Teils: 100 % im riskanten Teil, nie umgeschichtet, ohne Kosten.
- Renten-Benchmark mit dem Namen des Anleihen-Teils (ohne Anleihen-Teil Cash-Benchmark): der sichere Teil allein, also Anleihen und Cash im gewählten Verhältnis, an den Prüfterminen zurückgesetzt, mit Kosten.
Der Vergleich mit dem festen Mix zeigt den Kern der Strategie. Perold und Sharpe (1988) unterscheiden lineare Strategien (Buy-and-hold), konkave (fester Mix) und konvexe (Portfolio-Versicherung). Die CPPI ist konvex: Sie liegt in langen Trends vorn, nach oben wie nach unten, und verliert in Märkten, die ohne Richtung hin und her schwanken. Dort gewinnt der feste Mix. Die Kalenderjahre im Ergebnis machen das sichtbar.
Ergebnisse und Kennzahlen des Pfads
Für alle vier Strategien zeigt die Seite Endwert, Rendite p.a., Volatilität, maximalen Drawdown, Sharpe Ratio und die weiteren Kennzahlen wie im Backtest, mit Buy-and-hold des Aktien-Teils als Vergleichsindex. Dazu kommen der Verlauf mit dem Floor, Drawdowns und Kalenderjahresrenditen sowie:
- Aufteilung: Anteile von Aktien, Anleihen und Cash am Wert nach dem Umschichten; über 100 % Aktien erscheinen als negativer Cash-Anteil. Reihen mit mehr als 3.000 Punkten zeigt die Seite wöchentlich.
- Polster und Aktienquote: Polster = (V − F) / V und Aktienquote = E / V je Periode; die Aktienquote ist ungefähr m × Polster, gedeckelt.
- Pfad: heutige Quoten, Polster, Floor und Wert, Ø Aktienquote mit Spanne, Anteil der Perioden ohne Aktien, Zahl und Kosten der Umschichtungen, wie oft der Floor nachgezogen wurde (bei TIPP jede Anhebung, bei Lock-in jede Stufe), Neustarts, Floor am Anfang und am Ende, Floor-Verletzungen in Perioden und Episoden und die größte Lücke.
Grenzen
- Keine Garantie: Der Floor ist eine Rechengröße. Eine echte Garantie hängt von der Bonität dessen ab, der sie gibt. Im Backtest gibt es niemanden.
- Monatsdaten verdecken Gaps: Kurseinbrüche innerhalb eines Monats sieht die Seite mit Monatswerten nicht.
- Handel zum Schlusskurs: Umgeschichtet wird zum Schlusskurs des Prüftermins, ohne Kursabschläge durch das eigene Handeln. In Stressphasen ist das optimistisch.
- Keine Steuern: Verkäufe mit Gewinn würden in der Praxis Steuern auslösen und das Polster verkleinern; die Seite rechnet sie nicht.
- Pfadabhängigkeit: Das Ergebnis hängt stark vom Startdatum ab. Ein anderer Start kann einen Cash-Lock auslösen oder vermeiden.
Häufige Fragen
Warum liegt der Wert manchmal unter dem Floor?
Weil nur an Prüfterminen umgeschichtet wird. Fällt der Aktien-Teil dazwischen um mehr als 1/m, ist das Polster aufgebraucht, bevor die Regel verkaufen kann. Die Seite zählt diese Perioden als Floor-Verletzung und zeigt die größte Lücke.
Was bedeutet Cash-Lock?
Nach einem Einbruch auf den Floor liegt alles im sicheren Teil. Wächst der Floor mit dem Zins, kommt die Strategie aus eigener Kraft kaum wieder in Aktien und verpasst die Erholung. Die Seite zeigt, in wie vielen Perioden die Aktienquote unter 1 % lag.
Was ist der Unterschied zwischen TIPP und Lock-in?
TIPP zieht den Floor bei jedem neuen Hoch auf einen festen Anteil davon nach. Lock-in zieht nur nach, wenn der Wert seit dem letzten Nachziehen um eine Stufe gestiegen ist, etwa 10 %. Beide Floors sinken nie, außer beim Neustart einer Garantieperiode.
Warum kauft die CPPI nach Kursgewinnen?
Steigt der Wert, wächst das Polster über dem Floor und mit ihm das m-Fache in Aktien. Nach Verlusten schrumpft es, und die Regel verkauft. Damit ist die CPPI das Gegenteil eines festen Mixes, der nach Gewinnen verkauft.
Wie rechnet die Seite die Handelskosten?
Der Kostensatz gilt für den gehandelten Betrag in Aktien und Anleihen; Cash-Bewegungen sind kostenlos. Die Kosten gehen vom Cash-Teil ab. Derselbe Satz gilt für das Rebalancing in den Portfolios aus dem Raster; diese Kosten mindern die Rendite des Teils. Der Kauf am Start kostet bei allen Strategien nichts.
Literatur
- Black, Fischer; Jones, Robert W. (1987): Simplifying portfolio insurance. The Journal of Portfolio Management 14 (1), S. 48–51. doi:10.3905/jpm.1987.409131
- Black, Fischer; Perold, André F. (1992): Theory of constant proportion portfolio insurance. Journal of Economic Dynamics and Control 16 (3-4), S. 403–426. doi:10.1016/0165-1889(92)90043-E
- Cont, Rama; Tankov, Peter (2009): Constant Proportion Portfolio Insurance in the Presence of Jumps in Asset Prices. Mathematical Finance 19 (3), S. 379–401. doi:10.1111/j.1467-9965.2009.00377.x
- Estep, Tony; Kritzman, Mark (1988): TIPP: Insurance without complexity. The Journal of Portfolio Management 14 (4), S. 38–42. doi:10.3905/jpm.1988.409172
- Perold, Andre F.; Sharpe, William F. (1988): Dynamic Strategies for Asset Allocation. Financial Analysts Journal 44 (1), S. 16–27. doi:10.2469/faj.v44.n1.16
Diese Seite beschreibt, wie Portfolio Lab rechnet; Ergebnisse aus der Vergangenheit sind keine Prognose. Alle Begriffe im Glossar.