Versuchsdossier · alle Versuche im Kandidatenvergleich
DAX Post-Kassa-Freitags-Short (Wochenend-Antizipation nach Xetra-Schluss, Chang/Jain/Locke 1995) mit Mo–Do-Kontrolle
Wer zahlt und warum?
Nach dem Xetra-Kassaschluss ist der FDAX (und der davon abgeleitete CFD) das einzige liquide Instrument für deutsche Aktienrisiken. Wer Aktienbestände über die Nicht-Handelsperiode Wochenende absichern will, kann nur noch den Future verkaufen. Zusätzlich stellen Intraday-Händler ihre Long-Inventare vor dem Wochenende glatt (Risiko-/Positionslimits). Die Indexarbitrage kann diesen einseitigen Verkaufsfluss erst zum Montags-Open gegen die Kasse ausgleichen. Deshalb liegt am Freitag nach Kassaschluss ein Überhang an Verkaufsaufträgen im Future, der den Preis bis zum Abend drückt (Chang/Jain/Locke 1995: Der Future nimmt den Wochenend-Effekt in den letzten Freitagsminuten vorweg). An Mo–Do fehlt die Nicht-Handelsperiode, dort sollte der Druck fehlen.
Widerlegt, wenn: Widerlegt, wenn der Freitags-Baseline-PF < 1,0 liegt (bei n >= 15) ODER der Freitags-PF nicht über dem PF der Mo–Do-Kontrolle liegt. Im zweiten Fall ist ein positiver Befund höchstens eine generische Post-Kassa-Drift und kein Wochenend-Antizipations-Effekt.
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? | Ja | Mechanik und Vorhersage vor dem Test im Hypothesenregister (HYP-20260928-b37727ef). |
| MehrfachtestsSind alle Versuche gezählt und wird dafür korrigiert? | Teilweise | 3 Varianten vor dem Lauf im Trial Ledger registriert (trl_f2918cafdcd7). 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-09-07, Datenstand 2026-09-28, 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 (7 Monate); Aufteilung nach Marktphasen vorhanden. |
| KomplexitätIst die Regel sparsam genug für die Datenmenge? | Ja | 2 echte Varianten, 1 variierter Parameter (require_down_day). 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; Kontrollarme stehen sichtbar daneben. |
Hypothese & Vorregistrierung
Rationale: Ausstiegsquote unterschritten, kein brauchbarer Exit-Lab-Befund verfügbar: stop_exit 21/192 = 0,11 < 0,25. Die beiden noch unverbauten Exit-Lab-Träger vom 26.09. sind paritätsgesperrt (live_bt_parity: dax_timely_orb bt.pnl_pts −503,8, dax_pivot_level_reversal −51,3). Exit-Lab-Policies sind Frozen-Entry-Ergebnisse genau eines Trägers und lassen sich nicht umleiten. round_number_reversal ist heute schon gebaut, sigma_adaptive liegt in der Sperrfrist und ib_extension zeigt keinen Vorsprung. Aus der Queue bleiben zwei unverarbeitete Funde: (a) Signal-Mining-Breakout-Long dd7ea52a/436dcfa3. Er ist bis auf den TP (18 statt 25) regelgleich mit dem gescheiterten dax_day_range_breakout_long (PF 0,26, EV −9,2 bei ausreichender Power), also praktisch eine Dublette. Ein Nachbau würde nur Rauschen wiederholen. (b) Klassik-Fund 2026-09-28 F3 (Chang/Jain/Locke 1995, J. of Business, Tier 1), baubar: ja. Gebaut wird (b) als Standalone. Die Familie Time-of-Day/Kalender wurde seit dem 27.09. (day_end_rise) nicht mehr bedient, heute liefen dagegen schon zwei Volatility-Breakout-Bauten. Das Post-Kassa-Fenster ist im Korpus nur mit richtungs-bedingten Fades belegt (dax_close_pressure_reversal, dax_closing_auction_pressure_reversal), ein fixer Wochentags-Short dort ist neu. Incumbent/Konfundierung: dax_late_afternoon_drift_short (vor dem Kassaschluss). Die Mo–Do-Kontrolle (Trial 3) trennt einen Freitags-Effekt von einer generischen Post-Kassa-Drift. Der Portfolio-Empfehlung (stop_exit; ORB/Gap/Vol-Breakout) folge ich nicht: stop_exit hat keinen baubaren Befund, der einzige Vol-Breakout-Kandidat ist die Dublette, Gap-Fade ist mit 13 Bausteinen übertestet. E13: Die Bausteinart strategy liegt bei 19,7 %. Mein Argument über „steht so im Fund“ hinaus: Der Bau misst eine Flow-Mechanik mit eingebauter Negativkontrolle, das Ergebnis ist also auch bei PF < 1 informativ. Entscheidbarkeit ehrlich: Freitags-Arm ≈ 3–4 Trades/Monat (ohne Verfalls-Freitage), Mo–Do-Kontrolle ≈ 16 Trades/Monat. Laut Power-Plan-Formel (Streuung ≈ 50–60 Pkt je Fenster-Trade, erwarteter EV ≈ +5 Pkt) wäre der Freitags-Arm allein über Jahre nicht entscheidbar. Die klare Ausstiegsregel (fixes Fenster bis Hard-Cut, SL = 1× Fensterspanne) hält die Streuung aber eng, und der Kontrast Freitag gegen Kontrolle ist die eigentliche Messung. Mechanismusspur: kein Befund ab M3, deshalb keine M-ID als Mechanik.
Abweichungen von der Quelle: (1) Übertragung vom S&P-500-Future (CME, 15-min-Fenster zwischen NYSE- und Futures-Close, späte 1980er/frühe 1990er) auf einen FDAX-abgeleiteten DAX-CFD im Fenster zwischen Xetra-Schluss und Hard-Cut 20:00 (2,5 h statt 15 min). Die US-Kasse ist im Fenster offen, der Contagion-Wegfall ist damit schwächer als in der Quelle. Die Rest-Antizipation nach 20:00 wird nicht gehandelt. (2) Die Quelle hat keine Handelsregel und kein Kostenmodell. Entry am ersten Bar-Close ab Session-Start 17:35, Spread-Verschiebung bis 17:40 (über das Entry-Fenster der Session-Spec, nicht im Code), Halten bis hold_until 20:00 und Verfalls-Freitag-Ausschluss (dritter Freitag im Monat, per Datum) sind die im Klassik-Log vorregistrierte Übertragung. (3) Die „Post-Kassa-ATR der letzten 20 Freitage“ ist als mittlere Fensterspanne (high−low über 145 M1-Bars ab Entry-Fill, auch nach dem Exit weiter gemessen) der letzten 20 gehandelten Tage umgesetzt. Im Freitags-Setup sind das genau die letzten 20 Freitage. Solange weniger als 5 Referenzen vorliegen, gilt ein fester Fallback-SL von 40 Pkt. (4) Der Down-Day-Filter (Trial 2) misst den Session-Return als Close der Signal-Bar minus Open der ersten MAIN-Bar. Bei Entry direkt nach dem Kassaschluss entspricht das dem Open→17:30-Return der Quelle. (5) Backstop-Time-Exit 180 Bars und SESSION_END sind House-Regeln. Ein Spiegel-Long ist implementiert, aber per Default aus. (6) Keine Uhrzeiten im Code: Fenster und hold_until kommen ausschließlich aus der Session-Spec, Wochentag und Verfall aus dem Datum.
Quelle: https://ideas.repec.org/a/ucp/jnlbus/v68y1995i1p61-84.html
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- sl_range_mult: 0.75 / 1 / 1.5
- sl_ref_days: 10 / 20
Optimiert werden nur die beiden Freiheitsgrade der Stop-Übertragung. Wochentag, Fenster und Richtung sind vorregistriert und bleiben fix (Anti-Snooping: keine Suche über Wochentage). sl_range_mult spannt 0,75–1,5 um den Quellen-Default 1,0× Fensterspanne (eng / Quelle / Katastrophen-nah). sl_ref_days 10 gegen 20 (Quelle: 20 Freitage) prüft, ob eine kürzere Vola-Referenz die Regime-Anpassung verbessert. 6 Kombinationen.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (paper-nah): Freitags-Short ohne Verfalls-Freitage, SL 1,0× Fensterspanne | 16 | 50,0% | 0,63 | -105 | 244 | 0,68 |
| Hedge-Druck-Konditionierung: nur Down-Freitage (Close < Session-Open)require_down_day=true | 9 | 33,3% | 0,42 | -142 | 214 | — |
| Pflicht-Kontrolle: identische Regel Mo–DoKontrolletrade_weekdays=0,1,2,3 | 97 | 44,3% | 0,67 | -850 | 1.091 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.2 – 1.76
16 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.22 – 1.62
Top-3-Trades am Gewinn
70%
PF bei +1.0 Pkt Slippage
0.54
Statistik-Härtung: Ertrag je Trade -6.57 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 25.7 Pkt (Tagescluster berücksichtigt) — UNTERPOWERT: die Stichprobe ist zu klein, um diesen Wert von null zu trennen.
| Regime | n | PF | PnL |
|---|---|---|---|
| mixed_day | 1 | 99 | +4 |
| trend_up_day | 1 | 99 | +1 |
| range_day | 12 | 0.87 | -25 |
| trend_down_day | 2 | 0 | -85 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-09-28
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-09-28
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Nicht gelaufen: Die Nikkei-Gegenprobe ist seit dem 17.09.2026 abgeschaltet (Betreiberentscheid: nur DAX).