Mit dynamischen Datensätzen Survivorship Bias vermeiden

Survivorship Bias wird definiert als ist eine Verzerrung der Überlebensrate in  einer Stichprobenauswahl, welche auftritt, wenn eine Person eine sichtbare erfolgreiche Untergruppe mit der gesamten Gruppe verwechselt. Mit anderen Worten: Ein Survivorship Bias tritt auf, wenn eine Person nur die überlebenden Beobachtungen berücksichtigt, ohne die Datenpunkte zu berücksichtigen, die das Ereignis nicht überlebt haben. Was hat das jetzt mit Trading zu tun?

Trading ist ein statistische Problem

Analogie aus dem 2. Weltkrieg

Beginnen wir mit einer Analogie aus dem Zweiten Weltkrieg, denn so kann jeder den "blinden Fleck" schnell erkennen. Im Zweiten Weltkrieg beschlossen die militärischen Befehlshaber, die Flugzeuge mit Panzerung zu versehen, damit sie im Kampf überleben konnten. Da Panzerungen schwer sind, mussten sie ermitteln, wo sie am effektivsten angebracht werden konnten, um das zusätzliche Gewicht zu minimieren. Bei der Untersuchung beschädigter Flugzeuge, die aus dem Kampf zurückkehrten, ging man davon aus, dass die Panzerung an den Stellen angebracht werden sollte, die am stärksten beschädigt waren. Das schien sinnvoll zu sein, bis ein brillanter Analytiker feststellte, dass diese Entscheidung nur auf den Flugzeugen beruhte, die überlebten, und nicht auf denen, die es nicht nach Hause schafften. Kurz gesagt, alle Bereiche der überlebenden Flugzeuge, die statistisch gesehen am wenigsten beschädigt waren, mussten gepanzert werden!

Survivorship Bias beim Backtesting

Bei unsere Strategie Entwicklung in Wealth Lab 8 steht etwas weniger auf dem Spiel - wir werden es heute alle nach Hause schaffen, und es geht uns nur darum, beim Backtesting eine Verzerrung durch Überleben zu vermeiden. (Okay, Sie haben wahrscheinlich größere Sorgen, aber spielen Sie einfach mit.)

Wie die Flugzeuge, die es zurück zur Basis schaffen, sind die Unternehmen, die an der Nasdaq oder NYSE notiert sind, und insbesondere diejenigen, die in einem wichtigen Index enthalten sind, die Überlebenden. 

Joe Peters

die nicht mehr börsennotiert sind oder einfach aus dem Index gestrichen wurden, sind diejenigen, die es "nicht geschafft haben". Die Chancen stehen gut, dass diese Unternehmen in Ihrem blinden Fleck beim Backtesting lauern.

Cone

Börsenprofi und Author

In Konkurs gegangene Unternehmen und andere, die nicht mehr börsennotiert sind oder einfach aus dem Index gestrichen wurden, sind diejenigen, die es "nicht geschafft haben". Die Chancen stehen gut, dass diese Unternehmen in Ihrem blinden Fleck beim Backtesting lauern.

Es ist gut, darauf hinzuweisen, dass nicht alle Unternehmen, die auf die eben erwähnte Weise "sterben", ein fatales Ende haben. Viele von ihnen sind in den letzten Wochen oder Monaten ihrer Börsennotierung durch Fusionen und Übernahmen zu neuen Höhen aufgestiegen.

Es genügt zu sagen, dass alle Unternehmen, die derzeit im NASDAQ 100, S&P 500 oder [fügen Sie hier Ihren Lieblingsindex ein] enthalten sind, nicht dieselben Unternehmen sind, die den Index im letzten Jahr oder vor 20 Jahren gebildet haben. Wenn Sie Backtests mit den aktuellen Indexkomponenten durchführen, die Sie in Ihren Finanznachrichten finden, testen Sie nur die Überlebenden, und Ihre Backtesting-Ergebnisse werden in Richtung dieser Unternehmen "verzerrt" sein.

Wealth-Data und Wealth-Data DataSets

Jetzt ist ein guter Zeitpunkt, um eine spezielle Gruppe von DataSets zu erwähnen, die für WealthLab erstellt wurden - die Wealth-Data DataSets. Wealth-Data sind Tagesenddaten (Tagesbalken), die in der Regel die Symbole der Indizes Nasdaq 100, S&P 500 und DAX abdecken. Besuchen Sie Wealth-Data.com, um herauszufinden, wie sich Wealth-Data von anderen Tagesenddaten unterscheidet.

Wealth-Data enthält alle notierten und nicht mehr notierten Symbole für den jeweiligen Index bis etwa 1995 zurück. Dadurch ist Wealth-Lab in der Lage, Ihre Strategien mit den Symbolen (und deren Daten) zu füttern, die zu dem Zeitpunkt im Index waren, als sie historisch gesehen im Index erschienen. Wenn Sie einen Wealth-Data-Datensatz für das Backtesting verwenden, erhalten Sie einen Backtest ohne Überlebenschancen, ohne dass Sie Änderungen an Ihrem Code vornehmen müssen. Und das Beste ist, dass Wealth-Data in Ihrem WealthLab-Abonnement enthalten ist!

Wichtig! Wenn Sie einen Portfolio-Backtest mit einem Wealth-Data-DataSet durchführen, beendet die Backtest-Engine von Wealth-Lab automatisch die Backtest-Positionen an dem Tag, an dem die Unternehmen aus dem Index entfernt werden.

Beispiel für Survivorship Bias in einem Backtest

Es gibt keinen besseren Weg, um die Auswirkungen des Survivorship Bias zu verstehen, als ein reales Beispiel zu analysieren. Zunächst führen wir einen Backtest der Strategie mit den aktuellen Komponenten des Nasdaq 100 durch und wiederholen den Test mit dem dynamischen Datensatz von Wealth-Data.

Strategie-Regeln

Unsere einfache 1-Indikator-Teststrategie kauft an jedem Tag, an dem der 14-Perioden-RSI unter 30 liegt, eine 1%ige Aktienposition. Die Strategie kann mehrere Positionen für jedes Symbol hinzufügen, wenn sein RSI unter 30 liegt. Alle Positionen für ein Symbol werden verkauft, wenn sein RSI-14 über 70 steigt.

Die Strategie- und Backtest-Einstellungen sind in der Abbildung unten dargestellt.

Data Range: 1/1/2000 to 11/4/2022
Benchmark symbol: QQQ
Starting Capital: $100,000
Position Sizing: 1% of equity
Margin: 1:1

Hinweis: In den WealthLab-Einstellungen (F12) > Daten, alle Optionen abgewählt (keine Provisionen, keine Dividenden usw.) wurden für unsere Backtests ausgewählt.

Heute enthält der Datensatz "Nasdaq 100, C" die folgenden Symbole:

AAPL ABNB ADBE ADI ADP ADSK AEP ALGN AMAT AMD AMGN AMZN ANSS ASML ATVI AVGO AZN BIDU BIIB BKNG 
CDNS CEG CHTR CMCSA COST CPRT CRWD CSCO CSX CTAS CTSH DDOG DLTR DOCU DXCM EA EBAY EXC FAST FISV 
FTNT GILD GOOGL HON IDXX ILMN INTC INTU ISRG JD KDP KHC KLAC LCID LRCX LULU MAR MCHP MDLZ MELI 
META MNST MRNA MRVL MSFT MTCH MU NFLX NTES NVDA NXPI ODFL OKTA ORLY PANW PAYX PCAR PDD PEP PYPL 
QCOM REGN ROST SBUX SGEN SIRI SNPS SPLK SWKS TEAM TMUS TSLA TXN VRSK VRSN VRTX WBA WDAY XEL ZM ZS

Hinweis!
Offiziell ist GOOG auch im Nasdaq 100 enthalten. Da jedoch die Aktien eines Unternehmens in der Regel stark korreliert sind, ist es wahrscheinlich, dass ein Handelssystem gleichzeitig Trades für jede Handelsklasse auslöst und damit den Einsatz für dasselbe Unternehmen verdoppelt. Aus diesem Grund berücksichtigt Wealth-Data nur eine Aktie pro Unternehmen - jetzt und in der Vergangenheit.

Hinweis zu "verknüpften" oder "nicht verknüpften" DataSets in WealthLab

Verknüpft bedeutet, dass das DataSet mit einem bevorzugten Datenanbieter verknüpft/zugeordnet ist. WealthLab sucht immer zuerst nach Daten von dem verknüpften DataSet-Anbieter.
Unverknüpft bedeutet, dass kein Anbieter für die Rückgabe von Daten bevorzugt wird. Nicht verknüpfte DataSets werden im DataSet-Baum mit einem Globus-Symbol gekennzeichnet: Unverknüpftes DataSet-Symbol

Wenn ein DataSet nicht verknüpft ist, fordert WealthLab Daten von jedem Anbieter an, der auf der Registerkarte "Historische Anbieter" des Datenmanagers in der Reihenfolge des Vorrangs markiert ist. Wie in der Abbildung zu sehen ist, ist WealthData die erste Wahl, gefolgt von Interactive Brokers, IQFeed, und so weiter. Wäre Wealth-Data nicht in der Lage, aktuelle Daten zu liefern, würden Alpaca und Q-Data übersprungen werden, da sie nicht markiert sind.

Order of Precedence

Mein aktueller "Nasdaq 100, C"-Datensatz (siehe Backtest-Einstellungen im ersten Bild) ist nicht verlinkt, so dass die Daten von jedem Anbieter in der Rangfolge auf der Registerkarte Historische Anbieter des Datenmanagers abgerufen werden können. Da wir die Ergebnisse mit dem dynamischen Wealth-Data-Datensatz vergleichen, haben wir sichergestellt, dass Wealth-Data aktiviert ist und in der Anbieterliste ganz oben steht, damit die für die aktuellen Symbole abgerufenen Daten in beiden Tests identisch sind.

Erhalten Sie stabile, unveränderliche Backtest-Ergebnisse

Da wir mit 100 Symbolen im Nasdaq testen, können Sie sich während des Backtests Zeiträume vorstellen, in denen eine große Anzahl von Symbolen über einen längeren Zeitraum einen RSI-14 unter 30 aufweist. Nehmen wir zum Beispiel an, dass die Strategie 65 Positionen in 50 Symbolen hält, von denen jedes etwa 1 % des Eigenkapitals ausmacht, und dass alle 50 Symbole einen RSI von unter 30 aufweisen. Wenn die Strategie für den nächsten Balken 50 Käufe auslöst, ohne dass es zu Ausstiegen kommt, ist genug Kaufkraft für nur 35 neue Positionen vorhanden. Wie bestimmt WealthLab, welche 35 zum Backtest hinzugefügt werden?

Die Antwort ist die Transaktionsgewichtung.

Die Transaktionsgewichtung ist eine Zahl, die Sie jedem Signal zuweisen können, aber wenn Sie das nicht tun, weist WealthLab eine Zufallszahl zu. WealthLab verarbeitet die Handelseinträge in der Reihenfolge des höchsten bis zum niedrigsten Transaktionsgewicht. Auf diese Weise haben Trades mit einem höheren Gewicht zuerst Zugang zur Kaufkraft. In der obigen Strategie habe ich eine Transaktionsgewichtungsregel hinzugefügt, die den niedrigsten RSI-Wert für die höchste Signalpriorität verwendet. Folglich werden die 35 neuen Positionen diejenigen sein, die den niedrigsten RSI-Wert haben.

In der Praxis würde ein Händler seine Signale nach dem Transaktionsgewicht sortieren und die Signale mit der höchsten (oder am wenigsten negativen) Zahl platzieren, bis die gesamte Kaufkraft aufgebraucht ist. Die verbleibenden Signale werden verworfen, genau wie im Backtest.

Backtest-Ergebnisse - Survivorship Bias

Das Testen mit den "dummen" Nasdaq 100-Daten brachte einen Gewinn von 1.438% oder 12,75% auf Jahresbasis. Die Equity Curve übertrifft den Kauf und das Halten der QQQ-Benchmark, deren Equity Curve durch die schwarze Linie dargestellt wird, bei weitem.

Wie Sie gleich sehen werden, ist es nicht notwendig, die Positionsgewinnstatistiken im Detail zu betrachten, um den Unterschied zwischen Positionen mit und ohne Survivorship Bias aufzuzeigen, aber es ist interessant festzustellen, dass die Anzahl der NSF-Positionen - die Anzahl der Positionen, die aufgrund von nicht ausreichenden Mitteln aus dem Backtest ausgeschlossen wurden - 8.945 betrug, während die Gesamtzahl der tatsächlich im Backtest verwendeten Positionen 4.509 betrug. Würde man die Regel zur Transaktionsgewichtung aus der Strategie entfernen, würde dies zu großen Schwankungen bei den Ergebnissen führen.

Backtest-Ergebnisse - No Bias Wealth-Data

Vergleichen Sie nun die obige Aktienkurve mit der folgenden Kurve, die den Backtest mit dem dynamischen Wealth-Data Nasdaq 100 DataSet darstellt. Es ist auf den ersten Blick nicht ersichtlich, aber die schwarze Linie ist dieselbe QQQ-Benchmark-Aktienkurve. In diesem unvoreingenommenen Backtest desselben Index hat die Strategie während des rund 22-jährigen Testzeitraums tatsächlich -17,19 % verloren.

Während dieser Backtest ohne Survivorship Bias eine ähnliche Anzahl von Backtest-Positionen (4.991) aufwies, war die Anzahl der aus dem Backtest ausgeschlossenen [NSF]-Positionen mit 15.518 fast doppelt so hoch. Diese Statistik ist ein Hinweis darauf, dass die in den Test einbezogenen, nicht mehr notierten Symbole im Allgemeinen einen niedrigeren RSI aufwiesen. Es ist zu beachten, dass Instrumente mit einem starken Aufwärtstrend selten Perioden mit einem RSI von unter 35 aufweisen.

Die Aktienkurve des nicht verzerrten Backtests wird unten ohne die Benchmark-Verzerrung wiederholt, um die schwache Performance während des Testzeitraums hervorzuheben. Ich will das Thema nicht überstrapazieren, aber wenn Sie die Strategie tatsächlich befolgt hätten, indem Sie in den letzten 22 Jahren mit dem Nasdaq 100 gehandelt hätten, hätte Ihr Aktienportfolio wie die folgende Grafik ausgesehen...

Nicht mehr gelistete Symbole

Obwohl ich versprochen habe, nicht über spezifische Positionen zu sprechen, wollte ich Ihnen zeigen, wie die delistierten Symbole in Wealth-Data aussehen. Die folgende Tabelle zeigt die ersten 19 Positionen im "intelligenten" Backtest. Wenn ein Symbol von der Liste gestrichen wird, fügen wir seinem Wealth-Data-Symbol das letzte gehandelte Datum sowie einen Schicksalscode hinzu. Nur drei der unten aufgeführten Symbole werden noch gehandelt, und nur eines davon (SNPS) ist noch im Nasdaq 100 vertreten. Können Sie ohne Wealth-Data-Datensätze wirklich Backtests durchführen?

Fazit - Sehen Sie die blinden Flecken!

Bei der Entwicklung von Handelssystemen müssen wir uns vor blinden Flecken beim Backtesting in Acht nehmen. Einige wichtige Punkte, die man beachten sollte, sind:

Survivorship Bias
Wie wir gesehen haben, beinhaltet Survivorship Bias das Backtesting aktueller Indexkomponenten mit nicht-dynamischen DataSets. Wenn Sie End-of-Day-Aktienhandelssysteme entwickeln, gibt es absolut keine Entschuldigung dafür, keine dynamischen DataSets von Wealth-Data in einer abschließenden Analyse zu verwenden!

Peeking
Ein Handelssystem, das "peakt", verwendet zukünftige Daten oder Ereignisse für Handelsentscheidungen während eines Backtests. WealthLab Version 8 macht es für Handelsstrategien sehr schwierig, Handelssignale zu "peaken". Es ist zwar möglich, aber Sie müssen sich bei der Programmierung sehr anstrengen, um es zu realisieren. Der häufigste Fehler beim Peeken ist die Verwendung einer Handelsregel, die Aktien oberhalb oder unterhalb eines bestimmten Kurses herausfiltert. Da historische Daten auf der Grundlage zukünftiger Unternehmensereignisse (Splits, Sonderdividenden usw.) aufgeteilt werden, sollte eine Preisfilterregel den SplitRev-Indikator von WealthLab verwenden, um anhand der tatsächlichen Aktienkurse zum Zeitpunkt des Handels zu testen.

Über-Optimierung
Bei der Überoptimierung geht es darum, eine Reihe von Parameterwerten zu finden, die [nur] mit den Testdaten in der Stichprobe sehr gut funktionieren.

Optimieren ist ein kompliziertes Thema - wir heben uns diese Diskussion für einen anderen Tag auf!

Quelle: WealthLab Beitrag aus dem Englischen übersetzt in das Deutsche https://www.wealth-lab.com/blog/survivorship-bias