Signal Pilot
🟠 Fortgeschritten • Lektion 64 von 85

Der Preis des Suchens

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

Eine Suche über 15.000 Konfigurationen, beurteilt an 156 Trades, erzeugt 0,317 R pro Trade, bevor der Markt überhaupt etwas getan hat, und diese Zahl folgt allein aus den beiden Anzahlen, ohne dass irgendein Kurs darin vorkommt. Wende dieselbe Rechnung auf die Suche aus Lektion 63 an: Die t-Statistik ihres Siegers von 3,65 muss 3,54 überspringen statt 1,65, und sie tut es. Setze dann eine Zahl, die dieser Backtest nie gedruckt hat — wie viele Trades eine Regel abschließen musste, um überhaupt gewinnen zu dürfen — und das Urteil über denselben Sieger wandert von eins zu 147 zu einem Münzwurf, ohne dass sich ein einziger Kurs ändert.

Voraussetzungen: Lektion 63, für die Suche über 253 Zellen, deren Sieger diese Seite neu beurteilt, Lektion 19, für das, was eine t-Statistik über sieben Trades tragen kann und was nicht, und Lektion 62, für den Satz, als der eine Regel geschrieben sein muss, bevor irgendetwas davon gilt.

Was die Anzahl allein schon verrät

Angenommen, jede Regel, die du gleich testen willst, ist wertlos. Nicht schlecht entworfen, nicht vom Pech verfolgt: wertlos, in dem genauen Sinn, dass ihr wahrer Vorteil null ist. Jede liefert trotzdem eine Zahl, denn eine endliche Reihe von Trades ist eine Stichprobe, und Stichproben schwanken. Teste eine, und du bekommst einen Ausschlag. Teste viele, und du behältst den größten Ausschlag, den du gefunden hast, denn genau das ist eine Suche. Der größte von vielen verrauschten Nullen ist nicht null, und seine Höhe bestimmt sich danach, wie viele du gezogen hast, und nicht daraus, woraus du sie gezogen hast.

Dieser letzte Teilsatz ist die ganze Lektion, und es lohnt sich, hier deutlich zu werden. Wie viel Vorteil eine Suche erzeugt, hängt nicht vom Instrument ab, nicht vom Zeitrahmen, nicht vom Jahr und nicht davon, ob der Markt einen Trend hatte. Es hängt an zwei Anzahlen: wie viele Konfigurationen du probiert hast und an wie vielen Trades jede einzelne beurteilt wurde. Beide kennst du, bevor du irgendetwas laufen lässt.

Schreibe die t-Statistik einer Konfiguration wie üblich: ihr durchschnittlicher Trade geteilt durch den Standardfehler dieses Durchschnitts. Unter der Annahme, dass kein Vorteil existiert, ist die t-Statistik jeder Konfiguration eine Ziehung aus einer Standardnormalverteilung, und eine Suche über N Konfigurationen behält die größte von N solchen Ziehungen. Der Erwartungswert dieser größten Ziehung hat eine geschlossene Form, die auf besser als ein Prozent genau ist — das Ergebnis, das López de Prado gemeinsam mit Bailey, Borwein und Zhu 2014 vorgelegt hat:

E[max of N] ≈ (1 − γ) Φ−1(1 − 1/N) + γ Φ−1(1 − 1/(N e)), γ = 0.5772156649

Eine Einsetzung, vollständig durchgerechnet, damit hier nichts geglaubt werden muss. Bei 15.000 Konfigurationen ist 1 geteilt durch N gleich 0,0000667, und der Wert der Standardnormalverteilung, der so viel im oberen Rand lässt, ist 3,82022. Dann ist N mal e gleich 40.774, 1 geteilt durch diesen Wert ist 0,0000245, und sein Normalwert ist 4,06011. Gewichtet man beide mit 0,4228 und 0,5772, ergibt das 3,95869. Das ist eine t-Statistik. Um daraus Vorteil pro Trade zu machen, teile durch die Wurzel aus der Anzahl der Trades: Die Wurzel aus 156 ist 12,49, und 3,95869 geteilt durch 12,49 ist 0,317. In diese Rechnung ist nichts über irgendeinen Markt eingegangen.

Dieselbe Formel beantwortet die Frage, die ein Praktiker tatsächlich hat: nicht, was die beste wertlose Regel erzielt, sondern welches Ergebnis überrascht hätte. Verlangt man, dass eine Suche über N wertlose Konfigurationen nur fünfmal von hundert etwas über t hervorbringt, liegt die Latte beim Normalwert von 0,95 hoch 1/N. Der Test ist auf dieser ganzen Seite einseitig, denn eine Regel, die verliert, ist keine Entdeckung, und deshalb steht eine einzelne Konfiguration bei 1,645 und nicht beim zweiseitigen 1,96. Das ist die dritte Spalte unten.

KonfigurationenErwartetes bestes tLatte bei fünf ProzentR pro Trade, 156 Trades
10,0001,6450,000
101,5752,5680,126
1002,5313,2830,203
2532,8413,5370,228
1.0003,2553,8840,261
15.0003,9594,4990,317
100.0004,3914,8870,352

Lies die erste Spalte gegen die dritte, und die Form ist der nützliche Teil. Von einer Konfiguration auf 253 hebt die Latte von 1,645 auf 3,537, und das ist der größte Teil des Schadens. Von 253 auf 100.000 ist 395-mal so viel Suche und hebt sie um weitere 1,350. Die Strafe wächst mit dem Logarithmus der Anzahl, eine bescheidene Suche ist also teuer und eine gewaltige kaum schlimmer als eine große. Das schneidet in beide Richtungen, und die Richtung, in der es gegen dich schneidet, erwähnt niemand: Du brauchst kein Raster aus zehntausend, um schlecht dazustehen. Hundert liegen schon bei 3,283.

Das Blatt, das dieses Modul in Lektion 62 begonnen hat, bekommt hier eine dritte Spalte, neben dem Satz und neben dem Zahlenpaar aus Lektion 63. Die Latte, die diese Konfiguration überspringen musste, und die Anzahl, aus der sie berechnet wurde. Eine Zeile, deren t die eigene Latte nicht übertrifft, hat nichts gezeigt, und eine Zeile ohne die Anzahl kann gar keine Latte haben. Fast niemand, gegen den du handelst, notiert diese Anzahl. Sie kostet eine einzige ganze Zahl, vor der Suche aufgeschrieben statt hinterher erinnert, und der Grund, warum sie selten dasteht, ist, dass sie ein Ergebnis immer nur schlechter aussehen lassen kann.

Derselbe Sieger, auf fünf Arten beurteilt

Lektion 63 durchsuchte 253 Konfigurationen gleitender Durchschnitte über sechzig Schlusskurse und behielt jene mit dem höchsten Nettoergebnis: einen 2-Bar-Durchschnitt gegen einen 5-Bar-Durchschnitt, sieben Trades, 9,84 je Aktie nach Kosten, t von 3,65. Gegen die Tabelle oben legen 253 Konfigurationen die Latte auf 3,537, der Sieger überspringt sie also. Das sieht nach einem sauberen Bestehen aus, und es lohnt sich zu sehen, warum es keines ist.

Zähle, wie viele Trades jede der 253 Konfigurationen auf diesen Schlusskursen tatsächlich abgeschlossen hat. Der kleinste Wert ist 1, der Median ist 1, der Wert drei Viertel des Weges nach oben ist 2, und der größte ist 16. Mehr als die Hälfte des Rasters hat nie einen zweiten Umlauf abgeschlossen. Die Suche war also nominell 253 breit, und der größte Teil dieser Breite bestand aus Konfigurationen, die kaum gehandelt haben, deren Durchschnitt ein Durchschnitt über ein oder zwei Zahlen ist und deren t-Statistik entsprechend wild ausfällt. Die Formel unterstellt 253 vergleichbare Tests. Vorgelegt wurden ihr 253 Tests von völlig ungleichem Gewicht.

Die übliche Reparatur ist eine Untergrenze: Eine Konfiguration darf nur dann gewinnen, wenn sie mindestens so viele Trades abgeschlossen hat. Dagegen sagt niemand etwas. Was niemand druckt, ist die Zahl. Lass also die Nullverteilung aus Lektion 63 noch einmal laufen — die 59 Bar-zu-Bar-Bewegungen mit Zurücklegen gezogen, 4.000 Reihen, Startwert 20260903, auf jeder dieselbe Suche über 253 Zellen — und halte fest, wie oft die beste zulässige Konfiguration die 3,65 des Siegers erreicht, bei fünf Untergrenzen.

Mindestzahl an TradesZulässige ZellenBestes t auf den sechzig SchlusskursenStrukturlose Suchen, die 3,65 erreichen
21156,240,5048
3506,240,2210
5203,790,0385
7113,650,0068
1041,030,0031

Bei einer Untergrenze von sieben Trades, genau so vielen, wie der Sieger abgeschlossen hat, erreichen 0,68 Prozent der strukturlosen Suchen die 3,65: etwa eine von 147, ein Ergebnis, das jeder veröffentlichen würde. Bei einer Untergrenze von zwei tun es 50,5 Prozent. Der Sieger ist unverändert, die Schlusskurse sind unverändert, die 253 Konfigurationen sind unverändert, und dieselbe t-Statistik ist ein Fund von eins zu 147 oder ein Münzwurf, je nach einer ganzen Zahl, die in keinem Backtest-Bericht irgendwo auftaucht.

Die Korrektur dafür, dass gesucht wurde, hat selbst einen Regler.

Zwei weitere Dinge fallen aus dieser Tabelle heraus, und beide sind schlimmer als die Schlagzeile. Die Untergrenze filtert nicht bloß den Sieger, sie ändert, welche Konfiguration gewinnt: Bei Untergrenzen von zwei und drei ist das beste t im Raster 6,24, erzielt von einem 3-und-11-Paar auf vier Trades, und der 2-und-5-Sieger ist gar nicht die beste Zelle. Und bei einer Untergrenze von zehn Trades ist das beste t irgendwo in den 253 gerade 1,03. Jeder Krümel des scheinbaren Vorteils auf dieser Reihe steckt in Konfigurationen, die weniger als zehnmal handeln, also genau in dem Bereich, in dem eine t-Statistik am wenigsten Anspruch darauf hat, geglaubt zu werden.

Die geschlossene Form ist also eine Schätzung für die Hosentasche und kein Urteil. Sie gab 3,537 für dieses Raster; die Simulation liefert bei einer Untergrenze von fünf einen Fünf-Prozent-Punkt von 3,397, was nahe dran ist, und bei einer Untergrenze von drei 9,57, was überhaupt nicht nahe dran ist. Nimm die Formel, um vorab ungefähr zu wissen, wogegen du antrittst, und simuliere bei der Untergrenze, die du tatsächlich benutzt hast, bevor du irgendetwas glaubst.

Mach das heute Abend: Schreibe deine Zahl an Konfigurationen und deine Mindestzahl an Trades auf, bevor du ein Ergebnis ansiehst, und berechne die Latte aus der ersten der beiden.

Was das nicht klärt

Dass die Konfigurationen unabhängig sind. Sie sind es ausdrücklich nicht: Ein 2-und-5-Crossover und ein 2-und-6-Crossover handeln fast dieselben Bars, die 253 Ziehungen überlappen sich also stark, und die wahre Latte für unabhängige Tests läge unter 3,537. Die Formel korrigiert auf einem korrelierten Raster demnach zu viel, und das ist die Richtung, die der Vorsicht dient und nicht dem Leser. Sie bleibt eine Grenze, die man kennen sollte, aber eine Seite, die sie als Antwort ausgibt, gibt eine Obergrenze als Messung aus.

Dass sechzig Schlusskurse das tragen können. Neunundfünfzig Bewegungen, ein Sieger mit sieben Trades und Untergrenzen, die das Raster bei zehn leerräumen: Jede Zahl in der zweiten Tabelle ist auf einer Reihe berechnet, die kurz genug ist, dass die Untergrenzen und die Länge der Stichprobe ineinander verhakt sind. Auf zweitausend Bars ließe eine Untergrenze von zehn den größten Teil des Rasters stehen, und der Umschlag zwischen eins zu 147 und einem Münzwurf fände, wenn überhaupt, bei anderen Untergrenzen statt. Der Mechanismus hängt nicht an der Länge. Die konkreten Zahlen hängen vollständig daran.

Dass die t-Statistik die richtige Größe ist. Sie unterstellt, dass die Trades einer Konfiguration unabhängige Ziehungen gleicher Varianz sind, und aufeinanderfolgende Trades einer Regel auf einer Reihe sind weder das eine noch das andere: Sie überschneiden sich im Regime, sie teilen die Schwankung derselben Wochen, und eine Regel, die länger hält, nimmt größere und weniger davon. Genau deshalb schwankt die Zahl der Trades über das Raster so stark, der Fehler, den die Untergrenze flickt, und die Annahme, auf der die Größe ruht, sind also derselbe Fehler, zweimal gesehen.

Dass die neu gezogene Nullverteilung die richtige ist. Die Bewegungen mit Zurücklegen zu ziehen zerstört das Volatilitäts-Clustering zusammen mit allem anderen, und gerade das Clustering entscheidet, wie viele Trades eine Crossover-Konfiguration abschließt. Die Nullverteilung erzeugt also Handelszahlen, die eine echte Reihe nicht geben würde, und die Zahlen zulässiger Zellen in der zweiten Tabelle liegen aus diesem Grund etwas daneben. Ein Block-Bootstrap würde das Clustering erhalten und ist der ehrliche nächste Schritt; diese Seite führt keinen aus, aus demselben Grund wie Lektion 63.

Dass die Wahl der Untergrenze harmlos ist. Sie ist es nicht, und diese Seite hat gerade vorgeführt, wovor sie warnt: Fünf Untergrenzen wurden gerechnet und alle fünf sind gedruckt, was ehrlich ist, aber wer fünf rechnet und jene berichtet, bei der die eigene Regel besteht, hat die Suche eine Ebene höher verlegt und sucht nun über Untergrenzen. Die Anzahl, die auf das Blatt kommt, muss jede Dimension enthalten, die du variiert hast, und die Untergrenze ist eine davon, sobald du mehr als eine probierst.

Und das Zugeständnis, das am meisten kostet. Lektion 63 endete außerstande, die Konfigurationen zu zählen, die nie aufgeschrieben wurden, und diese Seite behebt das nicht; sie macht es schärfer und unangenehmer. Die Latte ist eine Funktion der Anzahl, die Anzahl ist nur für das programmierte Raster bekannt, und der Chart, den du angesehen hast, der Parameter, den du verschoben und zurückgestellt hast, das Instrument, das du als hässlich aufgegeben hast, sind alle Konfigurationen, die die Latte heben und keine Spur hinterlassen. Die Formel verwandelt ein unzählbares Problem nur für jenen Teil der Suche in ein zählbares, der ehrlich genug war, getippt zu werden. In Lektion 65 wird die Anzahl auf eins gezwungen und der Preis stattdessen in Zeit bezahlt: Bei einer einzigen Konfiguration fällt die Latte von 4,499 auf 1,645, und ein Backtest über 15.000 Zellen braucht deshalb 7,48-mal so viele Trades wie eine Aufzeichnung im Live-Betrieb, um dieselbe Behauptung zu stützen.

Aufgaben

  1. Zähle dein Raster. Nimm die Strategie, die du zuletzt optimiert hast, und zähle die Konfigurationen, die du programmiert hast: jeden Parameterwert, ausmultipliziert, samt jenen, die du gerechnet und verworfen hast. Setze diese Anzahl in die Formel für die Latte ein oder lies sie aus der ersten Tabelle ab. Zehn Minuten, und am Ende hältst du eine Zahl, das t, das dein Sieger schlagen musste, und das ist ziemlich sicher nicht 1,65.
  2. Finde, wo dein Urteil kippt. Nimm dieselbe Suche und lass sie bei Mindestzahlen von 2, 5 und 10 Trades erneut laufen, und notiere bei jeder die gewinnende Konfiguration und ihr t. Eine halbe Stunde, und am Ende hältst du eine Zahl, die Untergrenze, bei der dein Sieger aufhört zu gewinnen, und die sagt dir, wie viel von deinem Ergebnis von Konfigurationen getragen wurde, die kaum gehandelt haben.
  3. Simuliere die Latte, vor der du wirklich stehst. Ziehe die Bar-zu-Bar-Änderungen deines Instruments mit Zurücklegen neu, lass deine ganze Suche auf jeder synthetischen Reihe bei der Untergrenze laufen, für die du dich entschieden hast, und tue das tausendmal von einem Startwert, den du aufschreibst. Zähle, wie oft die beste zulässige Konfiguration das t deines echten Siegers erreicht. Ein Abend, und am Ende hältst du eine Zahl, diesen Anteil, und das ist die einzige Fassung der Latte, die weiß, was deine Konfigurationen gemeinsam haben.

Quellen. 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 die Formel des Erwartungsmaximums, in die diese Seite einsetzt, und für die Mindestlänge eines Backtest, die daraus folgt. David H. Bailey und Marcos López de Prado, „The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality“ (The Journal of Portfolio Management, 2014), für dieselbe Korrektur, ausgedrückt als Abschlag auf eine berichtete Zahl statt als Latte, die zu überspringen ist. Campbell R. Harvey und Yan Liu, „Backtesting“ (The Journal of Portfolio Management, 2015), für das Argument, dass die Zahl der Versuche das Erste ist, wonach der Leser eines Backtest fragen sollte, und das ist die Spalte auf dem Blatt, die diese Lektion hinzufügt. Halbert White, „A Reality Check for Data Snooping“ (Econometrica, 2000), für das Neuziehungsverfahren, auf dem die zweite Tabelle beruht, übernommen aus Lektion 63.

Verwandte Lektionen
Lektion 63

Backtesting als Beleg

Die Suche über 253 Zellen, deren Sieger diese Lektion an seiner eigenen Latte neu beurteilt.

Lektion lesen →
Lektion 19

Wie lange, bis du es weißt

Was eine t-Statistik über sieben Trades tragen kann und was nicht.

Lektion lesen →
Lektion 62

Was passieren müsste

Der Satz, als der eine Regel geschrieben sein muss, bevor irgendeine Korrektur gilt.

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 →