Versuchsdossier · alle Versuche im Kandidatenvergleich
DAX Streak-/Runs-Reversal-Switch (Rabin/Vayanos 2010)
Robustheits-Score 30.2/100 · AnekdoteWer zahlt und warum?
Für diesen Bau ist keine Mechanik vor dem Test registriert. Er stammt aus der Zeit vor dem Hypothesenregister (03.09.2026) oder kam ohne Vorhersage aus.
Prüfliste nach Arnott, Harvey und Markowitz
Sieben Fragen aus „A Backtesting Protocol in the Era of Machine Learning“ (2019). Die Einstufung folgt festen Regeln aus den Feldern dieses Bauergebnisses.
| Punkt | Einstufung | Beleg |
|---|---|---|
| MotivationGab es vor dem Test eine ökonomische Begründung? | Nein | Bau ohne registrierte Vorhersage. |
| MehrfachtestsSind alle Versuche gezählt und wird dafür korrigiert? | Teilweise | 3 Varianten vor dem Lauf im Trial Ledger registriert (trl_d43fb3382ef9). Das geltende Urteil korrigiert nicht für die Zahl der Versuche. |
| Daten und KostenSind Datenfenster, Datenstand und Kosten festgehalten? | Ja | Fenster 2026-03-17 bis 2026-07-22, Datenstand 2026-08-11, Slippage 0,5 Pkt je Seite; Engine-Fingerabdruck im Manifest. |
| Prüfung außerhalb der StichprobeWurde auf Daten geprüft, die beim Bau nicht bekannt waren? | Nein | Nur in-sample. Das Ergebnis dieses Baus ist kein Nachweis. |
| Stabilität über die ZeitHängt das Ergebnis an einem einzelnen Zeitraum? | Ja | Kein einzelner Monat trägt das Ergebnis (5 Monate); Aufteilung nach Marktphasen vorhanden. |
| KomplexitätIst die Regel sparsam genug für die Datenmenge? | Ja | 3 echte Varianten, 2 variierte Parameter (enable_fade, enable_follow). Regel: höchstens 2 variierte Parameter und 3 Varianten. |
| ForschungskulturWird auch das Scheitern veröffentlicht? | Ja | Jeder Bau erscheint unabhängig vom Ergebnis, dieses Dossier eingeschlossen; die Placebo-Kontrolle steht im Dossier. |
Hypothese & Vorregistrierung
Rationale: Mechanisch NEUE Konditionierungsachse: nicht Bewegungsgroesse (die bestehende Magnitude-Fade-Familie: open_overreaction_fade, extreme_move_reversal, push_response_switch), sondern die LAENGE der laufenden Serie gleichgerichteter Preis-Bloecke (Runs-Count) triggert. Rabin/Vayanos 2010 (Tier 1, peer-reviewed) leiten aus EINEM bayesianischen Fehlmodell eine nicht-monotone Vorhersage ab: kurze Serie -> Fade (Gambler's Fallacy), lange Serie -> Follow (Hot-Hand). Der Runs-Count ist im gesamten Katalog UNGEBAUT. E-13-Lernsignal-Begruendung fuer die schwache Familie Mean Reversion (13.6%, 3/22): (a) component_kind 'strategy' ist die EINZIGE Kategorie mit Trefferquote > 0 (13.8%), alle Bausteinarten stehen bei 0/18 — eine eigenstaendige Strategie ist die richtige Bauform; (b) der Fund liefert die eingebaute, testbare Zustandsbedingung (Serienlaenge als Schalter), die das Log als den distinkten Mehrwert markiert, nicht bloss ein weiteres bedingungsloses Fade-Postulat. Challenger gegen Incumbent dax_open_overreaction_fade / dax_extreme_move_reversal.
Abweichungen von der Quelle: Markt/Frequenz: DAX-Index-1m statt theoretisches Modell / Tages-Wochen-Serien-Empirie; die 'Serie' wird auf Block-Ebene (block_bars x 1m, Def. 5) definiert, um die vom Log benannte Sub-Minuten-/Bid-Ask-Aufloesung zu vermeiden. Cutoffs (fade_lo=3, follow_hi=8) sind verhaltens-plausibel gesetzt, NICHT aus der Quelle ableitbar (Overfit-Vorbehalt, vorregistriertes kleines Grid). Entry/Exit (TP/SL/Time-Exit, block_sd-kalibriert) sind plausible Umsetzung, kein Quellen-PnL-Claim. Session-interne Verankerung per Datum (kein Overnight-Gap in Serie/Vola), kein Uhrzeit-Gate im Code.
Quelle: https://academic.oup.com/restud/article-abstract/77/2/730/1522504
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- fade_lo_streak: 2 / 3 / 4
- follow_hi_streak: 6 / 8 / 10
- block_bars: 3 / 5
Die Serienlaenge-Cutoffs sind der Kern der nicht-monotonen Kennlinie und von der Quelle NICHT numerisch vorgegeben — daher ein kleines, symmetrisches, verhaltens-plausibles Grid: kurze Serie 2-4 Bloecke (Gambler's-Fallacy-Zone), Umschlag auf Follow bei 6-10 (Hot-Hand-Zone), zwei Block-Granularitaeten (3/5 x 1m) gegen die Sub-Minuten-Rausch-Sensitivitaet. 3x3x2 = 18 Kombinationen (<= 24), alle Werte innerhalb der MANIFEST-min/max, keine Risk-/Exit-Parameter gemint.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (Quellen-Default: beide Arme) | 344 | 59,3% | 0,95 | -214 | 1.132 | 1,03 |
| Nur Fade-Arm (kurze Serie, Gambler's Fallacy)enable_follow=false | 344 | 58,7% | 0,92 | -355 | 1.206 | — |
| Nur Follow-Arm (lange Serie, Hot-Hand)enable_fade=false | 27 | 55,6% | 0,97 | -9 | 143 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.51 – 1.84
24 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.5 – 1.92
Top-3-Trades am Gewinn
35%
PF bei +1.0 Pkt Slippage
0.83
Statistik-Härtung: Ertrag je Trade -0.34 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 15.9 Pkt (Tagescluster berücksichtigt) — UNTERPOWERT: die Stichprobe ist zu klein, um diesen Wert von null zu trennen.
🎲 Placebo-Kontrolle (zeit-gejitterte Zufalls-Entries, gleiche Trade-Geometrie)
Kandidat -9.2 Pkt vs. Placebo-Median 301.4 / p95 581.3 Pkt · Perzentil-Rang 15%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| range_day | 19 | 1.48 | +87 |
| trend_down_day | 1 | 99 | +35 |
| trend_up_day | 2 | 0.28 | -28 |
| mixed_day | 1 | 0 | -29 |
| volatile_day | 4 | 0.19 | -73 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-08-12
Build + Backtest (Auto-Build-Agent)
Der Test fand keinen Vorteil gegenüber Zufall und Kosten. Ausgeschlossen ist ein Vorteil damit nicht: Bei der vorhandenen Stichprobe blieben kleine Vorteile unentdeckt (Power-Hinweis im Dossier).
2026-08-12
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Keine Signale im Nikkei-Handelsfenster (02:00–08:00 Berlin) — kein Transfer-Ergebnis.