Um eine Trading-Idee in ein automatisches oder diskretionäres Handelssystem zu überführen sind verschiedene Punkte und Vorgehensweisen zu beachten. Diese werden im folgenden Artikel näher erläutert. Zum Abschluss steht eine fertige Handelsstrategie, die auf den Märkten eingesetzt werden kann.
Erste Ideen zu einer Handelsstrategie
Durch lesen von Fachliteratur, Magazinen oder Bücher können Tradingideen sehr schnell im Kopf entstehen. Manchmal sind es einfache Muster im Chart, Trends die Auffallen, oder besonders volatilitätsarme Phasen, die einer Prüfung und damit einer Programmierung unterzogen werden sollen. Oft sollte man gelesenes selber ausprobieren, um ein Gefühl für die Handelsstrategie zu bekommen und natürlich, um zu prüfen, ob die dargestellten Ergebnisse, auch der Realität entsprechen. Auch die hier auf diesen Seiten und in diesem Blog dargestellten Inhalte, sollten allesamt selbst getestet und geprüft werden, bevor diese für das eigene Trading verwendet werden.
Für neue Ideen muss vorab ein Markt und ein ausgewähltes Timeframe festgelegt werden. Dies können Tagesdaten oder auch Intradaydaten sein. Diese stehen kostenlos aber auch kostenpflichtig im Internet zur Verfügung. Je nach Art des Handelssystems und des verwendeten Tradingsymbols reicht eine Datenqualität von einem kostenlosen Anbieter bereits aus. Bei fortgeschritteneren Anforderungen empfiehlt sich ein kostenpflichtiger Anbieter. Wenn möglich sollten auch bereits so genannte Key Performance Indikatoren (KPIs) vorhanden sein, auf die nach einem ersten Test geschaut wird. Dies kann der Profit-Faktor oder der Drawdown sein, aber auch der Jahresgewinn eines Handelssystems. Sowohl NinjaTrader also auch Wealth-Lab bieten hierbei umfangreiche Hilfe bei der Auswahl der KPIs.
Programmierung der Regeln des Handelssystems mit NinjaTrader
Steht die Idee fest und genauso der Markt und der Timeframe können die Regeln entweder zusammengeklickt oder direkt in Quellcode programmiert werden. Bei einfachen Systemen und Ideen, kann eine Handelsstrategie durch Dialoge einfach zusammengeklickt werden. Bei komplexeren muss per Hand der Programmcode erstellt werden. Beide Möglichkeiten werden durch NinjaTrader und Wealth-Lab unterstützt. Dieser kann dann sofort einem Backtest unterzogen werden, sofern Daten in dem gewählten Timeframe zur Verfügung stehen. Die zu betrachtenden Module zur Umsetzung können in Entries, Exits und das Money-Management aufgeteilt werden. Entries bzw. das Setup entspricht der Idee selbst. Die Exits können vielfältig ausfallen.
Da oft nur der Einstieg auf dem Chart ersichtlich ist und darauf aufbauend eine Handelsidee entwickelt wird, muss der Ausstieg durch Tests meist erst gefunden werden. Anfangs weiß man oft nicht, ob ein Profit-Target, ein zeitbasierter Ausstieg oder ein Ausstieg per Trailing-Stop mehr Sinn ergibt. Umso wichtiger ist es, diese Komponenten bei einem neuen Ansatz zu testen. Mit jeder Variante, die es zu Testen gilt, können durch den Backtest die KPIs mit den eigenen Anforderungen verglichen oder die Performance sofort mit der im Buch oder dem Fachartikel aus dem Trading-Magazin verglichen werden. Einen ähnlichen Ansatz verfolge ich im Strategiecheck bei YouTube.
Performance im Backtest und Validierung
Nehmen wir als Beispiel die Tradehistorie der 4 besten Handelssysteme aus dem Strategiecheck bei YouTube:
Kontogröße | 100.000 |
Zeitraum | 21.11.2006 – 31.10.2016 |
Anzahl Trades: | 814 |
Gewinntrades: | 489 (60.07 %) |
CAGR: | 18.57% |
Max. Drawdown: | 12.82 % |
Average Trade: | 653.91 €/$ |
Profit Faktor: | 1.90 |
Diese Werte gilt es nun zu validieren. Passen die erforderliche Kontogröße zu meiner Kapitalausstattung? Passt das Zeitfenster und die Tradeanzahl zu meiner persönlichen Vorstellung, also zu dem zeitlichen Aufwand, den ich bereit bin in das System zu investieren? Sind Fehler im Code oder generell im zusammengeklickten System vorhanden? Werden alle Trades korrekt ausgeführt? Den letzten Punkt kann man nur durch eine Einzeltradeprüfung beantworten. Jeder Trade sollte sich erst im Chart und dann im Zahlenbereich von NinjaTrader, Wealth-Lab oder einer anderen verwendeten Software angesehen werden. Erst dann kann dem Backtest einigermaßen vertraut werden. Weitere Fehler, die dabei auftauchen können, sind bspw. die korrekte Anwendung von Kommissionen sowie der Betrachtung von Index-Constituents, also der korrekten Index-Zusammensetzung, sofern hierfür alle Daten zur Verfügung stehen. Sepziell zu dem Thema Fehler im Backtest existiert ein Video-Training, welches auf die 8 teuersten Fehler detaillierter eingeht.
Fehler im Backtest und der Programmierung
Auf 1000 Zeilen Code kommen 3 Fehler. Das passiert nicht nur in kleinen sondern gerade in großen Softwareprodukten. Deshalb existieren so genannte Beta-Test-Phasen, bevor eine erste Live-Version auf den Markt kommt. Genauso verhält es sich im Trading, auch hier können Fehler auftreten, die dann viel Geld kosten können. Aus meiner Erfahrung sollte deshalb der Programmieraufwand und die verwendeten Techniken so simpel wie möglich gehalten werden. Der Fokus liegt auf dem Trading, der Code ist nur ein Mittel zum Zweck. Fehler können wir uns hierbei nicht leisten.
Out-Of-Sample Test der Handelsstrategie
Nach einer umfassenden Prüfung und Validierung der Trades und des Backtests sollte die Handelsstrategie auf noch nicht gesehenen Daten getestet werden. Wenn der Backtest von 2010 – 2015 erfolgt ist, so sollte nun ein Test vor 2010 und nach 2015 statt finden. Hiermit wird bestätigt, dass unser Handelssystem nicht überoptimiert ist. Dennoch ist Vorsicht geboten. Je öftere dieser Prozess durchgeführt wird, desto eher werden die unbekannten Daten ebenfalls zu bereits gesehenen Daten. Dadurch ist es schwierig eine Handelsidee im Backtest ohne so genanntes Curve-Fitting zu erstellen. Generell kann gesagt werden, je weniger Parameter ein Handelssystem hat, desto geringer unterliegt es einer möglichen Überoptimierung. Ausschließen kann man dies jedoch nicht immer.
Die aktuelle Out-Of-Sample-Performance der 4 besten Handelssysteme im Jahr 2017 und nach Veröffentlichung:
Kontogröße | 100.000 |
Zeitraum | 16.09.2016 – 22.03.2017 |
Anzahl Trades: | 41 |
Gewinntrades: | 27 (65.85 %) |
CAGR: | 22.05% |
Max. Drawdown: | 6.44 % |
Average Trade: | 779.04 €/$ |
Profit Faktor: | 2.24 |
Wir können hier von wenig optimierten Systemen ausgehen, da bereits einige Trades im ungesehen Datenbereich durchgeführt wurden.
Detaillierter Überblick des Systemkreislaufes
Risiko- und Positionsgröße
Aus einem schlechten Handelssystem wird aus meiner Erfahrung niemals ein gutes Handelssystem, egal welches Moneymanagement eingesetzt wird. Aus diesem Grund wird dieser Punkt des Entwicklungsprozesses bei mir auch erst kurz vor Ende der Entwicklung betrachtet. Sicherlich kann man mit einem gut überlegten Einsatz der Positionsgrößen die Performance etwas optimieren, oder sogar soweit gehen, die Equity-Kurve selbst zu handeln, allerdings ist dies immer mit Vorsicht und Bedacht einzusetzen. Nach Erhöhung des Profits steigt meist auch oft der Drawdown, so dass diese Werte, auf die im initialen Backtest noch so penibel geachtet wurde, nun leicht übersehen werden. Die Gier arbeitet hier gegen einen, da oft nur der höhere Gewinn betrachtet wird.
Vom Backtest bis zum LIVE Einsatz des Handelssystems
Zusammenfassend noch einmal die 5 wichtigen Stufen des Entwicklungsprozesses, bevor eine Handelsstrategie in den Live-Einsatz gehen sollte. Es bieten sich verschiedene Ausführungs-Module für eine Handelsstrategie an. Ich unterscheide 5 wichtige Stufen, bevor ich ein Handelssystem bspw. in die Voll-Automatisierung mit NinjaTrader oder Teilautomatisierung mit Wealth-Lab übernehme
Backtesting
Während des Backtestings sammeln Sie erste Erfahrungen mit Ihrer Strategie. Achten Sie auf die wichtigsten Performance-Kennzahlen und Ihre eigene Risikoaffinität.
Manuelle Prüfung
Ein manuelle Prüfung der Trades und des Backtests ist unumgänglich. Sie sollten jeden Einstieg und Ausstieg prüfen, ob dieser genauso umgesetzt wurde, wie von Ihnen angedacht und Ihrer Idee vorgegeben. Nur so können Sie Fehler an Feiertagen, bei Zeitumstellung oder kürzen Börsenhandelszeiten umgehen.
Replay-Test
NinjaTrader bietet mit dem Replay-Modus eine Möglichkeit die Live-Umgebung zu simulieren. Sie laden sich Daten von einem Instrument herunter und können, wie beim CD-Spieler, vor- und zurückspulen. Dabei werden die Trades ganz normal ausgeführt, nur in höherer Geschwindigkeit. So können Sie Fehlersituationen schneller erkennen. Ein Video zur Erklärung des Replay-Modus finden Sie hier in meinem YouTube-Kanal.
Demo-Modus
Nach dem Test mit Replay-Daten ist ein Live-Handel vorgesehen. Sie verwenden hierbei die Live-Daten ihres Datenanbieters, allerdings noch nicht das Live-Konto. Sie können mit NinjaTrader Demokonten anlegen und auf diesen so lange handeln, wie Sie Ihr Handelssystem testen möchten. Auch die Orderausführung sollte bei diesem Test beachtet werden, da sich diese zum Replay-Modus ein wenig anders verhält.
Live-Trading
Nach allen erfolgreich bestandenen Teststufen kann die Handelsstrategie endlich im Live-Trading verwendet werden. Dabei muss immer auf die bereits angesprochen Fehlerquellen geachtet werden. Evtl. muss das System auch wieder in den Demo-Modus versetzt oder komplett abgeschaltet werden.
Abschalten des Handelssystems
Werden im Live-Trading gewisse Grenzen erreicht, wie bspw. der maximale Drawdown aus dem Backtest oder die Anzahl an Verlierer in Folge, die den Wert des vorangegangenen Tests übertreffen, muss die Strategie zwingend abgeschaltet werden. Zumindest jedoch in den Demo-Modus überführt werden. Ob sich die Strategie aus dieser Situation wieder erholt, oder der Markt sich nachhaltig geändert hat, kann nicht im Vorfeld gesagt werden. Wichtig ist nur, wie fast immer bei neuen Ideen, halten Sie sich an die Regeln, die Sie anfangs definiert haben. Dazu gehören auch Regeln und Grenzen, wann die Handelsstrategie aus dem Markt genommen werden sollte.
Erfolgreiche Trading Tage
Holger Breuer