Teilen Sie diesen Artikel & Unterstützen Sie unsere Mission Alpha for Impact
4
01
2021

Präzise und aussagekräftige Backtests – darauf kommt es an.

Post by 
Die Simulation einer systematischen Handelsstrategie – sogenanntes Backtesting – bietet viele Vorteile. Im Zentrum steht dabei die Möglichkeit, Rendite- und Risikoeigenschaften und Robustheit einer regelbasierten Strategie bereits vor einer Allokation von Kapital zu untersuchen. Damit der Backtest präzise und somit auch Aussagekraft besitzt, bedarf es eines umfangreichen Validierungsverfahrens. Der nachfolgende Beitrag beschreibt, worauf es beim professionellen Backtesting ankommt, welche Gefahrenquellen oft übersehen werden und wie man diese eliminiert.

Was ist ein Backtest und welche Informationen liefert er?

Systematische Handelsstrategien zielen darauf ab, wiederkehrende Muster aufzuspüren und diese gewinnbringend auszunutzen. Für eine disziplinierte Umsetzung dieses Vorhabens bedarf es eindeutiger Regeln für den Einstieg, Ausstieg und die Steuerung der Positionsgröße. Die Qualität und Robustheit der zuvor in einen Code überführten Handelsstrategie lässt sich auf Basis historischer Daten überprüfen. Diese Simulierung von Kauf- und Verkaufstransaktionen wird als Backtest bezeichnet. Der Backtest liefert Antworten u.a. auf die nachfolgenden Fragen und ermöglicht damit eine objektive Beurteilung der Handelsstrategie:

Welche Performance wurde mit der Strategie in der Vergangenheit erreicht?
Welche Drawdowns traten in der Vergangenheit auf und wie lange dauerten diese an?
Wie oft tritt das zu handelnde Muster gewöhnlich auf und wie häufig kann es profitabel gehandelt werden?
Wie verhält sich die Strategie in unterschiedlichen Marktphasen?
Welchen Anteil haben Ausreißer an der Gesamtperformance?
Welche Korrelation weist die Kapitalkurve im Vergleich zur Benchmark oder anderen Handelsstrategien auf?

Ausführliche Informationen zum Ertrag und Risiko der Handelsstrategie lassen sich anhand unterschiedlicher Kennzahlen im Performancebericht ablesen. Hierzu gehören z.B. der Profit Faktor, der maximale Drawdown, Sharpe und Sortino Ratio sowie die Schiefe und Wölbung der Verteilung.  

Der Code muss auf den Prüfstand

Jede Handelsstrategie beruht auf einem Algorithmus, der in einer Programmiersprache verfasst und anschließend auf historische Daten angewandt wird. Hierbei muss die korrekte Syntax verwendet werden, um die Funktion innerhalb der verwendeten Software sicherzustellen. Um Fehler beim Backtest zu vermeiden, ist aber auch hier ein Blick auf die Details zwingend notwendig. So sollte z.B. geprüft werden, ob ein sog. Look-ahead Bias vorliegt. Eine weit verbreitete Fehlerquelle ist z.B. die Verwendung von Kursdaten oder Variablen für die Generierung von Handelssignalen, obwohl erstere zu diesem Zeitpunkt noch nicht zur Verfügung standen. Ein klassisches Beispiel ist z.B. die Verwendung des Schlusskurses (der logischerweise erst am Ende des Handelstages feststeht) zum Intraday-Einstieg. Insbesondere bei Handelsstrategien, die mehrere Time Frames oder nachträglich revidierte Datensätze nutzen, wird dieser Fehler häufiger übersehen.

Datenqualität ist das A und O

Neben dem Programmiercode ist die Qualität der zugrunde liegenden Daten eine der zentralen Voraussetzungen für die Erstellung eines präzisen Backtests.

Wird an dieser Stelle gespart, sind alle weiteren Schritte zwecklos, da verfälschte Handelssignale und dementsprechend unbrauchbare Performancedaten ausgewiesen werden. Dabei kommt es auf viele einzelne Details der Beschaffenheit der Daten an: Zuallererst müssen die Daten korrekt und vollständig sein und eine ausreichend lange Historie abdecken, die unterschiedliche Marktphasen enthält. Je nachdem welche Instrumente getestet und später gehandelt werden sollen, sind Adjustierungen zu beachten bzw. unterschiedliche Datensätze notwendig. Bei Aktien z.B. spielen Splits und Dividendenausschüttungen eine wichtige Rolle bei der Berechnung der Ein- und Ausstiegssignale und der sich daraus ergebenden Performance. Der Kurs einer Aktie, die in den letzten Jahrzehnten einen oder gar mehrere Splits durchlaufen hat, wird in der Regel nachträglich für die gesamte Historie adjustiert, sodass die tatsächlich gehandelten Kurse in der Vergangenheit verfälscht sind. Abhilfe schaffen hier deshalb Datensätze, die „as traded“-Kurse enthalten und damit eine saubere Datengrundlage für das Testen bieten.

Bei Terminkontrakten wiederum spielen Kurslücken nach einem Kontraktwechsel eine zentrale Rolle. Um korrekte Ergebnisse zu erhalten, müssen alle historischen Rollover Gaps entsprechend bereinigt werden. Hierzu haben sich mehrere Methoden etabliert (Link zur Studie). Die am häufigsten eingesetzte Rückwärtsadjustierung sorgt dafür, dass Kurssprünge, die zum Kontraktwechsel aufgrund einer Contango- oder Backwardation-Struktur bestehen, bereinigt werden.

Einen weiteren Stolperstein stellen Backtests dar, die mehrere Ein- und Ausstiege innerhalb eines Handelstages aufweisen, aber keine Intradaydaten verwenden. Da hochaufgelöste Daten (z.B. Tickdaten) i.d.R. nicht für lange Zeiträume zur Verfügung stehen, ist dies häufig der Fall. Da die Sequenz des Höchst- und Tiefstkurses „innerhalb“ der Tageskerze (intrabar) nicht bekannt ist, ist bei der gleichzeitigen Verwendung mehrerer Ein- und Ausstiege innerhalb der gleichen Bar Vorsicht geboten. Aufgrund der zu niedrig aufgelösten Datenreihe kann nicht mit Sicherheit bestimmt werden, ob z.B. zuerst der Stop ausgelöst oder aber das Kursziel erreicht wurde. Viele Softwaretools legen hier vereinfachte Annahmen bei der Berechnung zugrunde, die jedoch nichts mit dem tatsächlichen Marktgeschehen zu tun haben.

Pre-Inclusion und Survivorship Bias

Ein oftmals vernachlässigter Aspekt bei der Datenbeschaffung ist die korrekte historische Zusammensetzung von Aktienindizes.

Soll eine Handelsstrategie z.B. Werte des S&P 500 handeln, so muss für einen fairen Benchmark-Vergleich zwingend sichergestellt werden, dass alle Zu- und Abgänge beim Index auch beim Backtest exakt in der gleichen Form abgebildet werden. Ein Kardinalfehler ist der Test mit den aktuellen Mitgliedern des Index und damit die Annahme, dass diese Aktien während der Testperiode immer Teil der Benchmark waren. Betrachten wir folgendes Beispiel:

Die Google-Aktie wurde im Jahr 2006 in den Index aufgenommen. Der Kurs lag damals bei fast 400 USD.
Reicht der Backtest z.B. bis in das Jahr 2004 zurück, so wäre die Google-Aktie im Backtest bereits vor der eigentlichen Indexaufnahme Teil der Simulation und zwar zu Kursen von etwa 100 USD.
Dieser Pre-Inclusion Bias sorgt für eine deutliche Überzeichnung der Performance, sodass der Backtest seine Aussagekraft verliert.

Der Survivorship Bias beschreibt ein weiteres Phänomen, das mit der Zusammensetzung von Aktienindizes zu tun hat: Aktien, die zum aktuellen Zeitpunkt nicht mehr im zugrunde liegenden Index vertreten sind, fallen im Backtest unter den Rost, wenn die historische Zusammensetzung nicht im Backtest berücksichtigt wird. Jene Aktien haben in der Regel eine schwache Entwicklung (oder gar eine Insolvenz) hinter sich, bevor sie aus dem Index entfernt werden. Genau dieser Umstand sorgt daher ebenfalls für eine Überzeichnung der Backtest-Performance, weil schwache Werte zu keinem Zeitpunkt im Backtest berücksichtigt werden. Besonders anschaulich ist dieser Effekt beim US-Technologieindex Nasdaq zu beobachten, wo die Mehrzahl der Indexmitglieder aus dem Jahr 2000 heute nicht mehr Teil des Index ist. Beide Effekte sorgen bei der Verwendung ungeeigneter Daten für eine Überzeichnung der Backtest-Performance. Um diese Fehlerquelle zu eliminieren, bedarf es einer Datenhistorie, die alle historischen Indexveränderungen berücksichtigt und auch alle Datenreihen der Delisted Stocks enthält.

Berücksichtigung realistischer Kosten

Jede Transaktion kostet im realen Handel Geld und muss zwangsläufig in realistischer Höhe beim Backtest berücksichtigt werden. Neben den reinen Transaktionskosten, die sich aus Kommissionen und dem Bid-Ask-Spread zusammensetzen, gibt es allerdings noch weitere Kostenkomponenten, die je nach Handelsinstrument und Region große Unterschiede aufweisen können. Gerade bei Handelsstrategien, die einen hohen Turnover haben, können die Kosten einen signifikanten Teil der Performance auffressen. Die zum Einsatz kommenden Orderarten der jeweiligen Handelsstrategie spielen ebenfalls eine wichtige Rolle. Ein Beispiel: Breakouts, die mit Stop-Ordern getestet und gehandelt werden, dürften eine höhere Slippage aufweisen als Mean-Reversion-Ansätze, die Limit-Orders verwenden.

Abhilfe schafft hier die Berücksichtigung der vorherrschenden Liquidität und die Begrenzung der maximalen Positionsgrößen in Abhängigkeit des vorliegenden Markttiefe.

Der Einsatz von Backtest liefert bei korrekter Anwendung eine Vielzahl von Vorteilen für Asset Manager und Investoren. So liefert die Simulation der Handelsstrategie wertvolle Informationen zur Profitabilität und zum Risiko des Modells – und zwar bevor auch nur ein Euro riskiert wird.

Curve Fitting – die größte Gefahr beim Backtesten

Die Hauptgefahr beim Backtesting ist die (oftmals unbewusste) Überanpassung des Algorithmus an die Datenreihe, sogenanntes Curve Fitting.

Je mehr Parameter eine Handelsstrategie enthält, umso enger lässt sie sich logischerweise an die Vergangenheit anpassen. So könnte man im Extremfall alle möglichen Kombinationen der Parameter einer Strategie auswerten und daraus die profitabelste Einstellung für den realen Handel auswählen. Der Blick in die Vergangenheit fällt dann in der Simulation zwar vielversprechend aus, etwas Entscheidendes fehlt dem Algorithmus allerdings: die Fähigkeit, auch in Zukunft – mit echtem Geld – attraktive Ergebnisse zu generieren. Anders ausgedrückt: Der Strategie fehlt es an Robustheit.

Das folgende Beispiel zeigt links die In-Sample-Periode einer optimierten Handelsstrategie, die eine Sharpe Ratio von 1,59 aufweist. Eine Anwendung im Out-of-Sample-Bereich (rechte Grafik) zeigt eindrucksvoll, welche Folgen eine Überoptimierung hat: Die Sharpe Ratio fällt von 1,59 auf -0,18.

Überoptimierung_In Sample vs Out of Sample
Bild 1) Überoptimierung
Links zu sehen ist die In-Sample-Periode einer optimierten Handelsstrategie, die eine attraktive Sharpe Ratio von 1,59 aufweist. Eine Anwendung im Out-of-Sample-Bereich (rechts) zeigt eindrucksvoll, welche Folgen eine Überoptimierung hat: Die Sharpe Ratio fällt von 1,59 auf -0,18.
Quelle: Bailey, Borwein, Selehipour, de Prado, Zhu "Backtest overfitting in financial markets"

Sensitivitätstests liefern Hinweise zur Robustheit der Handelsstrategie

Eine wichtige Methode, um die Robustheit eines Handelsansatzes zu prüfen, ist die Betrachtung der Performancekennzahlen einer Handelsstrategie bei einer Variation der zugrundeliegenden Parameter. Die Idee dahinter: Liefert eine Handelsstrategie nur bei wenigen Einstellungen positive Ergebnisse, wird sie in Zukunft nur dann Gewinne generieren, wenn die Marktbedingungen gleichbleiben. Die Historie zeigt, dass dies jedoch nicht der Fall ist – jeder Markt weist gewisse Änderungen im Zeitablauf auf. Mithilfe einer professionellen Software werden deshalb unterschiedliche Parameterkombinationen der Handelsstrategie berechnet. Je mehr Kombinationen der Parameter positive Ergebnisse liefern, desto stabiler ist die Handelsstrategie und umso geringer die Gefahr des Curve Fittings.

Ein weiterer Faktor, der die Robustheit einer Handelsstrategie untersucht, ist der Multi-Market-Test. Hierbei wird eine Handelsstrategie, die zum Beispiel den DAX-Future handeln soll, auch auf anderen Aktienindex-Futures getestet. Je höher die Anzahl der Märkte, die solide Ergebnisse anzeigen, desto höher ist die Robustheit der Strategie einzustufen und umgekehrt.

Die Beständigkeit der Performance spielt eine zentrale Rolle

Die Performance und Stabilität der zugrundeliegenden Handelsstrategie wird deshalb auf Basis unterschiedlicher Marktphasen untersucht. Der Daten sollten daher unbedingt Auf-, Ab- und Seitwärtstrendphasen enthalten, gleichzeitig aber auch Phasen hoher und niedriger Volatilität. Die Beurteilung der Ergebnisse in allen Market Regimes gibt Aufschluss darüber, wie die Strategie auf unterschiedliche Marktverhältnisse reagiert und wie beständig die Ergebnisse ausfallen. Je gleichmäßiger diese ausfallen und je geringer der Einfluss von Ausreißern, desto robuster ist die Strategie.

Der Out Of Sample Test – Wie schlägt sich die Strategie auf „unbekanntem Terrain“?

Ein weit verbreiteter Test für die Qualität und Überlebensfähigkeit einer Handelsstrategie ist der Out-of-Sample-Test. Hierbei erfolgt eine Aufteilung der verfügbaren Datenhistorie in einen Datensatz für das Training und die Optimierung der Strategie (In Sample, kurz IS) und einen weiteren, der im Nachgang für die Validierung der zuvor gewonnenen Backtest-Ergebnisse genutzt wird (Out of Sample, kurz OOS).

Das Modell wird auf dem Datenbereich A trainiert und angepasst, um im Anschluss auf dem Datenbereich B – also auf unbekanntem Datenterrain – verifiziert zu werden.

Nur so lässt sich überprüfen, ob die getestete Strategie robust und damit für den realen Handel zu gebrauchen ist oder aber nur das Resultat einer Überanpassung an den Noise der historischen Datenreihe darstellt.

Wird dieser Prozess mehrfach wiederholt, spricht man von der sogenannten Walk Forward Analyse. Hierbei werden die jeweils optimierten Parameter aus der In-Sample-Phase für die Signalgenerierung während der nachfolgenden Out-of-Sample-Phase eingesetzt, wodurch eine periodische (Re-)Synchronisation zwischen Modell und Datensatz sichergestellt wird. Mithilfe des Der Walk-Forward-Methode lässt sich das Verhalten der Handelsstrategie sowohl während der Entwicklungs-/Trainingsphase (IS) als auch während der Verifizierungs-Phase (OOS) beobachten. Der Walk-Forward-Test gibt damit Auskunft darüber, wie gut die Handelsstrategie mit den Marktveränderungen im „echten Leben“ (also ohne vorherige Kenntnis der Datenreihe) zurechtkommt und wie gut die Anpassung gelingt. Der Vergleich der Performance der jeweiligen IS- und OOS-Phasen ermöglicht eine Aussage darüber, ob der Echtgeldhandel in Erwägung gezogen werden sollte oder nicht.

Monte Carlo - der Königsweg bei der Validierung

Wissenschaftliche Untersuchungen belegen, dass ein Ansatz die bestmögliche Schätzung der zukünftigen Performance modelliert. Die Monte Carlo-Methode simuliert eine Vielzahl von Datensätzen, deren statistische Eigenschaften denen der echten Marktdaten entsprechen und die mit zufälligem Rauschen überlagert sind. Anders als etwa beim sogenannten Bootstrap-Resampling, bei dem die Simulation auf tatsächlich beobachtete Marktdaten zurückgreift, handelt es sich bei der Monte-Carlo-Methode um künstliche Daten. Weitere Informationen zum Thema Monte Carlo erfahren Sie in unserem Beitrag „Eine Fabrik für taktische Algorithmen“.

Zusammenfassung

Der Einsatz von Backtests liefert wertvolle Informationen zur Profitabilität und zum Risiko des Modells – und zwar bevor auch nur ein Euro riskiert wird. Mithilfe umfangreicher Testverfahren lässt sich die Robustheit der Strategie zunächst auf den Prüfstand stellen. Anschließend lässt sich die Handelsstrategie am Markt umsetzen, wodurch negative Einflüsse von Emotionen und Verhaltensmustern auf ein Mindestmaß reduziert werden.

Quellen

Bailey, Borwein, Selehipour, de Prado, Zhu "Backtest overfitting in financial markets"

Sie möchten diesen Beitrag – komplett oder in Auszügen – für Ihre Zwecke verwenden? Dann berücksichtigen Sie bitte die folgende Creative Commons-Lizenz.