Signal Pilot
🟠 Fortgeschritten • Lektion 63 von 85

Backtesting als Beleg

Lesezeit ~14 Min. • Modul 8: Ein System bauen
Signal Pilot
Professionelle Trading-Ausbildung
0 %
Du machst Fortschritte!
Lies weiter, um diese Lektion abzuschließen

Durchsucht man 253 gewöhnliche Regeln auf gleitenden Durchschnitten über die sechzig Schlusskurse dieses Lehrgangs, kommt ein Sieger heraus, der nach Kosten 9,84 Dollar je Aktie macht, gegen 5,68 fürs Halten, auf 7 Trades, bei einer t-Statistik von 3,65. Nun mische dieselben sechzig Bar-zu-Bar-Bewegungen so, dass keine Zeitstruktur überlebt, behalte Drift und Volatilität exakt bei und lass dieselbe Suche noch einmal laufen. Auf 52,5 Prozent dieser strukturlosen Reihen schlägt die beste Regel das Halten um mindestens so viel wie die echte, und auf 77,2 Prozent schlägt sie es überhaupt. Das Ergebnis liegt unter dem Median dessen, was ein Markt ohne jeden Inhalt hervorbringt. Ein Backtest einer Regel ist eine Messung; ein Backtest der besten von 253 ist eine Messung der Suche.

Voraussetzungen: Lektion 62, für den vierteiligen Satz, als der eine Regel geschrieben sein muss, bevor sie überhaupt geprüft werden kann, Lektion 19, dafür, was sieben Trades tragen können und was nicht, und Lektion 11, für die Round-Trip-Kosten, die diese Seite von jeder Zahl auf ihr abzieht.

Die Behauptung, so gesagt, wie sie gemeint ist

Die Argumente fürs Backtesting sind gut und verdienen es, ordentlich genannt zu werden, bevor irgendetwas mit ihnen geschieht. Eine Regel ist eine Folge von Anweisungen. Historie ist eine Aufzeichnung dessen, was Kurse getan haben. Also kann man die Anweisungen über die Aufzeichnung laufen lassen und herausfinden, was die Regel gemacht hätte, und das ist ein ganz gewöhnlicher technischer Test und kein Aberglaube. Hat sie verloren, hast du das billig gelernt. Hat sie gewonnen, hast du zumindest festgestellt, dass die Idee nicht offensichtlich leer ist. Kein vernünftiger Mensch behauptet, ein Backtest sage die Zukunft voraus. Die Behauptung ist enger und klingt unangreifbar: Ein Backtest sagt dir, ob die Regel funktioniert hat.

Hier ist, was er dir tatsächlich sagt, auf Daten, die dieser Lehrgang schon gedruckt hat. Nimm die sechzig Schlusskurse und eine Regelfamilie: long, wenn ein schneller gleitender Durchschnitt der Schlusskurse einen langsamen von unten kreuzt, flat, wenn er wieder darunter kreuzt. Schnelle Längen von 2 bis 12, langsame von 3 bis 30, die langsame immer länger als die schnelle. Das sind 253 Konfigurationen, was nach jedem Maßstab eine kleine Suche ist, und jede einzelne davon ist eine Regel, die ein vernünftiger Mensch vorgeschlagen haben könnte.

Die Ausführungskonvention wiegt schwerer, als sie aussieht, deshalb steht sie auf der Seite. Eine Kreuzung ist erst sichtbar, wenn eine Bar geschlossen hat, also wird das Signal am Schluss von Bar i gelesen und der Trade am Schluss von Bar i plus eins gemacht. Auf der Signalbar selbst auszuführen ist der Look-ahead, der die Hälfte aller Backtests im Internet funktionieren lässt, und er ist hier ungefähr ein Drittel des scheinbaren Vorsprungs wert. Kosten sind ein Cent Spread, fünf Basispunkte Slippage je Seite bei einem Kurs nahe 103 und ein halber Cent je Aktie Kommission, was auf 0,1230 je Aktie für einen Round Trip hinausläuft. Jede auf der letzten Bar noch offene Position wird dort geschlossen.

Lass alle 253 laufen, und die beste ist ein schneller 2-Bar-Durchschnitt gegen einen langsamen 5-Bar-Durchschnitt. Sie macht 7 Trades und 10,70 je Aktie brutto, nach Kosten 9,84, gegen 5,68 fürs Kaufen am ersten und Verkaufen am letzten Schlusskurs. Ihre Trefferquote ist 6 von 7, ihr Durchschnittstrade beträgt 0,910 einer Bar-Standardabweichung, und die t-Statistik auf ihrer eigenen Trade-Historie ist 3,65. Jede einzelne dieser Zahlen ist die Sorte, die eine Strategie finanziert bekommt.

Was dieselbe Suche in einem Markt ohne jeden Inhalt findet

Der Test ist billig. Nimm die 59 Bar-zu-Bar-Bewegungen, aus denen diese Reihe besteht, ziehe 59 davon zufällig mit Zurücklegen und lege sie vom selben Startkurs aus aneinander. Das Ergebnis hat dieselbe Drift und dieselbe Volatilität wie das Original, gebaut buchstäblich aus denselben Bewegungen, und überhaupt keine Zeitstruktur: Nichts darin kann von einer Regel ausgenutzt werden, die von der Reihenfolge irgendwovon abhängt, weil die Reihenfolge zerstört wurde. Mach das 4.000 Mal ab Seed 20260903 und lass auf jeder dieser Reihen dieselbe 253-Zellen-Suche laufen.

MessgrößeWert
Beste von 253, brutto10,70
Beste von 253, nach Kosten9,84
Kaufen und Halten, nach Kosten5,68
Vorsprung gegenüber dem Halten4,16
Strukturlose Reihen, deren beste Zelle das Halten schlägt0,772
Strukturlose Reihen, die den echten Vorsprung übertreffen0,525

Auf 77,2 Prozent der Reihen ohne jede Struktur schlägt die beste von 253 Regeln das Kaufen und Halten. Auf 52,5 Prozent schlägt sie es um mindestens die 4,16, die die echte Suche gefunden hat. Das gemessene Ergebnis ist gegen diese Verteilung nicht bloß unbeeindruckend; es liegt unter ihrem Median. Was die Suche auf den echten Schlusskursen auch gefunden hat, eine Suche derselben Größe findet mehr als das, in mehr als der Hälfte der Fälle, in Daten, die nichts zu finden enthalten.

Beachte, was das nicht sagt. Es sagt nicht, dass die Regel schlecht ist, und es sagt nicht, dass die Reihe keine Struktur hat. Es sagt, dass die Zahl 9,84 von einem Verfahren erzeugt wurde, das Zahlen wie 9,84 ohnehin erzeugt, weshalb die Zahl nicht als Beleg über den Markt taugt. Das ist eine Aussage über die Messung, und sie ist der Grund, warum fast niemand, gegen den du handelst, jemals seine eigene geprüft hat: Die Prüfung kostet einen Abend und eine Resampling-Schleife, und sie kann ein Ergebnis nur wegnehmen.

Zwei Spalten kommen auf das Blatt, das dieses Modul in Lektion 62 begonnen hat, neben den Satz. Was der Backtest zurückgab, hier 4,16 über der Benchmark. Und was dieselbe Suche auf Daten ohne jeden Inhalt zurückgab, hier 4,16 oder besser in 52,5 Prozent der Versuche. Eine Zeile, deren zweite Spalte nicht deutlich größer ist als ihre dritte, hat nichts verdient, und das Paar ist mehr wert als jede der beiden Zahlen allein, denn keine von beiden bedeutet ohne die andere viel.

Die zwei Abzüge, die davor kommen

Zuerst die Kosten, weil sie der einzige sichere Teil hiervon sind. Ein Round Trip kostet hier 0,1230 je Aktie, und eine Bar-Standardabweichung beträgt auf dieser Reihe 1,5443, also ist ein Round Trip 0,0796 eines R. Das klingt klein, bis man es multipliziert. Die siegreiche Regel macht 7 Trades und zahlt damit 0,557R an Kosten; das Halten macht einen und zahlt 0,0796R. Die häufig handelnde Regel startet ein halbes R im Rückstand, bevor eine von beiden in irgendetwas recht hat, und dieselben Kosten sind 0,0398R gegen einen Zwei-Sigma-Stop und 0,1593R gegen einen Halb-Sigma-Stop, weil die Kosten in Cent feststehen und R nicht.

Zweitens die Benchmark, und das ist der Abzug, der fast immer fehlt. Die beste Zelle machte 9,84. Das Halten machte 5,68. Der Beitrag der Regel sind nicht 9,84, sondern 4,16, denn die Reihe stieg, und jede Regel, die Zeit im Long verbringt, sammelt diesen Anstieg ein, ob sie nun etwas verstanden hat oder nicht. Ein Backtest, der die eigene Kapitalkurve der Strategie ausweist und nie die der Benchmark, hat die größere der beiden Zahlen versteckt.

Die Zeile, die der Split-Sample-Test nicht sehen kann

Die übliche Verteidigung gegen all das ist das Testen außerhalb der Stichprobe, und das lohnt sich wirklich, also mach es hier. Optimiere nur auf den ersten dreißig Schlusskursen. Die beste Zelle über dieses Fenster ist wieder das 2-und-5-Paar, das 5,53 netto auf 3 Trades macht, über eine Strecke, auf der Kaufen und Halten 0,82 verlor. Das sieht aus wie eine Regel, die in einem Markt etwas findet, der nichts bot. Frier die Parameter ein, rühr nichts an und lass sie auf den letzten dreißig Schlusskursen laufen.

FensterBeste Regel, nettoKaufen und Halten, nettoTrades
Bars 1 bis 30, hier optimiert5,53-0,823
Bars 31 bis 60, Parameter eingefroren4,296,885

Sie besteht. Die Leistung fiel von 5,53 auf 4,29, ein Rückgang um 22 Prozent, und jede Checkliste des Fachs wertet alles unter 30 Prozent als bestanden. Die Regel war nicht kurvengefittet in dem Sinn, den die Checkliste meint: Sie funktionierte auf Daten weiter, die sie nie gesehen hatte.

Und über dieselben ungesehenen Bars machte Nichtstun 6,88. Die validierte Regel verlor gegen die Benchmark um 2,59, und zwar genau auf dem Fenster, das sie rechtfertigen sollte, und der Out-of-Sample-Test konnte das nicht berichten, weil in ihm nirgends eine Benchmark steckt. Der Test fragt, ob sich ein Ergebnis wiederholt. Er fragt nie, ob das Ergebnis es wert war.

Dieselben sechzig Schlusskurse, auf vier Stufen der Ehrlichkeit

Nichts weiter unten verändert die Daten oder die Regel. Die 2-und-5-Kreuzung ist auf jeder Stufe dieselbe Regel, über dieselben sechzig Schlusskurse gelaufen. Nur das, wogegen sie gemessen wird, ändert sich, und jede Stufe ist diejenige, bei der die meisten Backtests aufhören.

Hör bei der ersten Stufe auf, und die Regel machte 10,70 je Aktie auf 7 Trades mit 6 Gewinnern. Hör bei der zweiten auf, und die Kosten bringen sie auf 9,84, was ein Abschlag von 8 Prozent ist und sich nach Sorgfalt anfühlt, weil eine Seite, die Kosten abzieht, gewissenhaft aussieht. Hör bei der dritten auf, und die Benchmark bringt sie auf 4,16, was sie noch einmal mehr als halbiert, und damit ist man schon weiter als die meisten veröffentlichten Backtests.

Die vierte Stufe ist die, die das Urteil ändert und nicht die Größe. Zieh die Bewegungen neu, lass die Suche noch einmal laufen, und 52,5 Prozent der strukturlosen Reihen bringen eine beste Zelle hervor, die das Halten um 4,16 oder mehr schlägt. Die eigene t-Statistik der Regel von 3,65 ist nicht falsch; sie beantwortet eine andere Frage. Sie misst, wie sicher sich die 7 Trades dieser Zelle von null unterscheiden, und sie hat keine Möglichkeit zu wissen, dass 252 andere Zellen vorgesprochen haben und aussortiert wurden. Die t-Statistik wird innerhalb des Siegers berechnet. Die Suche fand außerhalb statt.

Ein Backtest misst die Suche, die du gefahren hast, nicht den Markt, auf dem du sie gefahren hast.

Was übrig bleibt, ist mehr, als es klingt. Ein Backtest tötet Regeln nach wie vor, billig und endgültig: Eine Regel, die in-sample und vor Kosten verliert, ist tot, und das an einem Nachmittag herauszufinden ist das meiste, wofür die Technik da ist. Was er allein nicht kann, ist eine befördern. Beförderung braucht die Benchmark, die Kosten und die neu gezogene Nullverteilung, und die Nullverteilung ist eine Schleife Code.

Lass also heute Abend alle vier Stufen über deine eigene Regel laufen, in dieser Reihenfolge, und hör bei der ersten auf, die das Ergebnis wegnimmt.

Was das nicht klärt

Dass Backtesting nicht funktioniert. Die Seite hat eine Regelfamilie über eine Reihe von sechzig Bars mit einer 253-Zellen-Suche getestet, und ein echtes Programm läuft über Tausende von Bars und viele Instrumente, wo das Stichprobenrauschen, das diese Seite ausnutzt, sehr viel kleiner ist. Das Argument über die Suchinflation hängt von der Größe keines von beiden ab, die konkreten 52,5 Prozent aber schon, und auf einer längeren Reihe würde dieselbe Suche einen entsprechend kleineren Vorsprung erzeugen. Nichts hier zeigt, dass die Technik nutzlos ist; es zeigt, was ein Ergebnis überstehen muss, bevor es etwas bedeutet.

Dass der Resampling-Test die richtige Nullverteilung ist. Bewegungen mit Zurücklegen zu ziehen zerstört alle Zeitstruktur auf einmal, was ihn zu einem Test darauf macht, ob die Regel Reihenfolge ausnutzt, und auf nichts sonst. Es zerstört auch das Volatilitäts-Clustering, das real ist und das eine Kreuzungsregel tatsächlich handeln kann, sodass die Nullverteilung insofern zu leicht zu schlagen ist und der wahre Anteil eher höher als 52,5 Prozent liegt als niedriger. Ein Block-Bootstrap würde einen Teil dieser Struktur erhalten und ist der ehrliche nächste Schritt; diese Seite fährt keinen.

Dass die Kosten deine sind. Ein Cent Spread und fünf Basispunkte Slippage beschreiben ein liquides Instrument in kleiner Größe. Bei etwas Breiterem sind sie arg optimistisch, und bei einem tiefen Large Cap auf hundert Aktien sind sie pessimistisch. Jede Zahl auf dieser Seite bewegt sich mit dieser Annahme, und die 7-Trade-Regel bewegt sich etwa siebenmal so schnell wie die Benchmark, was die Richtung ist, die dem Halten schmeichelt.

Dass Kaufen und Halten die richtige Benchmark ist. Sie ist hier die richtige, weil die Regel long-only auf einer steigenden Reihe ist, und sie ist die falsche für eine Regel, die shortet, oder für eine Strecke, die fiel. Auf einer fallenden Reihe sieht jede Long-only-Regel gegen das Halten schlecht aus, aus einem Grund, der mit der Regel nichts zu tun hat, und sich eine Benchmark auszusuchen, die einem schmeichelt, ist derselbe Fehler wie sich ein Fenster auszusuchen, das das tut. Die Benchmark muss vor dem Test gewählt werden, und diese Seite hat sie danach gewählt, weil die Reihe schon geschrieben war.

Dass sich das Split-Sample-Ergebnis verallgemeinern lässt. Dreißig Bars je Hälfte sind viel zu wenig, das In-sample-Fenster enthält 3 Trades und das Out-of-sample-Fenster 5, und bei so kleinen Stichproben trägt die Zahl von 22 Prozent Rückgang so gut wie keine Information. Der Befund, den sie stützt, ist nicht, dass Out-of-Sample-Tests schlechte Regeln meistens durchwinken; er ist der engere und festere, dass sie eine Regel durchwinken können, die gegen die Benchmark verliert, weil in ihnen keine Benchmark steckt. Dieser Mangel ist strukturell und hängt vom Stichprobenumfang überhaupt nicht ab.

Und das Zugeständnis, das am meisten kostet: Diese Seite sagt dir, du sollst abziehen, was die Suche erzeugt hätte, und liefert keinen Weg, das für die Suche zu tun, die du tatsächlich gefahren hast. Die 253 Zellen sind zählbar, weil sie codiert wurden. Die Regeln, die du dir auf einem Chart angesehen und verworfen hast, der Parameter, den du zweimal verschoben und wieder zurückgestellt hast, das Instrument, das du zuerst probiert und fallen gelassen hast, weil es hässlich war — das sind auch Konfigurationen, sie sind nicht aufgezeichnet, und sie sind fast sicher zahlreicher als 253. Die Korrektur auf dieser Seite ist nur für den Teil der Suche berechenbar, der ehrlich genug war, aufgeschrieben zu werden. Lektion 64 nimmt sich dieses Problem direkt vor und findet, dass die Inflation aus der Anzahl allein im Voraus vorhersagbar ist: Bei einer Suche über 15.000 Konfigurationen und 156 Trades zeigt die beste Zelle 0,351R Vorsprung, bevor der Markt überhaupt irgendetwas getan hat.

Aufgaben

  1. Beziffere einen Round Trip in R. Nimm den Spread deines Instruments, die Kommission deines Brokers und eine Slippage-Zahl, die du verteidigen würdest, addiere sie für einen Round Trip und teile durch eine Bar-Standardabweichung auf dem Zeitrahmen, den du handelst. Zehn Minuten, und du hältst am Ende eine Zahl, die Kosten eines Trades in R, und das ist der Betrag, den jeder Backtest, den du je gelesen hast, weggelassen hat.
  2. Stell die Benchmark neben deine Regel. Nimm eine Regel, die du schon handelst oder schon glaubst, lass sie über zweihundert Bars netto der Kosten laufen, die du gerade berechnet hast, und berechne auf denselben zweihundert Bars, was Kaufen am ersten und Verkaufen am letzten Schlusskurs gemacht hätte. Eine halbe Stunde, und du hältst am Ende eine Zahl, den Abstand zwischen beiden, und das ist der einzige Teil deiner Kapitalkurve, für den die Regel verantwortlich ist.
  3. Fahr die Nullverteilung. Nimm die Bar-zu-Bar-Veränderungen derselben zweihundert Bars, ziehe zweihundert davon zufällig mit Zurücklegen, lege sie aneinander und lass deine ganze Suche auf der synthetischen Reihe noch einmal laufen. Mach das tausendmal mit einem Seed, den du aufschreibst, und zähle, wie oft das beste Ergebnis die Benchmark um mindestens das schlägt, was deine echte Suche gefunden hat. Ein Abend, und du hältst am Ende eine Zahl, den Anteil, und das ist die Wahrscheinlichkeit, dass ein Markt ohne jeden Inhalt dir gegeben hätte, was du gefunden hast.

Quellen. Halbert White, „A Reality Check for Data Snooping“ (Econometrica, 2000), für das Bootstrap-Verfahren, das diese Lektion im Kleinen fährt, und für das Argument, dass die Verteilung der besten Regel, nicht die einer Regel, diejenige ist, gegen die eine Suche beurteilt werden muss. Ryan Sullivan, Allan Timmermann und Halbert White, „Data-Snooping, Technical Trading Rule Performance, and the Bootstrap“ (The Journal of Finance, 1999), für dasselbe Experiment in voller Größe über ein Jahrhundert Tagesdaten und Tausende von Regeln, und das ist die Studie, von der diese Seite eine Nachahmung auf sechzig Bars ist. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado und Qiji Jim Zhu, „Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance“ (Notices of the American Mathematical Society, 2014), für das Ergebnis, dass die Anzahl der ausprobierten Konfigurationen allein schon ausreicht, um vorherzusagen, wie viel scheinbarer Vorsprung auftaucht, und genau das berechnet die nächste Lektion. Bradley Efron, „Bootstrap Methods: Another Look at the Jackknife“ (The Annals of Statistics, 1979), für die Resampling-Methode, aus der die Nullverteilung in dieser Lektion gebaut ist.

Verwandte Lektionen
Lektion 62

Was passieren müsste

Der vierteilige Satz, als der eine Regel geschrieben sein muss, bevor sie überhaupt geprüft werden kann.

Lektion lesen →
Lektion 19

Wie lange, bis du es weißt

Was sieben Trades und eine t-Statistik von 3,65 tragen können und was nicht.

Lektion lesen →
Lektion 11

Slippage und Impact in Retail-Größe

Die Round-Trip-Kosten, die diese Lektion von jeder Zahl auf der Seite abzieht.

Lektion lesen →
Nur zu Bildungszwecken. Der Handel ist mit erheblichem Verlustrisiko verbunden. Keine Finanzberatung. Vergangene Wertentwicklung ist keine Garantie für zukünftige Ergebnisse.

💬 Diskussion (0 Kommentare)

0/1000

Kommentare werden geladen …

← Vorherige Lektion Nächste Lektion →

Bereit, mit Signal Pilot zu handeln?

Setze deine Trading-Ausbildung mit professionellen Indikatoren und Werkzeugen zur Marktanalyse in Echtzeit ein.

Zurück zu Signal Pilot →