Nachdem ich @Epi Post (https://getqu.in/kIkZh6/) über 2xSPYTIPS gelesen habe und sowieso gerade auf der Suche nach Strategiediversifikation war, habe ich ein kleinen Prozentsatz in diese Strategie gesteckt. Nun möchte ich gerne mehr investieren, jedoch macht sie keinen robusten Eindruck auf mich. Deswegen habe ich ganz viel rumprobiert und möchte euch meine Ergebnisse vorstellen.
Ich habe vor 3 Monaten schon mal ein ähnlichen Post gemacht, allerdings werde ich hier deutlich mehr in die Tiefe gehen und am Ende wird auch eine Strategie stehen.
Worum geht es?
Die erwähnte Trendfolgestrategie von @Epi umfasst zwei Indizes und ihre gleitenden Durchschnitte: S&P 500 (z.B. $SPY (+0,23 %) ) und TIPS ($TIP (+0,12 %) ). Die Idee basiert auf dem Momentumfaktor. Ganz simpel gesagt:
Märkte bewegen sich in Zyklen und man will nach oben dabei sein, aber nicht nach unten. Häufig halten Trends an und die Strategie versucht diesen gut zu folgen. Sobald eine Trendumkehr eintritt, schichtet man um (zwischen Cash und dem Investment).
Damit verhindert man, dass man tiefe Drawdowns (Verluste vom letzten Hoch) mitnimmt.
Man verringert also das Risiko (was hier erstmal nur mit dem maximalen Drawdown definiert wird) deutlich. @Epi schlägt demnach vor gehebelt (2x) bei einem Kaufsignal in dem S&P 500 (nachfolgend nur noch "SPY") zu gehen.
Ausgangslage (abstraktes 2xSPYTIPS):
"Investiere in den 2xSPY, wenn der SPY und TIPS am Ende des Monats über ihren SMA (simple moving average) schließen, ansonsten halte Cash"
Der SMA Wert wurde von @Epi als 200 vorgeschlagen, da es ein guter und runder Wert ist. 150 schien aber besser zu laufen, weswegen ich die Strategie mit 150er SMA als Ausgangspunkt nehme. Außerdem verwende ich tägliche Daten von 2003 (und nicht wie @Epi monatliche von 2000), da ich für den TIPS erst ab 2003 Daten habe.
Zusätzliche Annahme ist, dass "Cash" keine Zinsen abwirft. Als SPY Index wurde der S&P 500 Total Return Index verwendet, welcher Dividenden enthält.
Des Weiteren habe ich angenommen, dass das Ende des Monats nichts Besonderes ist und man die Strategie auch immer zum z.B. 15. ausführen lassen könnte. Die abstrakte Version ist folgende: "Prüfe aller n Handelstage das Signal und handle danach". Ein Monat hat ca. 21 Handelstage (ca. 251 / 12). Nun muss man nur noch einen Starttag festlegen. Dafür gibt es 21 Möglichkeiten (bis auf Isomorphie).
Beispiel 1: Starttag 5 -> prüfe Signal am Handelstag 5, 26, 47, 68, etc.
Beispiel 2: Starttag 17 -> prüfe Signal am Handelstag 17, 38, 59, 80 etc.
Was wenn man alle 21 möglichen Starttage testet?

Das sind die Daten von Dezember 2003 bis May 2025. Die getesteten Metriken sind:
- CAGR: jährliche prozentuale Rendite
- Max DD: maximaler Einbruch vom letzten Hoch
- Volatility: Maß für die durchschnittliche tägliche Schwankung
- Beta: komplizierte Volatility, setzt die Schwankungen zu einen Benchmark ins Verhältnis, ignoriert Ausreißer (1 = schwankt genauso wie Benchmark, 2 = doppelt so starke Schwankungen)
- Alpha: jährliche risikoadjustierte Überrendite gegenüber einem Benchmark in Prozent, benutzt Beta für die Risikoadjustierung
- Sharpe: einfaches Maß für risikoadjustierte Überrendite, benutzt Volatility, nichtsaussagend ohne Vergleich
Der Benchmark ist natürlich der SPY und die roten Linien zeigen wie sich der SPY schlägt. Die blauen Linien sind Durchschnittswerte über alle möglichen Starttage.
@Epi gibt 16.2% CAGR bei ca. -20% (monatlichen) Drawdown an. Der minimale (tägliche) Drawdown ist hier größer als -30% während der Durchschnitt bei miserablen -50% liegt. Auch die 16.2% CAGR sind eher best case.
Nachdem ich das gesehen habe, war klar: diese Strategie werde ich so nicht weiter fahren. Aber was nun?
Probleme und Lösungsansätze für 2xSPYTIPS
Das Hauptproblem ist, dass die Strategie in Schwächephasen häufig zu langsam reagiert. Vor allem beim Covidcrash kann es sein, dass erst nach einem ganzen Monat reagiert wird.

Hier sehen wir auch den 60% Drawdown. Die Monatsende Strategie war ziemlich nah am Best Case und somit schien die Strategie gut.

Das ist die Strategie in diesem Jahr. Man sieht auch hier riesige Unterschiede.
Häufig ist man auch nach oben erst spät dabei.
Hier im Forum wurden diverse Modifikationen vorgeschlagen. Zum Beispiel wöchentliche oder tägliche Ausführung. Dies führt allerdings zum "Problem", dass sehr viel mehr Trades entstehen und Gebühren (und Aufwand) fressen. Vor allem, wenn ein Preis um den SMA schwingt. Eine Möglichkeit dieses Problem anzugehen, ist eine Hysterese hinzuzufügen (ein zwei Punkte Schaltsystem), bei dem man kauft, wenn der Preis z.B. 1% über SMA ist und verkauft, wenn der Preis 1% unter SMA ist. Das löst das Problem nur bei kleinen Schwankungen und führt zusätzliche Komplexität ein. Ich habe mich für einen Cooldownansatz entschieden. Dabei wird nach jedem Trade mindestens k Tage gewartet, bevor wieder gehandelt werden kann.
Erster Zwischenstand
2xSPYTIPS ist nicht robust. Dennoch scheint die Idee den TIPS und SPY Indikator zu benutzen interessant. Meine modifizierte Strategie lautet wie folgt:
"Kaufe einen 2xlev SPY, wenn der TIPS und SPY Preis zum Ende einer Periode von n Tagen über ihren SMA liegen, solange der letzte Trade mindestens k Tage entfernt ist. Wechsle zu Cash, wenn TIPS oder SPY zum Ende einer Periode von n Tagen unter ihren SMA liegen, solange der letzte Trade mindestens k Tage entfernt ist."
Nun gibt es 3 Parameter, die man optimieren kann:
- n - das Investmentinterval in Tagen (bei 2xSPYTIPS waren das ca. 21)
- k - die Anzahl an Cooldown Tagen nach einem Trade (bei 2xSPYTIPS 0)
- der Wert des SMA (bei 2xSPYTIPS je nach Variante 200 oder 150)
In den folgenden Simulationen habe ich mir immer das minimale Alpha und den maximalen Drawdown über alle möglichen Starttage angeschaut. Quasi als Performance und Risikometriken.
Erste Simulationen
Zuerst habe ich festgestellt, dass n wahrscheinlich 1 sein sollte. Im Folgenden ist nur eine von vielen Simulationen zu sehen, die diese Annahme bestätigen. Ergibt auch Sinn, da man damit am schnellsten auf Signaländerungen reagieren kann.

Wie gesagt gab es noch viele andere Tests, die zu diesem Ergebnis geführt haben, weswegen ich n für die weiteren Simulationen auf 1 gesetzt habe.
Das heißt: Wenn gerade kein Cooldown vorliegt, wird sofort gehandelt, wenn das Signal sich ändert. Nun habe ich ein Parameter mehr testen können: SPY und TIPS SMA sind jetzt zwei Parameter.
Dabei habe ich für TIPS ein interessantes Muster erkennen können:

Zwischen 200 und 250 SMA ist hier scheinbar ein allgemeiner Sweetspot. Beim SPY SMA gab es kein so klares Bild. Das scheint nochmal zu bestätigen, dass der TIPS Indikator extrem wichtig für die Performance ist.
Bei den Cooldown Tagen gab es auch zwei Sweetspots: bei ca. 10 und ca. 50
Im folgenden seht ihr die finale Scattersimulation. An den Achsen die 3 Parameter. Die Farbe repräsentiert den Alphawert der Strategie. Dabei ist Lila am Schwächsten und Gelb am Besten. Es ist anzumerken, dass auch Lila Top-Strategien sind, da die Schlechten hier bereits ausgeblendet sind.

Es bilden sich 3 Klumpen (von scheinbar guten Strategien):
- ca. 150 SPY SMA, 200 TIPS SMA, 10 Cooldown Tage
- ca. 270 SPY SMA, 200 TIPS SMA, 10 Cooldown Tage
- ca. 270 SPY SMA, 250 TIPS SMA, 50 Cooldown Tage
Es ist auch wichtig zu erwähnen, dass es nicht einzelne Ausreißer sind, sondern kompakte Klumpen mit ähnlichen Parametern, welche eine ähnlich gute Strategie darstellen. Damit ist davon auszugehen, dass die generelle Strategie einigermaßen stetig ist und somit ein Punkt aus der Mitte eines Klumpens eine relativ robuste Strategie darstellt.
Allerdings folgen noch diverse Robustheitstests, die so manche Strategie nicht besteht...
Robustheit?
Nach diesem Schritt (und ein paar anderer Simulationen) habe ich mir 12 Strategien rausgesucht, welche möglichst von anderen guten Strategien umgeben sind.
Der erste kleine Robustheitstest war eine Simulation der Strategien, nicht nur von 2003-2023, wie bisher, sondern von 2003-2013 sowie 2013-2023.
Damit teilt sich der Bereich nicht nur in zwei 10 Jahresabschnitte. Man trennt vor allem die Finanzkrise 2008 und den Covidcrash 2020. Die Strategien mussten in beiden Phasen ein positives Alpha zeigen. 3 haben das nicht geschafft, bleiben 9.
Monte Carlo ist doch Formel 1, oder?
Wichtig ist Overfitting zu vermeiden, um Robustheit zu gewähren. Aber wie testen man auf Overfitting? Hier kommt der Monte Carlo Permutation Test zum Einsatz.
Die Grundidee ist, dass der Kursverlauf des Indikators (oder der Indikatoren) neu "gewürfelt" wird. Dabei werden die prozentualen Tagesveränderungen zufällig neu angeordnet. Man erhält eine Permutation, welche in statistischen Eigenschaften (Performance, Risiko, Variance, etc.) ziemlich genau dem Ausgangsindikator entspricht.
Hier ein Beispiel für solche Permutationen:

Gleicher Start, gleiches Ende, anderer Verlauf.
Anschließend wird die Optimierung auf dem neuen Verlauf ausgeführt. Es werden quasi die besten Parameter für den Permutationsverlauf gesucht. Wenn die damit gefundene Strategie ein höheres Alpha bei gleichen oder niedrigeren Drawdown generiert, dann gilt sie als besser. Ansonsten als schlechter.
Eine Strategie ist dann robust, wenn optimierte zufällige Permutationen schlechter abschneiden als die Optimierung auf den Originaldaten. Das beweist, dass die Strategie wirklich Muster in den Daten findet und nicht einfach die Daten lernt. Ich habe über 1000 Permutationen zwischen 2003-2023 getestet und für jede der 9 Strategien einen p Wert berechnet (gibt an, wie groß der Anteil der besseren Strategien war). Dieser sollte also möglichst gering sein (>0.1 weg damit, <0.1 okay, <0.05 gut, <0.025 sehr gut)
PS1: Für unsere Strategie müssen zwei Indikatoren permutiert werden (SPY und TIPS). Dabei wurden die Tagesveränderungen beider Indikatoren mit dem selben (zufälligen) Muster durcheinander gewürfelt. Somit bleibt die Korrelation der Indizes erhalten.
PS2: long memory und volatility clustering werden durch Permutationen nicht erhalten. Ist nicht weiter schlimm, da das Verfahren Overfitting zwar erkennt, aber das Nichtvorhandensein von Overfitting nicht beweist. Da die Trendfolgestrategie auf diesen Eigenschaften beruht, können wir getrost alle Strategien, welche nicht bestehen in die Tonne hauen, da der Test leicht zu unseren Gunsten ist, wenn diese Eigenschaften fehlen
Zweiter Zwischenstand
4 der 9 Strategien hatten ein p-Wert > 0.1 und sind rausgeflogen. Hier eine Übersicht der 5 Strategien fürs "Finale":

Performance auf Testdaten
Als nächstes wurden die Strategien von 2024 - May 2025 getestet. Zugegeben ein recht kleiner Testbereich, welcher allerdings wieder eher zum Ausschluss von Strategien, nicht aber zur Bestätigung der Robustheit, genutzt werden soll.
Hier performen alle SPYTIPS Strategien, am Alpha gemessen, mies, da der Zeitraum relativ volatil ist. Zum Vergleich hat die traditionelle 2xSPYTIPS in diesem Zeitraum im Schnitt ein Alpha von -14.4 und im wort case sogar von -22.5 generiert. Der maximale Drawdown lag bei -25.3%. Der Benchmarkt (SPY) hatte ein Drawdown von -18.8% (und ein Alpha von 0). Jetzt die Finalisten:

Die zweite und vierte Strategie liefern schwache Werte, während die erste überraschend gute Werte liefert.
Zweite Runde Monte Carlo
Der Monte Carlo Permutation Test wird jetzt noch einmal auf den Testdaten durchgeführt. Diesmal wird die Permutationsstrategie allerdings nicht optimiert, sondern es wird dieselbe Strategie verwendet, die auch auf den realen Daten verwendet wurde. Es wird also überprüft, ob die Strategie auch auf zufälligen Permutationen funktioniert hätte. Wenn ja, dann ist die Strategie nicht richtig auf die Patterns in den realen Daten trainiert worden. Es wird wieder nach besseren Permutationen gesucht. Eine Permutation ist diesmal besser, wenn die Strategie ein höheres Alpha bei gleichen oder niedrigeren Drawdown auf den synthetischen Daten produziert. Wieder ist ein geringer p-Wert besser. Hierbei gibt es allerdings keine guten Richtwerte.
(Da ich ins Bilderlimit gerannt bin, hier die Werte schriftlich:)
- 0.109
- 0.625
- 0.259
- 0.697
- 0.205
Der Test bestätigt noch einmal die miese Performance von Strategie 2 und 4, welche mit >0.5 sogar schlechter als zufällig abschneiden.
Gewinner und ein paar Statistiken
Offensichtlich ist Strategie 1 die Beste. Sie schneidet in allen Tests ganz vorne ab und zeigt sich sogar auf Testdaten (gemessen am Drawdown) stabiler und profitabler als der Benchmark und vor allem als 2xSPYTIPS. Aber wie gut ist die Strategie denn jetzt?

Sie schlägt sogar das best case Szenario der 2xSPYTIPS Strategie deutlich. Erreicht nahezu die doppelte SPY Performance mit den halbem maximalen Drawdown.
Sie erfordert aber nicht nur fast 5 Trades im Jahr, sondern man muss idR täglich auf die Indikatoren reagieren, womit sie eher zu den aktiveren Strategien zählt (und damit der Idee widerspricht, dass es eine einfache Strategie mit wenig Aufwand sein soll. Man könnte hier auch nochmal wöchentliche Ausführung testen, da z.B. Sonntag alle Daten vorliegen und man Montag früh handeln kann. Das würde wahrscheinlich leicht zur Kosten des Risikos gehen). Ich habe sie 2xSPYTIPS-Cool genannt, da sie im wesentlichen die Idee der 2xSPYTIPS Strategie übernimmt, dieses Konzept allerdings um den Cooldown erweitert.
Fazit
Zwar konnte Overfitting und Nichtrobustheit durch meine Tests nicht bewiesen werden, allerdings muss noch weiteres Testen erfolgen. Vor allem auf längeren Testdaten-Zeiträumen. Dennoch sieht das Ergebnis vielversprechend aus.
Auch ist zu erwähnen, dass die Parameter auch sehr runde Zahlen (150, 200, 15) sind, was auf Patterns im Markt hindeutet, da viele Marktteilnehmer auf diese Zahlen achten.
Allerdings werde ich noch andere Robustheitstest durchführen, da der Drawdown durch geringe Änderungen der Strategie deutlich erhöht (auf ca. -40%) werden kann. Auch die (270,270, 16) und (270, 200, 16) Strategie sahen sehr vielversprechend aus.
Das werde ich in einen separaten Beitrag besprechen, da dieser ziemlich lang geworden ist.
Ich hoffe ihr konntet etwas mitnehmen und es war nicht zu kompliziert und technisch. Falls etwas unklar ist, könnt ihr gerne nachfragen.
Auch interessante Ideen und Anregungen für weitere Tests / Strategien / Parameter sind sehr willkommen.