2Wo.·

Nasdaq100 Leveraged LTTS - Kickoff

Guten Abend GQ,

ich möchte euch heute mein Nasdaq100 Leveraged Long-Term Trading System vorstellen. Das Ganze ist im Großen und Ganzen ein AI Model welches ausgehend vom $EQQQ (+0,19 %) den $TQQQ , $SQQQ oder Cash bespart.


Entstehung

Die Idee für das Modell ist im Dezember nach einer Unterhaltung mit @Epi über sein GTAA Modell entstanden welches ich schon länger verfolge. Die erste Idee damals war durch den Vergleich des 50-SMA und 200-SMA vom Nasdaq100 den gehebelten $TQQQ zu kaufen. Nach verschiedenen Backtests auf Portfolio-Visualizer und erfolglosen Versuchen in Excel eine Muster innerhalb der technischen Indikatoren zu finden ist die Idee eines eigenen AI-Models entstanden.


Das Modell

Das LTTS-Model besteht grundsätzlich aus 2 Teilen in Python. Der erste Teil verwendet ein Ensamble aus 3 AI-Modellen um aus verschiedenen technischen Indikatoren den Verlauf des Nasdaq100 in den nächsten Tagen zu prognostizieren. Verwendet wird dabei die History von u.a. SMA, RSI, MACD, ROC, VIX oder verschiedene Volumenparameter zurück bis 2010. Ausgabe des Ensamble sind ein Trading Signal und die aktuelle Modell-Confidence.

Der zweite Teil des Modells besteht aus einer Art Optimierungsschleife die über das Bayesian-Optimization Modell versucht mehrere Indikatoren wie die Kaufschwellen für $TQQQ , $SQQQ , Cash, Glättungsparameter, Zusammenspiel von Trading-Signal mit Confidence, Ensamble-Agreement und andere Parameter durch Backtests zu optimieren. D.h. das Modell selbst führt mit den Signalen vom Prognose-Modell Backtests über verschiedene Zeitbereiche und Einstellungen durch um die Performance zu optimieren. Belohnt wird die AI dabei durch hohe Rendite oder niedrige Drawdowns, Abzüge gibt es für eine übermäßig hohe Anzahl an Trades (Long-Term Modell) oder niedrige Sharp-Ratios.


Entwicklung

Beim Konzept-Erstellen hat sich sehr schnell herausgestellt dass das Modell in Python auf Google-Colab laufen soll. Da ich selbst zwar als Ingenieur in der Entwicklungs eines Halbleiterunternehmens tätig bin kenne ich mich grundsätzlich mit Modellen und Programmierung aus, jedoch auf sehr viel niedrigeren Programmiersprachen. Da meine Python-Kentnisse doch begrenzt sind habe ich mich dazu entschieden das Modell unter zuhilfe von LLM-AI Modellen zu entwickeln (Hauptsächlich Claude Sonnet 3.5, einzeln auch ChatGPT und Perplex) und den Code zu optimieren. Dabei haben sich die Erfahrungen der täglichen Nutzung von AI in der Arbeit immer wieder bestätigt. Die AI hat Code vorgeschlagen den ich so nie geschafft hätte zu programmieren, allerdings muss man jede aber auch jede Zeile einzeln überprüfen und sehr genau debuggen ob alles richtig verstanden wurde und der Code das macht war er soll. In Summe sind in den letzten Monaten ca. 80h in die Entwicklung geflossen, das finale Training der Modelle (auf meinen iMac von 2012 - Colab hat eine begrenzte Laufzeit) beträgt ca. 28h und wird alle 2-3 Wochen wiederholt werden. Die tägliche Berechnung der aktuellen Signale hat auf Colab ne Laufzeit von ca. 1min.


Ausblick

Auch wenn die Backtests sehr gute Ergebnisse hervorgebracht haben muss sich das Modell erst beweisen, daher zurzeit noch eine kleine Investmentsumme im neuen GQ Portfolio. Werde in den nächsten Monaten meine Erfahrungen mit den Modell mit euch noch teilen. In der Theorie kann das Modell mit jedem Asset trainiert (und auch beliebig getradet) werden, zurzeit ist jedoch nur der Nasdaq mit den dazugehörigen Hebeln geplant.


Aktuelles LTTS Signal: Cash (wird dementsprechend so im GQ Portfolio eingetragen um mit dem Markt vergleichen zu können)


Grüße

Euer Internet Explorer

1Position
300,00 €
0,00 %
24
8 Kommentare

Profilbild
Sehr cool! Ein paar Fragen hätte ich aber:

Was sind die Performancewerte des Backtests, inkl. Tradingkosten?

Wie umgehst du das Problem des Overfitting?

Gibt es eine übergeordnete ökonomische Logik deines Modells jenseits der reinen Backtestergebnisse?
3
@Epi Overfitting war in der Tat zu Beginn ein großes Thema, vorallem für die Parametervarierung... Hab die Backtests für Bayesian-Optimization über kleinere Zeiträume laufen lassen und wollte die Ergebnisse danach über Weighted Average kombinieren --> hab gesehen das der Algorithmus die Parameter für die Zeiträume überoptimiert und dan andere Zeiträume bei den gleichen Parametern quasi gar nicht funktionieren... Lösung jetzt ist eigentlich die Optimierung über den gesamten Zeitraum als Training-Data abzüglich Test-Data wodurch die Parameter für verschiedene Bären-/Bullenmärkte bestehen müssen... Die gefundenen Parameter werden dann leicht +- variert und die Auswirkung auf Drawdown wird beobachtet (quasi das nicht ein "optimaler Spike" gefunden wurd und gleiche Abweichungen dann gar nicht gehen). Liege zurzeit bei 35% Drawdown +- 4% je nach Varierung was für mich ok ist, vielleicht erhöhe ich die Abzüge für Drawdown aber noch um eher in den 30er Bereich zu kommen...
Für die Signal Prognose selbst ist vor allem das LSTM anfällig für Overfitting, aktuelles Mittel gegen Overfitting Training/Test Data ist vorallem das Ensemble Agreement der 3 Modelle da RF und GB weniger Overfitting anfällig sind... Das Ensemble ist aber der nächste Punkt den ich noch genauer anschauen möchte.

Musste als Techniker das Thema "übergeordnete ökonomische Logik" kurz mal googeln, würde das ganze aber als Art erweiterete Fear-Greed bezeichnen --> Bull-Market beginnt zu stocken --> Switch von TQQQ auf SQQQ, Bear-market beginnt zu stocken --> Switch von SQQQ auf TQQQ, Side-Market oder unsichere Model Confidence = Cash. Aber yes, das Model hängt sehr vor fehlerfreien Backtests ab die ich des längeren manuell nachrechnen musste (bzw die jeweiligen TQQQ/SQQQ Positionen)
3
Profilbild
@InternetExplorer was für eine Performance p.a hat dein Modell im Backtest erzielt und hast du auch mit Dropout bzw. Noise gearbeitet, um die Robustheit des Modells zu testen?
1
Bin zurzeit bei 105% pa mit TQQQ und SQQQ bei 35% Dropdown über den gesamten Zeitraum (Learn+Test), hab auch ne Variante ohne SQQQ getestet gehabt, die war minimal besser als das SMA TQQQ + Cash Model, genaue Werte müsste ich nachschauen. Dropout/Noise sind zurzeit nicht dabei, ist aber a guter Input... Würde generell gerne Test/Learn-Data besser aufteilen, allerdings ist ea aufgrund des langen Bull-Markets die letzten Jahre etwas schwierig (da dort das Model weniger gefordert ist).. Wenn ich Test-Data von 2020-2025 mach (wo Bull/Bear dabei wäre) ist halt Learndata 2011-2020 im Verhältniss relativ kurz...
2
Profilbild
Was ist deine Renditeerwartung mit diesem Trading-System?
@MoneyGame Ziel ist den Markt zu schlagen... Ist aber nur ein Seit-Projekt (auch aus technischen Interesse obs möglich ist), Hauptportfolio bleibt Core-Satelite mit $VWRL
Profilbild
@InternetExplorer Und den Markt definierst du in diesem Fall mit welchem Index? Vermutlich Nasdaq 100?
@MoneyGame In erster Linie World (quasi Buy&Hold World vs Trading System inkl Transactioncost), in zweiter Linie wäre eine underperformance gegenüber Buy&Hold Nasdaq100 ein klarer Misserfolg des Models... Backtest gibt zurzeit 105% pa bei 35% Drawdown seit 2010 was sich aber erst bewahrheiten muss
Werde Teil der Community