Der Deflated Sharpe Ratio: Wie viele Ihrer Backtest-'Gewinner' überleben Multiple Testing?
Teil der Reihe "Backtests Without Illusions".
📄 Aus diesem Artikel ist ein Forschungspapier geworden. Jede Zahl unten stammt aus einem einzigen deterministischen Skript, das kontrollierte Ground Truth aufbaut — reine Rauschsuchen, Suchen mit eingepflanztem Edge und ein echtes korreliertes Parameter-Grid — und darauf dann den Deflated Sharpe Ratio, den Harvey-Liu-Multiple-Testing-Haircut und White's Reality Check / Hansens SPA laufen lässt, wobei die Falschentdeckungsrate und die Erkennungspower jeder Methode direkt gemessen werden. Lesen Sie das Paper online (interaktive Version + PDF) unter deflated-sharpe.marketmaker.cc, Code und Daten unter github.com/suenot/deflated-sharpe-search.
Sie führen einen Parameter-Sweep durch. Sechzehn schnelle Längen, vierzig langsame Längen, 640 Kombinationen eines Moving-Average-Crossovers. Das Grid ist fertig, und eine Zelle leuchtet: ein annualisierter Sharpe von 3,9, ein Single-Test-p-Wert von . Zwölf Nullen an Signifikanz. Sie haben etwas gefunden.
Oder Sie haben nichts gefunden, und die Suche hat es für Sie gefunden.
Eine Parametersuche ist kein Test. Sie ist eine Maschine, um den glücklichsten von N Versuchen zu finden, und je mehr Versuche man ihr gibt, desto glücklicher sieht ihr Gewinner aus — mit oder ohne echten Edge darunter. Der beste-von-N-Sharpe ist durch Selektion aufgebläht, genauso wie der Größte von tausend zufälligen Menschen groß ist: nicht weil Größe real ist, sondern weil man gesucht hat. Die Single-Test-Statistiken, die neben dem Gewinner ausgedruckt werden — sein p-Wert, sein t-Stat, sein "ist es signifikant?" — wurden für eine vorab festgelegte Hypothese entworfen. Füttert man sie mit dem Überlebenden einer Suche, lügen sie, zuverlässig, jedes Mal.
Dieser Artikel misst genau, wie sehr sie lügen, und misst dann drei Werkzeuge, die das korrigieren. Der ganze Punkt ist kontrollierte Ground Truth: Wir erzeugen Renditen, bei denen wir die Antwort kennen — mal reines Rauschen ohne Edge, mal einen eingepflanzten Edge bekannter Stärke — sodass "hat die Methode richtig entschieden?" ein Fakt ist, keine Ermessensfrage. Hier vorab das Fazit. Bei Null-Hypothese-Suchen, bei denen die ehrliche Antwort immer "keine Entdeckung" lautet, so oft schreit jeder Test "Wolf":
| Test | Falschentdeckungsrate bei Null-Hypothese-Suchen | Urteil |
|---|---|---|
| Naiver "ist der beste Sharpe signifikant?"-Test | 1,000 | meldet jedes einzelne Mal eine Entdeckung |
| Deflated Sharpe Ratio (DSR ≥ 0,95) | 0,001 | kontrolliert |
| Harvey-Liu-Haircut — Bonferroni | 0,057 | ~kontrolliert |
| Harvey-Liu-Haircut — Holm | 0,057 | ~kontrolliert |
| Harvey-Liu-Haircut — BHY | 0,007 | kontrolliert |
| White's Reality Check (Bootstrap) | 0,022 | kontrolliert |
1.000 Strategien pro Suche, je 1.000 Beobachtungen, 2.000 unabhängige Null-Suchen, wahrer Sharpe = 0 überall. Synthetische iid-Normal-Renditen, Seed 0, α = 0,05, 252 Perioden/Jahr. Die Falschentdeckungsrate des naiven Tests ist nicht hoch — sie ist exakt eins.
Lesen Sie die erste Zeile, bis sie schmerzt. Ein Test, der eigentlich in 5 % der Fälle bei reinem Rauschen anschlagen soll, schlägt in 100 % der Fälle an — weil man ihm nicht reines Rauschen zeigt, sondern das Maximum von tausend Ziehungen reinen Rauschens, und das Maximum von tausend Münzwürfen sieht immer wie ein Genie aus. Jede andere Zeile ist eine Methode, die das weiß und dafür korrigiert. Das ist der ganze Artikel: warum die erste Zeile 1,000 ist, warum die anderen es nicht sind, und der eine Ort (der letzte Abschnitt), an dem selbst die guten Methoden eine zweite Korrektur brauchen, um ehrlich zu bleiben.
Akt 1 — Die Falle: Eine Suche fabriziert Sharpe aus dem Nichts

Beginnen wir mit der saubersten möglichen Falle. Erzeugen Sie Strategien, deren Renditen unabhängiges standardnormalverteiltes Rauschen sind — kein Drift, kein Skill, wahrer Sharpe exakt null für alle. Jede hat Beobachtungen. Nun tun Sie das, was jede Parametersuche tut: Behalten Sie die beste.
Der Beste-von-1000-Sharpe pro Beobachtung liegt im Schnitt bei 0,1027, was annualisiert 1,63 ergibt (hergeleitet: ). Das ist keine bescheidene Zahl. Ein annualisierter Sharpe von 1,63 ist die Art von Ergebnis, die eine Strategie finanziert, veröffentlicht, alloziert bekommt. Er stammt von einem Zufallszahlengenerator mit auf null gestelltem Drift.
Nun übergeben Sie den Gewinner dem naiven Signifikanztest — dem, den jede Backtest-Bibliothek gratis ausdruckt. Konvertieren Sie seinen Sharpe in eine t-Statistik (), nehmen Sie den einseitigen p-Wert, nennen Sie es eine Entdeckung, wenn :
Der mediane Single-Test-p-Wert dieser Rauschgewinner liegt bei 0,000686 — drei Nullen an "Signifikanz" für eine Strategie ohne Edge. Und über 2.000 unabhängige Null-Suchen hinweg erklärt der naive Test in jeder einzelnen eine Entdeckung: eine Falschentdeckungsrate von 1,000. Nicht "aufgebläht". Nicht "etwas zu hoch". Ein Test, der konstruktionsbedingt bei einer einzelnen Nullhypothese höchstens in 5 % der Fälle recht hat, liegt beim Gewinner einer Suche in 100 % der Fälle falsch.
Der Mechanismus ist nicht subtil, sobald man ihn benennt. Der naive Test fragt: "Könnte dieser Sharpe unter der Nullhypothese durch Zufall entstehen?" — eine faire Frage für eine Strategie, die man vor der Betrachtung der Daten ausgewählt hat. Aber diese hier wurde ausgewählt, weil sie den höchsten Sharpe von tausend hatte. Man hat auf das Maximum konditioniert, und die Stichprobenverteilung eines Maximums ist nichts wie die Stichprobenverteilung einer einzelnen Ziehung. Das ist dieselbe Krankheit, die unsere Look-Ahead-Bias-Taxonomie vom anderen Ende her diagnostiziert hat — dort fabrizierte ein Ein-Balken-Leck einen Sharpe von 15 aus Rauschen; hier fabriziert eine Suche einen Sharpe von 1,63 aus Rauschen, völlig ohne Leck, rein durch Selektion. Anderer Mechanismus, identisches Symptom: ein großartig aussehender Sharpe, der nichts bedeutet.
Die Zahl 1,63 ist die wichtige, also merken Sie sie sich. Sie ist die Rausch-Obergrenze (Noise Ceiling) für diese Suche: der Sharpe, den man vom glücklichsten von 1.000 Null-Edge-Strategien erwarten sollte. Jeder ehrliche Test eines Suchgewinners muss ihn nicht gegen null vergleichen, sondern gegen dies — gegen das, was reines Glück liefert, wenn man tausendmal hinschaut.
Akt 2 — Das Werkzeugkasten: Drei Wege, die Suche zu bepreisen

Drei Forschungsprogramme, die unabhängig voneinander entstanden sind, kommen alle zur selben Lösung: Hört auf, den Gewinner mit null zu vergleichen, und vergleicht ihn stattdessen mit dem, was eine Suche dieser Größe durch Glück produziert. Sie unterscheiden sich darin, wie sie diesen Vergleich konstruieren.
PSR und der Deflated Sharpe Ratio (Bailey & López de Prado, 2012 / 2014)
Der Probabilistic Sharpe Ratio stellt eine schärfere Frage als "ist der Sharpe positiv?". Er fragt: Gegeben die Stichprobenlänge und die Form der Renditen (Skew, Fat Tails) — wie hoch ist die Wahrscheinlichkeit, dass der wahre Sharpe einen Benchmark übersteigt?
Dabei ist die Standardnormal-CDF, der Skew, und die Kurtosis in der Nicht-Exzess-Konvention (Normal ⇒ ; setzt man hier stattdessen die Exzess-Kurtosis ohne die 3 hinzuzufügen ein, kommt die Deflation falsch heraus). Setzt man , ist PSR schlicht ein Signifikanztest für endliche Stichproben. Die Magie liegt in der guten Wahl von .
Der Deflated Sharpe Ratio ist PSR, ausgewertet an einem Benchmark, der nicht null ist, sondern der erwartete maximale Sharpe der gesamten Suche:
wobei die Varianz über alle N Trial-Sharpes hinweg ist (die Streuung, die die Suche selbst produziert hat), die Euler-Mascheroni-Konstante, und die beiden inversen Normalterme sind die Extremwerttheorie-Approximation an den erwarteten Maximalwert von standardnormalverteilten Ziehungen. Im Code ist das fast zu kurz, um zu beeindrucken:
def expected_max_sharpe(sr_variance, N, mean_sr=0.0):
"""E[max of N independent SR estimates ~ N(mean_sr, sr_variance)]
(Bailey & LdP 2014)."""
g = EULER_MASCHERONI # 0.5772156649
a = norm.ppf(1.0 - 1.0 / N) # Z^{-1}(1 - 1/N)
b = norm.ppf(1.0 - 1.0 / (N * E)) # Z^{-1}(1 - 1/(N e))
return float(mean_sr + np.sqrt(sr_variance) * ((1.0 - g) * a + g * b))
Dann ist der DSR einfach PSR mit dieser deflatierten Messlatte:
def deflated_sharpe(sr_max, sr_estimates, T, skew=0.0, kurt=3.0, N=None):
"""DSR = PSR(sr_max, SR0). Returns (dsr, sr0)."""
v = float(np.asarray(sr_estimates).var(ddof=1)) # dispersion of the search
m = float(np.asarray(sr_estimates).mean())
if N is None:
N = len(sr_estimates)
sr0 = expected_max_sharpe(v, N, mean_sr=m)
return psr(sr_max, sr0, T, skew, kurt), sr0
Der DSR ist eine Wahrscheinlichkeit. Wir erklären eine Entdeckung, wenn : Der wahre Sharpe des Gewinners übertrifft das erwartete Beste-durch-Glück mit 95 % Konfidenz. Beachten Sie die tragende Annahme, die in eingebacken ist: Die Trials werden als unabhängig behandelt. Akt 5 dreht sich vollständig um das, was passiert, wenn sie es nicht sind.
Der Harvey-Liu-Haircut (2015)
Harvey und Liu greifen dasselbe Problem über Multiple-Testing-p-Wert-Anpassungen an — die klassische Maschinerie für "ich habe M Tests gefahren, lasst mich mich nicht selbst täuschen". Ordnen Sie die Single-Test-p-Werte und blähen Sie sie auf:
Bonferroni ist das stumpfe Instrument (kontrolliert die Wahrscheinlichkeit irgendeines falsch-positiven Ergebnisses, indem jeder p-Wert mit multipliziert wird); Holm ist sein gleichmäßig trennschärferer Step-down-Verwandter. Der dritte, Benjamini-Yekutieli (BHY), kontrolliert die False-Discovery-Rate — den erwarteten Anteil falscher Zurückweisungen unter den zurückgewiesenen Hypothesen — und tut dies entscheidend unter beliebiger Abhängigkeit zwischen den Tests, mithilfe des harmonischen Normierers im Zähler:
Dieses ist der Preis, den BHY dafür verlangt, nicht anzunehmen, dass die 1.000 Trials unabhängig sind — es bläht die FDR-Schwelle um einen Faktor auf, der wie wächst. Der "Haircut" selbst ist die Pointe der Metrik: Konvertieren Sie den angepassten p-Wert zurück in einen Sharpe und berichten Sie, wie viel vom ursprünglichen Sharpe abgeschnitten werden musste. Ein Haircut von 100 % bedeutet, dass der Gewinner vollständig durch Multiple Testing erklärt wird; 15 % bedeutet, dass er größtenteils überlebt.
White's Reality Check und Hansens SPA (2000 / 2005)
Das dritte Werkzeug macht überhaupt keine Verteilungsannahme. White's Reality Check nimmt die tatsächlichen Renditen jeder Regel, bildet die Max-über-Regeln-Statistik und bootstrapt deren Nullverteilung direkt:
wobei die mittlere Performance von Regel gegenüber der Benchmark ist. Es resampelt die Renditen mit dem stationären Bootstrap (Politis-Romano — zufällig lange Blöcke, damit die serielle Korrelation das Resampling übersteht), rezentriert jede Ziehung so, dass sie die Nullhypothese konstruktionsbedingt erfüllt, berechnet das Maximum bei jeder Ziehung neu und meldet den p-Wert als den Anteil der Bootstrap-Maxima, die das beobachtete Maximum übertreffen. Hansens SPA schärft RC auf zwei Arten: Studentisierung (der Mittelwert jeder Regel wird durch ihren eigenen Standardfehler geteilt, sodass eine einzelne, hochvariable Regel das Maximum nicht kapern kann) und eine konsistente, stichprobenabhängige Rezentrierung der Nullhypothese. Unsere Implementierung fügt die Studentisierung hinzu, aber nicht den vollständigen konsistenten Rezentrierungsschritt — wo dieser Artikel also einen SPA-artigen p-Wert berichtet, lesen Sie ihn als studentisierten Reality Check, nicht als das vollständige Hansen-SPA. Wo DSR fragt "ist der Gewinner besonders innerhalb dieser Suche?", fragt Reality Check "schlägt die beste Regel Cash, nachdem ehrlich berücksichtigt wurde, wie viele Regeln ich ausprobiert habe?" — und es handhabt korrelierte Regeln nativ, durch den Bootstrap, ohne jemals Trials zu zählen. Behalten Sie diese Unterscheidung im Kopf; der letzte Abschnitt dreht sich darum.
Akt 3 — Kalibrierung ist der ganze Beweis

Eine Methode, die nichts meldet, hätte ebenfalls eine Falschentdeckungsrate von null — und wäre nutzlos. Der einzig sinnvolle Test dieser Werkzeuge ist also ein zweiseitiger: Auf Known-Null-Daten müssen sie Falschentdeckungen bei oder unter kontrollieren, und auf Known-Edge-Daten (nächster Abschnitt) müssen sie trotzdem anschlagen. Dieser Abschnitt ist die erste Hälfte.
Führen Sie 2.000 unabhängige Suchen durch, jede über 1.000 Null-Edge-Strategien, und zählen Sie, wie oft jede Methode eine Entdeckung erklärt. Diese Zahl, geteilt durch 2.000, ist die Falschentdeckungsrate — und weil die Wahrheit kein Edge lautet, ist jede Entdeckung falsch:
| Test | Falschentdeckungsrate (α = 0,05) |
|---|---|
| Naive Signifikanz | 1,000 |
| Deflated Sharpe Ratio | 0,001 |
| Harvey-Liu — Bonferroni | 0,057 |
| Harvey-Liu — Holm | 0,057 |
| Harvey-Liu — BHY | 0,007 |
| White's Reality Check | 0,022 |
Jede prinzipielle Methode landet bei oder nahe der 5-%-Linie — die beiden FWER-Haircuts einen Hauch darüber, DSR/BHY/RC darunter — während der naive Test bei 100 sitzt. (Bonferroni und Holm drucken hier zufällig — und nicht durch Zufall — dieselbe 0,057: Für die einzelne beste Strategie ist Holms erster Schritt , identisch mit Bonferroni konstruktionsbedingt, sodass dies eine Bestätigung ist, nicht zwei.) Aber die tiefste Zahl der gesamten Studie steht nicht in dieser Tabelle — es ist die deflatierte Benchmark, die die DSR-Spalte erzeugt. Gemittelt über die Null-Suchen kommt auf ein Pro-Beobachtungs-0,1030, was annualisiert 1,63 ergibt (hergeleitet: ) — dieselbe 1,63, die der durchschnittliche Rauschgewinner erzielt (1,63). Das ist kein Zufall; es ist die ganze Idee bei der Arbeit:
Die deflatierte Messlatte sitzt exakt auf der Rausch-Obergrenze. DSR verlangt nicht, dass ein Suchgewinner null übertrifft. Er verlangt, dass der Gewinner den besten Score, den reines Glück aus einer Suche dieser Größe erzeugt, übertrifft — hier annualisiert 1,63. Ein Gewinner, der die Rausch-Obergrenze nur erreicht, erzielt DSR ≈ 0,5 (ein Münzwurf), weshalb der durchschnittliche Null-DSR 0,495 ist, nicht etwas Kleines. Um eine Entdeckung zu sein, muss der Gewinner 1,63 übertreffen und noch mehr — genug, um PSR über 0,95 zu schieben.
Das rahmt die ganze Übung neu. Der naive Test misst die Distanz zu null; jede Suche überspringt diese Messlatte trivial, weshalb er nutzlos ist. DSR misst die Distanz zur Rausch-Obergrenze, und diese Messlatte zu überspringen ist genuin schwer — wie es sein sollte. Der Harvey-Liu-Haircut und der Reality Check erreichen dieselbe Kontrolle auf unterschiedlichen Wegen (eine -Aufblähung für BHY, eine Bootstrap-Maximalverteilung für RC) und landen in derselben Nachbarschaft: 0,001 bis 0,057, bei oder nahe . Die Bonferroni/Holm-0,057 liegt ein Haar über der 5-%-Linie, aber nur knapp: Bei 2.000 Monte-Carlo-Suchen liegt der Standardfehler auf eine FDR-Schätzung nahe 0,05 bei etwa 0,005, sodass 0,057 grob 1,4 Standardfehler über sitzt — Monte-Carlo-Rauschen, keine gebrochene Garantie. "Kontrolliert FWER" ist ohnehin ein asymptotisches Versprechen, kein bit-exaktes bei .
Akt 4 — Power: Behält es die echten Edges?

Falschentdeckungen zu kontrollieren ist nur die halbe Miete eines Tests — eine paranoide Methode, die alles zurückweist, erzielt eine perfekte 0,000 und ist wertlos. Die andere Hälfte: Wenn ein echter Edge da ist, findet DSR ihn?
Pflanzen Sie einen ein. In einem Feld von 1.000 Strategien lassen Sie 25 davon einen echten Edge bekannter Stärke tragen und die übrigen als Rauschen, führen dann die Suche durch und fragen, ob DSR den Gewinner meldet. Sweepen Sie den eingepflanzten Edge von schwach zu stark, und die Erkennungspower zeichnet eine saubere S-Kurve (Falsch-Positiv-Rate durchgehend bei ~0):
| Eingepflanzter wahrer Sharpe (annualisiert) | DSR-Erkennungspower | DSR-Falsch-Positiv-Rate |
|---|---|---|
| 0,79 | 0,005 | 0,000 |
| 1,27 | 0,090 | 0,000 |
| 1,90 | 0,651 | 0,000 |
| 2,54 | 0,998 | 0,000 |
| 3,17 | 1,000 | 0,000 |
Schauen Sie sich an, wo die Kurve sich dreht. Unterhalb der Rausch-Obergrenze — ein wahrer annualisierter Sharpe von 0,79, deutlich unter 1,63 — schlägt DSR in 0,5 % der Fälle an und lehnt es korrekt ab, ihn zu melden: Ein so schwacher Edge ist genuin nicht vom Glück zu unterscheiden, das eine Suche mit 1.000 Trials erzeugt, und das Gegenteil zu behaupten wäre unehrlich, nicht mächtig. Rund um die Obergrenze steigt die Kurve steil an (0,09 bei 1,27, 0,65 bei 1,90). Bei einem annualisierten Sharpe von 2,54 liegt die Power bei 0,998; bei 3,17 bei perfekten 1,000. Starke Edges werden praktisch immer beibehalten, Falsch-Positive bleiben bei null verankert, und der 50-%-Power-Übergang liegt bei einem annualisierten Sharpe von etwa 1,73 (hergeleitet durch Interpolation zwischen den Zeilen 1,27 und 1,90) — knapp über der Rausch-Obergrenze von 1,63, genau dort, wo eine ehrliche Messlatte sie hinsetzen sollte: der Punkt, an dem ein Edge beginnt, das zu übertreffen, was eine Suche mit 1.000 Trials erfindet.
Das ist die Eigenschaft, die man tatsächlich will, ausgedrückt als S-Kurve: Edges unterhalb der Rausch-Obergrenze werden korrekt als Glück ausgeschlossen; Edges deutlich darüber werden mit einer Power nahe eins beibehalten. Der naive Test hingegen "erkennt" den eingepflanzten Edge in 67 % der Fälle selbst bei einem wahren Sharpe von 0,79 — aber diese Zahl ist bedeutungslos, weil wir bereits gesehen haben, dass er einen nicht existenten Edge in 100 % der Fälle erkennt. Ein Test, der bei allem anschlägt, hat keine Power; er hat keine Trennschärfe. DSR tauscht ein wenig Sensitivität bei marginalen Edges (die Zeilen 0,79 und 1,27) gegen das, was zählt: Seine Entdeckungen sind real.
Akt 5 — Die Praktikerfalle: korrelierte Grids

Alles bisher verwendete unabhängige Strategien — das sauberste mögliche Setting, und dasjenige, in dem die Unabhängigkeitsannahme von DSR exakt gilt. Echte Parameter-Grids sind nicht so, und hier wird ein naiv eingesetztes Werkzeug zu einer neuen Art, falsch zu liegen.
Nehmen Sie eine ehrliche Moving-Average-Crossover-Suche: 16 schnelle Längen 40 langsame Längen Trials, jeweils 755 Beobachtungen. Ein solches Grid ist durchtränkt mit Korrelation — fast=45/slow=120 und fast=45/slow=125 sind fast dieselbe Strategie, ihre Renditeströme bewegen sich also zusammen. Gemessene durchschnittliche paarweise Korrelation über die 640 Trials: etwa 0,61. Das sind nicht 640 unabhängige Wetten. Bei weitem nicht.
Fall A — Random Walk (kein Edge): jede Methode killt es, korrekt
Führen Sie das Grid auf einem reinen Random Walk aus. Der Gewinner sieht verlockend aus: Parameter fast=45/slow=120, bester annualisierter Sharpe 0,81, Single-Test-p-Wert 0,081. Jede Methode durchschaut das:
| Methode | Ergebnis | Urteil |
|---|---|---|
| DSR (roh K = 640) | 0,431 | Ablehnung (< 0,95) |
| Reality-Check-p | 0,570 | Ablehnung |
| SPA-artiger p (studentisierter RC) | 0,569 | Ablehnung |
| Harvey-Liu-Haircut | 100 % | Ablehnung |
Beginnen Sie mit dem Tell, der überhaupt keine Deflation braucht: Selbst die unangepasste Signifikanz endlicher Stichprobe dieses Gewinners, -gegen-null, beträgt nur 0,918 — bereits unter 0,95, bevor wir auch nur für einen einzigen der 640 Trials korrigieren. Die Deflation begräbt es dann vollends: Die Messlatte ist ein Pro-Beobachtungs-, ein annualisiertes ~0,91 (hergeleitet: ) — über dem Wert 0,81 des Gewinners. Die beste Strategie erreicht nicht einmal die Rausch-Obergrenze, DSR ≈ 0,43 (schlechter als ein Münzwurf), und Reality Check, der SPA-artige Test und ein 100-%-Haircut stimmen alle überein: nichts hier. Perfekt. Das ist der einfache Fall, und er funktioniert — und, wie wir sehen werden, er bleibt bei jeder Anzahl effektiver Trials, die wir ausprobieren, zurückgewiesen.
Fall B — ein echter Regime-Edge: der rohe DSR liegt falsch
Führen Sie nun dasselbe Grid auf einer Regime-wechselnden Serie aus, die einen echten, ausnutzbaren Edge trägt. Der Gewinner ist eindeutig: Parameter fast=3/slow=55, bester annualisierter Sharpe 3,92 — das ist der In-Sample-, selektierte Sharpe, selbst durch die Suche selektionsaufgebläht (kein wahrer oder Out-of-Sample-Edge), aber der zugrunde liegende Regime-Effekt ist genuin — mit einem Single-Test-p-Wert von und einer unangepassten Signifikanz -gegen-null von praktisch 1,000. Hier gibt es einen echten Edge, und der Gewinner hat ihn gefunden. Beobachten Sie, wie der rohe DSR ihn trotzdem zurückweist:
| Methode | Ergebnis | Urteil |
|---|---|---|
| DSR (roh K = 640) | 0,748 | Ablehnung (< 0,95) ✗ über-deflatiert |
| Reality-Check-p | 0,0024 | Bestätigung ✓ |
| SPA-artiger p (studentisierter RC) | 0,0038 | Bestätigung ✓ |
| Harvey-Liu-Haircut | 15 % | Bestätigung ✓ |
Der rohe DSR von 0,748 ist eine falsche Zurückweisung eines echten Edges. Der Grund ist die Unabhängigkeitsannahme, die hier heftig verletzt wird: DSR hat seine deflatierte Messlatte gebaut, indem es 640 korrelierte Trials als 640 unabhängige Ziehungen behandelt hat, was das erwartete Maximum auf ein Pro-Beobachtungs-0,221 aufbläht — annualisiert ~3,51 (hergeleitet: ). Gegen eine Messlatte von 3,51 überspringt ein Gewinner von 3,92 sie nur bescheiden, und DSR landet bei 0,748 — unter 0,95. Zwei Dinge pumpen diese Messlatte hoch: die rohe Zählung (640 Blicke statt einer Handvoll effektiver), und echte Skill-Streuung unter den Trials — manche Parameterpaare sind auf einer Regime-Serie tatsächlich besser, was verbreitert und über das hinaus hebt, was reines Glück allein liefern würde. Beide ziehen in dieselbe Richtung, und die Messlatte landet zu hoch, weil die Suche nie wirklich 640 unabhängige Blicke war; es waren ein paar unabhängige Wetten, 640-fach abgetastet.
Füttern Sie DSR stattdessen mit der effektiven Anzahl von Trials. Der oben verwendete Einzeiler ist eine grobe Schätzung aus der durchschnittlichen paarweisen Korrelation:
def effective_n_trials(returns_matrix):
"""N_eff = N / (1 + (N-1) * rho_bar), clipped to [1, N].
Correlated trials -> fewer independent bets."""
C = np.corrcoef(returns_matrix, rowvar=False)
rho_bar = max(np.nanmean(C[np.triu_indices(C.shape[0], k=1)]), 0.0)
N = returns_matrix.shape[1]
neff = N / (1.0 + (N - 1) * rho_bar)
return float(min(max(neff, 1.0), N))
Mit und kollabiert dies das Grid auf eine effektive Trials (hergeleitet: ), und der DSR springt auf 1,000. Aber halten Sie inne, bevor Sie diese Zahl feiern, denn sie ist der schwächste Beweis in diesem ganzen Abschnitt. Bei kollabiert die deflatierte Messlatte auf ein annualisiertes — im Wesentlichen der Trial-Mittelwert, im Wesentlichen null. Die Deflation ist dort abgeschaltet: DSR bei berichtet lediglich erneut die unangepasste Signifikanz endlicher Stichprobe des Gewinners (-gegen-null ). Das Urteil ist von der rohen Signifikanz geerbt, nicht von der Multiple-Testing-Korrektur produziert. Und der spiegelbildliche Vorbehalt auf der Random-Walk-Seite: Ihre Zurückweisung bei gilt nur, weil dieser Gewinner von Anfang an unabhängig marginal war (-gegen-null ). Verankert man das ganze Argument auf 1,6, hat ein Skeptiker recht damit, mit den Schultern zu zucken: Man hat die Korrektur abgeschaltet und berichtet, was auch immer darunterliegt.
Also nicht auf einem Schätzer verankern. Der ehrliche Zug — und der stärkere — ist, auf fünf verschiedene Standardwegen zu berechnen und das Urteil über das ganze Band zu lesen. Hier sind fünf Schätzer, angewendet auf dasselbe 640-Trial-Signal-Grid, jeweils mit der implizierten deflatierten Messlatte und dem daraus resultierenden DSR:
| Effektiver-Trial-Schätzer | Deflatierte Messlatte (annual) | DSR | Urteil | |
|---|---|---|---|---|
| Durchschnittskorrelation | 1,6 | 0,25 | 1,000 | beibehalten |
| Participation Ratio | 2,4 | 0,43 | 1,000 | beibehalten |
| PCA (95 % der Varianz) | 16 | 1,85 | 1,000 | beibehalten |
| Kaiser (Eigenwerte > 1) | 21 | 2,00 | 0,999 | beibehalten |
| Cheverud-Nyholt | 370 | 3,31 | 0,845 | Ablehnung |
| rohe Grid-Zählung (keine Anpassung) | 640 | 3,51 | 0,748 | Ablehnung |
Schätzer: Durchschnittskorrelation ist der oben genannte -Einzeiler; Participation Ratio und die PCA-95-%-/Kaiser-Zählungen lesen die effektive Dimensionalität aus den Eigenwerten der Korrelationsmatrix ab; Cheverud-Nyholt ist ein Varianz-der-Eigenwerte-Schätzer aus der Genetikliteratur, der bekanntermaßen bei Nahezu-Äquikorrelation überzählt.
Nun kommt der Punkt zur Geltung, und er lautet nicht "jede Anpassung rettet Sie". Betrachten Sie die vertretbare Mitte — PCA-95 % () und Kaiser (). Das ist nicht das Regime, in dem die Deflation abgeschaltet ist; sie legen eine echte annualisierte -Messlatte von 1,85 bis 2,00 auf — ein ernsthafter Haircut, deutlich über dem Rauschen, eine echte Multiple-Testing-Strafe für 16-21 effektive Blicke. Und der 3,92-Edge übersteht sie immer noch (DSR 1,000 und 0,999). Das Signal überlebt DSR für jedes unter 144,8 (hergeleitet aus dem Kreuzungspunkt); es scheitert nur unter Cheverud-Nyholts , einem Schätzer, der nachweislich überzählt, wenn Trials nahezu äquikorreliert sind — und selbst die rohe, unangepasste Zählung von 640 drückt DSR nur auf 0,748, nicht auf null. Der Random-Walk-Gewinner, durch dieselben fünf Schätzer laufen gelassen, wird bei jedem einzelnen zurückgewiesen (er überlebt für kein über 1). Das ist das eigentliche Ergebnis: nicht eine einzige Glückszahl, sondern ein Urteil, das über das gesamte Band der Standard-Schätzer für effektive Trials stabil ist — was ein weit stärkerer Beweis ist, als einem einzigen davon zu vertrauen.
Ein technischer Vorbehalt zum gröbsten Schätzer, weil er erklärt, warum er am weichen Ende sitzt: ist eigentlich der Varianzreduktionsfaktor für den Mittelwert korrelierter Variablen (wie viel Mittelung unter Korrelation bringt). Die Benchmark von DSR ist eine Extremwert-Größe — das erwartete Maximum der Trials — daher ist die Verwendung einer Mittelwert-Varianz-Schrumpfung als Trial-Zählung ein funktionaler Mismatch: richtig in der Richtung (korreliert ⇒ weniger effektive Trials), aber nicht die Größe, von der die Verteilung des Maximums tatsächlich abhängt. Genau deshalb sind die eigenwertbasierten Schätzer in der Mitte des Bands die vertrauenswürdigere Lesart, und deshalb ist das Band, nicht der Punkt, das eigentliche Ergebnis.
Die Lehre: beide Werkzeuge nutzen, und DSR mit dem richtigen N füttern

Aus Fall B ergeben sich zwei Dinge, und beide sind tragend:
- Die rohe Grid-Größe ist das falsche N für DSR, sobald Trials korreliert sind — und kein einzelnes effektives N ist das richtige. 640 in eine Formel einzusetzen, die Unabhängigkeit annimmt, über-deflatiert: Es fabriziert eine Rausch-Obergrenze, die weit höher ist, als die Suche tatsächlich erreicht hat, und begräbt echte Edges darunter. DSR braucht die effektive Trial-Zählung — aber die Lösung besteht nicht darin, einem Schätzer zu vertrauen (am wenigsten dem gröbsten, bei dem die Korrektur nahe abschaltet). Sie besteht darin, das Urteil über das gesamte Band von Standard-Schätzern (hier 1,6 bis 370) zu lesen und zu prüfen, ob es stabil ist. Für diesen Edge war es das: beibehalten überall dort, wo die Deflation genuin aktiv ist (eine echte 1,85-2,00-Jahresmesslatte bei -), und nur unter einem überzählenden Schätzer gescheitert. Ein über das ganze Band stabiles Urteil ist weit stärker als jede einzelne Zahl.
- DSR mit einem Reality Check paaren. Beachten Sie, dass der Reality Check und sein SPA-artiger (studentisierter) Verwandter Fall B ganz ohne Trial-Zahl-Chirurgie richtig eingeschätzt haben (p = 0,0024 und 0,0038) — sie handhaben Abhängigkeit nativ, durch den stationären Bootstrap, weil sie die tatsächlichen korrelierten Renditeströme resampeln, statt hypothetische unabhängige Wetten zu zählen. Das ist der Tiebreaker für das gesamte Effektiv-N-Durcheinander: RC braucht kein . DSR und RC beantworten unterschiedliche Fragen: DSR fragt "ist der Gewinner besonders innerhalb dieser Suche?" (und muss wissen, wie viele effektive Blicke die Suche unternommen hat); RC/SPA-artig fragt "schlägt die beste Regel Cash, nach Data-Snooping?" (und liest die Abhängigkeit direkt aus den Daten ab). Man will beide. Wenn sie sich uneinig sind — wie es hier der roh gezählte DSR und RC waren — ist die Uneinigkeit diagnostisch: Sie bedeutet meist, dass Ihr falsch ist.
Das ist dieselbe strukturelle Warnung, auf die auch unsere Studien zur Speed-Ladder und zur IPC-Steuer von der technischen Seite gestoßen sind — eine schnelle Suche, die ein riesiges korreliertes Grid durchläuft, kauft einem nicht eine riesige Anzahl unabhängiger Wetten, und Grid-Größe als Trial-Zählung zu behandeln täuscht sowohl den Optimierer als auch den Signifikanztest. Der kommende Begleitartikel zur Probability of Backtest Overfitting greift denselben Selektionsbias von der Resampling-Seite an (CSCV) und passt natürlich zu allem hier: DSR bepreist den Gewinner, PBO bepreist die Prozedur.
Ehrlichkeitshinweise
Drei Vorbehalte, klar formuliert, weil der ganze Sinn einer kontrollierten Studie darin liegt, sie nicht zu überverkaufen.
- Die Renditen sind synthetisch. iid-Normal für die Kalibrierungs- und Power-Experimente, ein Regime-wechselnder Prozess für den echten-Edge-Fall — gewählt für kontrollierte Ground Truth, nicht für Marktrealismus. Echte Renditen sind fat-tailed, autokorreliert und nicht-stationär, und die Skew-/Kurtosis-Terme von PSR existieren genau, um Ersteres zu handhaben. Das Ergebnis hier ist die kalibrierte Methode, keine Strategie: Wir können nur beweisen, dass ein Test Falschentdeckungen kontrolliert, indem wir ihn auf Daten laufen lassen, bei denen wir wissen, dass es nichts zu entdecken gibt. Das erfordert die Herstellung der Ground Truth.
- Kein Schätzer für effektives N ist kanonisch — weshalb wir fünf berichtet haben. Der Durchschnittskorrelations-Einzeiler ist für Gutachter gut nachvollziehbar und richtungsmäßig korrekt (mehr Korrelation ⇒ weniger effektive Trials), aber er ist der Varianzreduktionsfaktor für einen Mittelwert — ein funktionaler Mismatch mit der Maximum-Benchmark von DSR — und nahe schaltet er die Deflation vollständig ab. Die Eigenwert-Schätzer (Participation Ratio, PCA-95 %, Kaiser) sind besser passend, aber immer noch heuristisch, und Cheverud-Nyholt überzählt bei Äquikorrelation. Der vollständigere, prinzipiengeleitete Ansatz ist Trial-Clustering (Bailey & López de Prados DSR-Anhang 3): Trials nach Korrelationsstruktur gruppieren und Cluster zählen, statt alles auf einen Skalar zu kollabieren. Wir berichten das gesamte Band genau deshalb, weil die Wahl nicht entschieden ist — ein über alle fünf Schätzer stabiles Urteil ist die ehrliche Behauptung; eines, das von der Wahl eines einzelnen Schätzers abhinge, wäre es nicht.
- Der Bootstrap ist ein studentisierter Reality Check, nicht das vollständige Hansen-SPA, und die Resample-Zahlen unterscheiden sich je nach Experiment. Wo dieser Artikel "SPA-artig" sagt, meint er White's Reality Check mit Pro-Regel-Studentisierung; Hansens vollständige, konsistente, stichprobenabhängige Rezentrierung ist nicht implementiert. Die Kalibrierungs-Falschentdeckungsraten verwenden 500 stationäre Bootstrap-Resamples pro Suche über 400 Suchen; die beiden Fallstudien-RC/SPA-artigen p-Werte verwenden je 5.000 Resamples. Durchschnittliche Blocklänge 20 durchgehend (Politis-Romano), , 252 Perioden/Jahr für die Annualisierung. Ändert man diese, bewegen sich die Zahlen in der dritten Nachkommastelle; die Geschichte — naiv 1,000 gegenüber prinzipiell 0,001-0,057, eine S-Kurve, die knapp über der Rausch-Obergrenze 50 % Power erreicht, und eine Korrelierte-Grid-Falle, deren Urteil über das effektive-N-Band gelesen werden muss — ändert sich nicht.
Fazit
- Eine Parametersuche ist eine Multiple-Testing-Maschine, und der naive Signifikanztest ist dafür blind. Bei 1.000 Null-Edge-Strategien liegt der beste annualisierte Sharpe im Schnitt bei 1,63 mit einem medianen Single-Test-p-Wert von 0,000686 — und der "ist es signifikant?"-Test erklärt in 100 % der Fälle eine Entdeckung (Falschentdeckungsrate 1,000). Ein großartiger Sharpe aus dem Nichts, für signifikant zertifiziert von einem Test, der nie die richtige Frage gestellt hat.
- Der Deflated Sharpe Ratio verschiebt das Torpfosten von null zur Rausch-Obergrenze. DSR vergleicht den Gewinner nicht mit null, sondern mit , dem erwarteten Besten-durch-Glück einer Suche dieser Größe — was im Nullfall bei annualisiert 1,63 landet, genau dort, wo der durchschnittliche Rauschgewinner sitzt (hergeleitet: ). Seine Null-Falschentdeckungsrate ist 0,001; der Harvey-Liu-Haircut (Bonferroni/Holm 0,057, BHY 0,007) und White's Reality Check (0,022) erreichen dieselbe Kontrolle auf anderen Wegen.
- Er behält die echten Edges. Die Erkennungspower von DSR zeichnet eine S-Kurve, die bei einem annualisierten Sharpe von ~1,73 50 % Power erreicht — knapp über der Rausch-Obergrenze von 1,63: 0,005 bei einem wahren annualisierten Sharpe von 0,79, 0,651 bei 1,90, 0,998 bei 2,54, 1,000 bei 3,17, Falsch-Positive durchgehend ~0. Edges unterhalb der Obergrenze werden korrekt als nicht von Glück unterscheidbar ausgeschlossen; Edges darüber werden mit einer Power nahe eins beibehalten.
- Korrelierte Grids brechen den rohen DSR — und kein einzelnes effektives N rettet ihn; das Band tut es. Bei einem 640-Zellen-MA-Crossover (durchschnittliche paarweise Korrelation ~0,61) hat der roh gezählte DSR einen echten (in-sample selektierten, annual 3,92) Edge fälschlich zurückgewiesen (0,748 < 0,95), weil 640 korrelierte Trials nicht 640 unabhängige Wetten sind. Aber die Lösung ist nicht ein magisches — bei der gröbsten Schätzung () ist die Deflation im Wesentlichen abgeschaltet (Messlatte ~annual 0,25), und DSR echot lediglich die rohe Signifikanz. Der eigentliche Beweis ist, dass der Edge über das gesamte Band der Standard-Schätzer beibehalten wird — DSR 1,000/1,000/1,000/0,999 bei 1,6/2,4/16/21, einschließlich einer echten Jahresmesslatte von 1,85-2,00 im vertretbaren PCA-95-%-/Kaiser-Mittelbereich — überlebt für jedes , und scheitert nur unter Cheverud-Nyholts überzählendem 370. Der Random Walk wird bei jedem Schätzer zurückgewiesen. Lesen Sie das Band, nicht einen Punkt.
- DSR mit einem Reality Check paaren, weil sie unterschiedliche Fragen beantworten. Der Reality Check und sein SPA-artiger (studentisierter) Verwandter bestätigten den echten Edge (p = 0,0024 und 0,0038) ohne Trial-Zahl-Chirurgie — sie handhaben Abhängigkeit nativ durch den stationären Bootstrap, was genau der Tiebreaker ist, wenn das effektive N umstritten ist. DSR fragt "ist der Gewinner besonders innerhalb dieser Suche?"; RC/SPA-artig fragt "schlägt der Beste Cash, nach Data-Snooping?" Eine Uneinigkeit zwischen ihnen ist ein Signal, dass Ihr falsch ist. Führen Sie beide durch.
Der Gewinner einer Suche ist schuldig, bis seine Unschuld bewiesen ist. Der naive p-Wert ist kein Unschuldsbeweis — er ist das eigene aufgeblähte Zeugnis der Suche, und er wird für reines Rauschen mit zwölf Nullen an Konfidenz bürgen. Deflatieren Sie die Benchmark auf das, was Glück liefert, zählen Sie Ihre effektiven Trials ehrlich, und bootstrappen Sie das Maximum für eine zweite Meinung. Was alle drei Messlatten überspringt, könnte tatsächlich real sein. Was nur die naive überspringt, ist der Größte von tausend Münzwürfen.
Das vollständige Experiment — das Null-Kalibrierungs-Framework, der Power-Sweep mit eingepflanztem Edge, die korrelierten Grid-Suchen, und jede Zahl in diesem Artikel aus einem einzigen deterministischen Skript regenerierbar — findet sich im Begleitpaper unter deflated-sharpe.marketmaker.cc, mit Code und Daten unter github.com/suenot/deflated-sharpe-search.
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.