TRADESIGNAL HOW TO 03.

STRESSTESTING – WIE ROBUST IST IHRE HANDELS-STRATEGIE?

RICHTIG OPTIMIEREN STATT CURVE FITTING.

Mit der richtigen Software ist das Testen und Optimieren einer Handelsstrategie heutzutage alles andere als kompliziert. Genau diese Einfachheit ist es allerdings, die viele Anwender – bewusst oder unbewusst – in die Curve Fitting-Falle tappen lässt. Im vorliegenden Beitrag möchten wir aufzeigen, wie es zur Überanpassung kommt und wie man mithilfe eines Stresstests feststellen kann, ob eine Strategie robust ist.

VIDEO JETZT ANSEHEN. (6 Minuten in Know-How investieren.)

Mit dem Download erkennen Sie die unten aufrufbaren Nutzungsbedingungen an.

INHALT.

  • Backtest und Optimierung als Heiliger Gral?
  • Optimierung vs. Curve Fitting
  • Mit dem Stresstest zur robusten Strategie
  • Der Stresstest Indikator
  • Anwendung in der Praxis
  • Robustheit – der Schlüssel zum Erfolg

BACKTEST UND OPTIMIERUNG ALS HEILIGER GRAL?

Algorithmische Handelsstrategien basieren zu 100 Prozent auf objektiven und klaren Regeln:

Der Einstieg in eine Position, die Stoppsetzung und der Ausstieg unterliegen ebenso eindeutigen Vorgaben wie die Positionsgrößensteuerung. Neben dem Vorteil, dass emotionale Fallen umgangen werden, bietet der Einsatz quantitativer Handelsstrategien einen weiteren, entscheidenden Pluspunkt: Jede Strategie, die sich in einen Quellcode und damit in Maschinensprache überführen lässt, kann einem Backtest – also einer Simulation auf Basis historischer Daten – unterzogen werden. Und zwar bevor sie zum Einsatz kommt.

Mithilfe der daraus gewonnenen Risiko- und Ertragskennzahlen lässt sich die Charakteristik und Qualität der Strategie detailliert analysieren und mit Alternativen vergleichen. Zusammen mit der Optimierungsfunktion stehen dem Anwender mächtige Werkzeuge für die Entwicklung von Handelsstrategien zur Verfügung.

OPTIMIERUNG VS. CURVE FITTING.

Falsch eingesetzt können die eben genannten Werkzeuge allerdings fatale Folgen haben. Die Rede ist vom sogenannten Curve Fitting. Die nachfolgende Anekdote, die das Gespräch zwischen den Wissenschaftlern Freeman Dyson und Enrico Fermi wiedergibt, beschreibt dieses Phänomen auf vortreffliche Weise:

Wir schreiben das Jahr 1953. Freeman Dyson sucht Fermi in Chicago auf, um ihn voller Euphorie die eigenen Ergebnisse zur Mesonen-Protonen-Verteilung vorzulegen. Fermi allerdings zeigt sich sichtlich unbeeindruckt vom Resultat und fragt Dyson, wie viele frei wählbare Parameter er denn für die Berechnungen verwendet habe. Dieser antwortet daraufhin, er habe vier Parameter verwendet. Fermis Antwort kommt prompt: „Ich erinnere mich, wie mein Freund John von Neumann zu sagen pflegte: Mit vier Parametern kann ich einen Elefanten anpassen, und mit fünf kann ich ihn dazu bringen, mit seinem Rüssel zu wackeln.“

Dieses Zitat beschreibt auf treffende Weise, worum es beim Curve Fitting geht – um die Überanpassung einer Handelsstrategie an die zugrunde liegende Datenreihe. Während des Optimierungsprozesses werden einzelne Parameter (z.B. Länge des Gleitenden Durchschnitts, Stop- oder Kurszielgröße) in einem iterativen Prozess so lange modifiziert, bis schließlich aus einer großen Anzahl unterschiedlichster Kombinationen diejenige herausgepickt wird, die „optimale“ Ergebnisse verspricht – allerdings auch nur auf Basis der spezifischen Datenhistorie, die für die Kalkulation verwendet wurde.

Bevor also ein Backtest und eine Optimierung überhaupt durchgeführt werden, sollte der Trader eine solide Idee für die Handelsstrategie haben und sinnvolle Parameterbereiche definieren, die überhaupt geprüft werden. Kurzum: Die Software sollte eine Handelsidee validieren und nicht erst entdecken.

Je mehr Parameter eine Handelsstrategie hat und je höher die Anzahl der untersuchten Kombinationen ist, desto höher ist der Curve Fitting-Effekt.

Die Folge: Die Handelsstrategie liefert wunderbare Ergebnisse im Backtest, versagt allerdings kläglich im realen Handel. Wissenschaftliche Studien belegen, dass die zukünftige Performance dabei umso schlechter ausfällt, je stärker die Strategie an den historischen Datensatz angepasst wurde.*

*Eine weiterführende Studie mit dem Titel „The probability of backtest overfitting“ finden Sie hier.

Aus diesem Grund ist eine Aufteilung der – möglichst langen und repräsentativen – Datenhistorie in mindestens zwei Subperioden notwendig. Dies ermöglicht zunächst die Entwicklung und Optimierung einer Handelsstrategie auf Basis des Zeitraums A (In-Sample-Backtest), um sie anschließend auf unbekanntem Daten-Terrain des Zeitraums B (Out-of-Sample-Backtest) einem Realitätstest zu unterziehen.

Die Ergebnisse der Subperioden sollten keine signifikanten Abweichungen aufweisen. Ist dies nämlich der Fall, handelt es sich mit hoher Wahrscheinlichkeit um eine überangepasste Strategie.

Eine Sonderform dieses Testverfahrens, bei dem die optimierten Parameter einer Subperiode für die nachfolgende Out-of-Sample-Periode verwendet werden, stellt der Walk Forward Test dar. Wie dieser in der Praxis eingesetzt wird und welche Features Tradesignal hier bietet, werden wir detailliert in einer der kommenden Ausgaben vorstellen.

MIT DEM STRESSTEST ZUR ROBUSTEN STRATEGIE.

Damit eine Handelsstrategie nicht nur im Backtest, sondern auch im realen Handel funktioniert, muss sie robust sein. Mit Tradesignal können Sie mit der Backtest- und Optimierungsfunktion im Handumdrehen überprüfen, wie stabil sich Ihre Handelsstrategie auf unterschiedlichen Märkten und unterschiedlichen Zeitebenen verhält – und das auch auf Basis eines ganzen Portfolios. Der Test der Strategie auf anderen Zeitebenen kann dabei helfen, Änderungen des Performanceverhaltens aufzudecken, das auf unterschiedliche Marktphasen zurückzuführen ist. Die Verwendung anderer Wertpapiere beim Backtest zeigt indes, ob der Algorithmus tatsächlich generelle Muster identifiziert die auch in anderen Basiswerten zu beobachten sind oder aber nur auf spezifische Muster der zugrundeliegenden Datenreihe getrimmt worden ist.

Eine einfache Möglichkeit, um dies zu testen, ist die Betrachtung der Veränderung der Risiko- und Ertragskennzahlen bei Modifizierung der Parameterwerte. Je stärker die Ergebnisse variieren, desto weniger robust ist die Strategie. Ein extremes Negativbeispiel ist auf Abbildung 1 zu sehen. Das Diagramm zeigt den Profit Faktor einer Handelsstrategie in Abhängigkeit eines Entry- und Exit-Parameters; rote Bereiche stehen für unprofitable, grüne für profitable Werte. Wie man erkennen kann, ist von allen Parameter-Kombinationen nur eine einzige profitabel, während sämtliche Konstellationen negative Ergebnisse produzieren. Wird genau diese eine „optimale“
Parameter-Kombination als Grundlage für die Handelsstrategie herangezogen, ist eines vorprogrammiert – ihr Scheitern.

ABB. 1: OPTIMIERUNGS-HEATMAP.

Sind bei einer Handelsstrategie profitable Parameterkombinationen nur in einem kleinen Bereich vorhanden, handelt es sich um Curve Fitting in Reinform.

DER STRESSTEST INDIKATOR.

Bei der Durchführung eines Backtests gilt es daher stets darauf zu achten, dass möglichst viele Parameterbereiche um das Optimum herum zufriedenstellende Ergebnisse generieren.

Wie bereits erwähnt, sollte in einem Stresstest untersucht werden, wie sich die gewählte Strategie auf anderen Märkten und  unterschiedlichen Zeitebenen verhält. Mit dem Stresstest Indikator möchten wir Ihnen in der vorliegenden Ausgabe eine
einfache und bequeme Möglichkeit aufzeigen, solch einen Stresstest durchzuführen.

Meta:

 ​​ ​​ ​​ ​​ ​​ ​​​​ Synopsis("Example indicator that is designed to be the parent of a trading

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ strategy for which the strategy author would like to 'stress test' by

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ varying the indicators input parameters during optimization."),

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ Author("Tradesignal GmbH");

 

Inputs:

 ​​ ​​ ​​ ​​ ​​ ​​​​ Security(SIE,​​ ALVG,​​ DAI,​​ EUR,​​ DAX),​​ // Change the security being tested

 ​​ ​​ ​​ ​​ ​​ ​​​​ Period(Minutes1,​​ Minutes5,​​ Minutes60,​​ Daily,​​ Weekly,​​ Monthly)​​ =​​ Daily;​​ // Change the period being tested

 ​​ ​​ ​​ ​​ ​​ ​​​​ 

Instruments:

 ​​ ​​ ​​ ​​ ​​ ​​​​ inst( ​​ IFF(Security​​ =​​ SIE,​​ "SIEGn.DE",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Security​​ =​​ ALVG,​​ "ALVG.DE",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Security​​ =​​ DAI,​​ "DAIGn.DE",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Security​​ =​​ EUR,​​ "EUR=",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Security​​ =​​ DAX,​​ ".GDAXI",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "")))​​ +​​ " "​​ +

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Minutes1,​​ "1m",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Minutes5,​​ "5m",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Minutes60,​​ "60m",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Daily,​​ "daily",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Weekly,​​ "weekly",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ IFF(Period​​ =​​ Monthly,​​ "monthly",

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ "")))))))) ); ​​ 

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ 

DrawBar(Open​​ of​​ inst,​​ High​​ of​​ inst,​​ Low​​ of​​ inst,​​ Close​​ of​​ inst);

ABB. 2: EQUILLA CODE FÜR STRESSTEST INDIKATOR.

Mit dem Stresstest Indikator lassen sich Handelsstrategien auf Robustheit prüfen. Hierzu werden mehrere Wertpapiere sowie Zeitebenen als Inputs definiert.

Wie man erkennen kann, sind die im Indikator enthaltenen Wertpapiere als so genannte Inline-Instrumente hinterlegt und als Inputs definiert. Da im Optimierer auch Inputs von Indikatoren optimiert werden können, bietet sich so die clevere Möglichkeit, eine beliebige Anzahl von Wertpapieren gegen eine Handelsstrategie zu testen und deren Stabilität zu prüfen.

Damit Sie den Stresstest Indikator auch auf Ihrer Tradesignal-Plattform ausprobieren können, stellen wir Ihnen den dazu gehörigen Equilla Code zur Verfügung.

Sie können ihn per Copy & Paste als Indikator im Equilla Editor speichern und im Anschluss daran gleich einsetzen. Im Beispielcode sind die RICs von Thomson Reuters verwendet worden.

ANWENDUNG IN DER PRAXIS.

Eine Anwendung des Stresstestindikators bedarf folgender Schritte:

  • 01. Kopieren Sie den Equilla Code und fügen Sie diesen im Equilla Editor ein
  • 02. Ändern bzw. erweitern Sie die im Code enthaltenen Wertpapiere bei Bedarf
  • 03. Speichern Sie den Indikator auf Ihrer Tradesginal-Plattform
  • 04. Fügen Sie den Indikator in einen leeren Chart ein
  • 05. Wählen Sie eine Handelsstrategie Ihrer Wahl aus und fügen Sie diese ebenfalls in den Chart ein (z.B. Moving Average Single Crossover)
  • 06. Wählen Sie in der Symbolleiste die Schaltfläche „Optimieren“
    • a. Auswahl „Brute Force“
    • b. Parameter zur Optimierung:
      • i. Periode der Handelsstrategie (5 bis 200, Schritt 5)
      • ii. Periode des Stresstest Indikators (z.B. monthly, weekly, daily, 60min, 5min)
    • c. Datenbereich für den Backtest auswählen

ABB. 3: EINGABEFELD IM OPTIMIERUNGS-ASSISTENTEN.

Der Stresstest Indikator bietet die Möglichkeit, die Zeitebenen als Parameter innerhalb einer Optimierung zu verwenden.

Nach Durchführung dieser Schritte erhält der Anwender eine Übersicht, die auf der X-Achse die Periode des gewählten Parameters der Handelsstrategie anzeigt, während auf der Y-Achse die selektierten Zeitebenen dargestellt werden.

Eine tabellarische Auflistung (nicht dargestellt) wird im Arbeitsbereich ebenfalls mitgeliefert. Möchte man die Robustheit der Strategie – z. B. gemessen am Profit Faktor – in Abhängigkeit dieser beiden Faktoren analysieren, so genügt die Auswahl „Profit Faktor“ im oberen Eingabefenster des Optimierers und man erhält folgende Analysegrafik.

ABB. 4: ROBUSTHEITSCHECK (PARAMETER VS. ZEITEBENE).

Die farbliche Darstellung der Optimierungsergebnisse zeigt profitable und unprofitable Kombinationen zweier Parameter. In diesem Beispiel handelt es sich um den Periodenwert einer simplen Crossover-Strategie und insgesamt fünf unterschiedliche Zeitebenen.

Mithilfe der farblichen Abstufung gelingt die Erkennung profitabler Bereiche im Handumdrehen. Grüne und gelbe Bereiche stehen für einen Profit Faktor größer 1, während die orange und rot gefärbten Zellen unprofitable Bereiche repräsentieren. Erwartungsgemäß
liefert die hier exemplarisch gewählte Crossover-Strategie gute Ergebnisse auf monatlicher und wöchentlicher Zeitebene (Zeile 1 und 2). Auf Tagesebene sind positive Ergebnisse erst im Bereich der Periode 200 zu erkennen.

Auf 60- und 5-Minuten-Ebene (unteren zwei Zeilen) dagegen fallen die Ergebnisse durch die Bank negativ aus.

Der Stresstest Indikator kann darüber hinaus eingesetzt werden, um die Robustheit einer Handelsstrategie in Abhängigkeit der einzelnen Wertpapiere und der Periodeneinstellung zu analysieren. Hierzu müssen bei der Wahl der zu optimierenden Parameter (siehe Schritt 6b) neben der Periode der Strategie die gewünschten Wertpapiere (Parameter: Security Stresstest Indikator) ausgewählt werden. Wenige Augenblicke später ist der Optimierungsprozess beendet und die eben gezeigte visuelle Darstellung aller Kombinationen erscheint. Wie man sofort erkennen kann, generiert die Handelsstrategie auf Tagesbasis bei allen vier Wertpapieren positive Ergebnisse. Besonders hohe Profit Faktor-Werte sind im Bereich 200 bis 250 Tage zu finden.

ABB. 5: ROBUSTHEITSCHECK (PARAMETER VS. WERTPAPIER).

Die farbliche Darstellung der Optimierungsergebnisse zeigt profitable und unprofitable Kombinationen zweier Parameter. In diesem Beispiel handelt es sich dabei um den Periodenwert einer simplen Crossover-Strategie und vier Wertpapiere.

ROBUSTHEIT – DER SCHLÜSSEL ZUM ERFOLG.

Tradesignal bietet alle professionellen Tools, die Trader und Portfoliomanager für den Backtest und die Optimierung benötigen. Der hier vorgestellte Stresstest Indikator bietet eine von mehreren Möglichkeiten, die Stabilität und Robustheit einer algorithmischen Handelsstrategie zu prüfen, um Curve Fitting-Effekte auf ein Minimum zu reduzieren. Die Berücksichtigung realistischer Kosten (Kommissionen, Slippage) und der Einsatz einer regelbasierten, dynamischen Positionsgrößensteuerung sind neben dem Robustheitscheck essentielle Voraussetzungen für den Einsatz einer Handelsstrategie in der Praxis.

Zum Abschluss möchten wir ein berühmtes Zitat von Albert Einstein nutzen, das sich sehr gut auf das Algorithmic Trading übertragen lässt. Es liefert nämlich die wohl einfachste und gleichzeitig wirkungsvollste Handlungsempfehlung, die es bei der Entwicklung quantitativer Handelsstrategien zu beachten gilt:

“Everything should be made as simple as possible, but no simpler.” Albert Einstein

Für Fragen rund um Tradesignal stehen wir Ihnen jederzeit gerne zur Verfügung. Wenn Sie noch kein Tradesignal-Kunde sind, stellen wir Ihnen auch gerne eine Testversion zur Verfügung.

Das war’s für heute. Take care, take profit und auf Wiedersehen.