Versuchsdossier · alle Versuche im Kandidatenvergleich

Baustein: Pre-Open-Lern-Gate (Biais/Hillion/Spatt 1999, JPE) auf Overnight-Gap-Fade

Robustheits-Score 55.2/100 · vorläufig
Baustein besser als Träger (in-sample, Unsicherheit nicht gemessen)2026-09-28Gap Fade/Follow (Baustein: Regime-Gate)Tier 1dax_gap_preopen_learning_gate🔒 Export (Admin)

Wer zahlt und warum?

In der dünnen Nacht- und Früh-Pre-Open-Phase bewegen wenige Teilnehmer mit kleinen, jederzeit revidierbaren Orders den Preis, ohne dass die Kasse handelt. Dieser Gap-Anteil ist Inventar- und Liquiditätsrauschen und wird zurückgehandelt, sobald um 09:00 die volle Kassenliquidität und die Market Maker der Auktion einsetzen. In der Call-Phase direkt vor der Eröffnungsauktion müssen sich informierte Teilnehmer festlegen, weil Zurückziehen teuer wird (BHS 1999: früh Rauschen, spät Lernen). Den Gap-Anteil, den diese Phase baut, tragen informierte Orders; er ist permanent und darf nicht gefadet werden. Das Gate entfernt also genau die Fade-Trades gegen informierten Auktions-Flow.

Widerlegt, wenn: PF von Trial 2 < 1.05 bei n >= 30 ODER PF von Trial 2 nicht über dem von Trial 1 (Gate wirkt nur als zufällige Ausdünnung, wie für einen gehandelten FDAX-Pre-Open befürchtet); zusätzlich widerlegt, wenn Trial 3 (nur Gegenlauf der Call-Phase) keine höhere Trefferquote als Trial 1 zeigt

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.

Prüfliste mit Einstufung und Beleg
PunktEinstufungBeleg
MotivationGab es vor dem Test eine ökonomische Begründung?JaMechanik und Vorhersage vor dem Test im Hypothesenregister (HYP-20260928-383ef462).
MehrfachtestsSind alle Versuche gezählt und wird dafür korrigiert?Teilweise3 Varianten vor dem Lauf im Trial Ledger registriert (trl_45784df7ef5b). Das geltende Urteil korrigiert nicht für die Zahl der Versuche.
Daten und KostenSind Datenfenster, Datenstand und Kosten festgehalten?JaFenster 2026-03-17 bis 2026-09-07, Datenstand 2026-09-25, 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?TeilweiseEingefroren für den Vorwärtstest; der erste Messmonat steht noch aus.
Stabilität über die ZeitHängt das Ergebnis an einem einzelnen Zeitraum?JaKein einzelner Monat trägt das Ergebnis (6 Monate); Aufteilung nach Marktphasen vorhanden.
KomplexitätIst die Regel sparsam genug für die Datenmenge?Teilweise3 echte Varianten, 3 variierte Parameter (lambda_max, late_phase_bars, use_preopen_gate). Regel: höchstens 2 variierte Parameter und 3 Varianten.
ForschungskulturWird auch das Scheitern veröffentlicht?JaJeder Bau erscheint unabhängig vom Ergebnis, dieses Dossier eingeschlossen; die Placebo-Kontrolle steht im Dossier.
Gepaarter Forward-Test

Eingefroren – erster Messmonat Oktober 2026

Jeden Monat laufen die unveränderte Baseline (Baustein: Pre-Open-Lern-Gate (Biais/Hillion/Spatt 1999, JPE) auf Overnight-Gap-Fade — Traeger pur (A/B-Kontrolle)) und der Baustein (Baustein: Pre-Open-Lern-Gate (Biais/Hillion/Spatt 1999, JPE) auf Overnight-Gap-Fade — mit Baustein (A/B-Overlay)) genau einmal auf denselben ungesehenen Daten: 2026-10 · 2026-11 · 2026-12 · 2027-01. Nach Monat 2 oder 3 wird bei mindestens 20 Overlay-Trades abgebrochen, wenn PF ≤ 1,00 ist oder das Overlay die Baseline nicht schlägt.

Erst nach 4 Monaten, mindestens 30 Trades, PF ≥ 1,20, besserem PnL als die Baseline und mindestens 2 positiven Monaten darf eine unabhängige DEMO-Prüfung beginnen. Das ist ausdrücklich noch keine Slot-Freigabe.

Paar dax_gap_preopen_learning_gate-2026-09-28-overlay · Freeze 2026-09-28 · Kosten 0.5 Pkt Slippage · Source 0c1eb91e416c4b48…

🧩 Baustein-Test — Variante von dax_overnight_gap_fade. Der Trial-Vergleich unten isoliert den Baustein-Beitrag (Trial 1 = Träger pur).

Hypothese & Vorregistrierung

Rationale: Ausstiegsquote unterschritten, kein brauchbarer Exit-Lab-Befund verfügbar. (stop_exit 21/192 = 10,9 %; alle offenen Exit-Lab-Träger sind gesperrt oder ohne Vorsprung: timely_orb −503,8, pivot_level_reversal −51,3 und hull_suite_v3_final −68,1 Pkt im Paritäts-File; round_number bereits zweimal gebaut, zuletzt heute; sigma_adaptive in der Sperrfrist seit 23.09. und Top-Policies +3/−68 Pkt; ib_extension_fade: alle Policies schlechter als Baseline.) Gebaut wird deshalb Klassik-Fund 2 vom 2026-09-28 (Biais/Hillion/Spatt 1999, JPE, Tier 1) als Regime-Baustein auf dem Träger dax_overnight_gap_fade. Der Baustein zerlegt den Gap nach der Zeitstruktur des Pre-Open-Pfads und fadet nur den Anteil aus der dünnen Früh-/Nachtphase, nicht den Anteil, den die Call-Phase kurz vor dem Open gebaut hat. Das Merkmal ist im Korpus neu und distinkt von Größen-, z-Score-, Close-Location- und Vola-Gates. Zur Trägerwahl: Letzter Baustein am 05.09., also keine 7-Tage-Sperrfrist. Der Träger fehlt im Paritäts-File, das gilt als fail-open. Die Portfolio-Empfehlung (bau_familien: Gap Fade/Follow) wird befolgt. Der empfohlenen Bausteinart stop_exit folge ich nicht, weil es keinen baubaren Exit-Befund gibt. E13: Familie Gap Fade/Follow 3/8 = 37,5 %, Bausteinart regime 14/36 = 38,9 %, beides über dem Schnitt. Entscheidbarkeit: Der Träger macht rund 15 Trades pro Monat (n=90 im Bau vom 05.09.). Das Gate lässt erwartet rund 9–10 Trades pro Monat durch. Der enge Ausgang (TP halber Gap-Fill, Time-Exit 30 Bars, Streuung um 35 Pkt) gehört zu den schneller entscheidbaren Designs im Power-Plan. Einschränkung: Der Träger ist selbst schwach (PF 1,11 bei n=90, hängt an 2026-04). Der A/B misst also einen Delta-Beitrag, keinen Edge. Kein Befund ab M3 in mechanism_findings.

Abweichungen von der Quelle: BHS 1999 ist ein Mikrostruktur-Befund (GMM-Test Rauschen vs. Lernen indikativer Pre-Open-Preise, Paris Bourse, 1990er) ohne Handelsregel und ohne Kostenmodell. Die Übertragung auf ein Gap-Fade-Gate stammt aus dem Klassik-Log 2026-09-28, F2. Der DAX-Pre-Open ist ein gehandelter CFD/FDAX-Preis und kein indikativer Preis. Die Spätphase ist als die letzten late_phase_bars 1m-Bars vor dem Session-Open definiert (Default 10 ≈ Xetra-Call-Phase 08:50–09:00), ohne Uhrzeit im Code. Fehlen Pre-Open-Bars, arbeitet das Gate fail-open (Träger-Verhalten, debug-Event PREOPEN_GATE_UNAVAILABLE). Der im Log vorgeschlagene Destatis-08:00-Release-Block (Trial 3) ist nicht gebaut, weil kein verifizierter Release-Kalender vorliegt. Trial 3 testet stattdessen die reine Gegenlauf-Bedingung (lambda_max 0), die das Log als saubersten Hypothesentest nennt. Vom Träger unterscheidet sich das Plugin nur in zwei Punkten: Die Session-Open-Erfassung läuft über SessionLabel.MAIN statt über eine hart kodierte Minute (die Engine klassifiziert identisch über die close_ts-Stunde), und das Entry-Fenster wird in Bars seit dem Open gezählt statt über die Uhrzeit (gleiche 31 Bars). Einstieg, SL/TP, Time-Exit und alle Träger-Defaults sind unverändert.

Quelle: https://ideas.repec.org/a/ucp/jpolec/v107y1999i6p1218-1248.html

Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)

  • lambda_max: 0 / 0.15 / 0.3 / 0.5
  • late_phase_bars: 5 / 10 / 15

Vorregistriert vor jedem Ergebnis, 4 × 3 = 12 Kombinationen. lambda_max spannt die Selektionsschärfe auf: 0.0 steht für reinen Gegenlauf der Spätphase (BHS-Idealfall), 0.30 ist der Log-Default, 0.50 lässt Gaps durch, die zur Hälfte spät entstanden sind (schwaches Gate). late_phase_bars 5/10/15 deckt die im Log offen benannte Kalibrierungsunsicherheit ab, wo die informative Spätphase beginnt (08:55 / 08:50 / 08:45). Die Träger-Parameter bleiben fix, damit der Grid nur den Baustein misst.

Run-ManifestEngine 69b0c2e82ef40e53 (78 Dateien)Fenster 2026-03-17 – 2026-09-07Datenstand 2026-09-25Slippage 0.5 PktTrials vorregistriert: 3 (trl_45784df7ef5b)Strategie-Bytes 0c1eb91e416c4b48…

Backtest-Trials (mit Slippage 0.5 Pkt)

TrialnWRPFPnL (Pkt)Max DDPF o. Slip
Träger pur (dax_overnight_gap_fade-Default, Gate aus)use_preopen_gate=false10130,7%1,20+2222161,31
BHS-Pre-Open-Gate (Log-Default: lambda_max 0.30, Spätphase 10 Bars)use_preopen_gate=true, lambda_max=0.3, late_phase_bars=108729,9%1,24+234201—
BHS-Gegenlauf (nur faden, wenn die Call-Phase schon gegen den Gap läuft: lambda_max 0.0)use_preopen_gate=true, lambda_max=0, late_phase_bars=104139,0%1,97+384145—

Robustheit (bestes Trial)

PF-90%-Bereich über Handelstage

1.02 – 3.55

41 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.99 – 3.41

Top-3-Trades am Gewinn

40%

PF bei +1.0 Pkt Slippage

1.68

Statistik-Härtung: Ertrag je Trade 9.35 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 18.6 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 383.5 Pkt vs. Placebo-Median 177.5 / p95 341.9 Pkt · Perzentil-Rang 100%

Kandidat > p95 der Placebos — Timing traegt echten Beitrag

2026-03: -512026-04: +2702026-05: +252026-06: +762026-07: +752026-08: -11
RegimenPFPnL
range_day411.97+384

Test-Timeline

Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.

  1. 2026-09-28

    Build + Backtest (Auto-Build-Agent)

    Auf der Bauhistorie schnitt die Ausgangsstrategie mit Baustein besser ab. Ob der Unterschied größer ist als die zufällige Schwankung, wurde nicht gemessen; das entscheidet erst der gepaarte Vorwärtstest. (A/B: PF 1.20->1.97, PnL +222->+384) — Forward/Review noetig

  2. 2026-09-28

    Gepaarter Forward-Vertrag eingefroren

    2026-10 / 2026-11 / 2026-12 / 2027-01 · Baseline und Overlay je Monat genau einmal · ein Pass geht danach in die autonome Agentenprüfung für DEMO; keine Nutzerbestätigung nötig

  3. 2026-09-28

    Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)

    Nicht gelaufen: Die Nikkei-Gegenprobe ist seit dem 17.09.2026 abgeschaltet (Betreiberentscheid: nur DAX).