Versuchsdossier · alle Versuche im Kandidatenvergleich
Baustein: Tageszeit-Reversal-Staerke-Regime-Gate auf Pivot-Level-Reversal
Robustheits-Score 26.6/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_bb97b4cbb5f2). 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-27, Datenstand 2026-08-14, 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? | Teilweise | 3 echte Varianten, 4 variierte Parameter (gate_mode, revgate_bucket_min, revgate_lookback_days, revgate_min_score). 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. |
🧩 Baustein-Test — Variante von dax_pivot_level_reversal. Der Trial-Vergleich unten isoliert den Baustein-Beitrag (Trial 1 = Träger pur).
Hypothese & Vorregistrierung
Rationale: Klassik-Fund (Log 2026-08-16-classic F2): Stoll/Whaley RFS 1990 + Admati/Pfleiderer RFS 1988 (beide Tier 1), empirisch bestaetigt von Feng et al. FRL 2016 — die kurzfristige Intraday-Return-Autokorrelation ist im Nachmittag deutlich negativer als am Vormittag (Reversal traegt spaet, wenn uninformierter Liquiditaets-Flow den Preisdruck stellt). Baustein-A/B auf den Reversal-Traeger dax_pivot_level_reversal (Basis-PF 1.19): Trial 1 = Traeger pur, Trial 2/3 = Fade-Entries nur in reversion-freundlichen Slots. Traegerwahl: die in der Quelle genannten Kandidaten dax_vwap_band_reversion (08-15) und dax_extreme_move_reversal (08-14) sind beide innerhalb der 7-Tage-Sperrfrist Gegenstand eines Baustein-Tests gewesen -> ausgewichen auf den freien, positiv-basigen Reversal-Traeger dax_pivot_level_reversal (gleiche Mean-Reversion-Familie). Paritaet: dax_pivot_level_reversal fehlt in live_bt_parity.json -> fail-open, keine Sperre. Zur e13-Bilanz (Bausteinart regime bislang 0/18): die dortigen Nullen sind durchweg Vola-LEVEL-Gates; dieser Baustein oeffnet mit der vorzeichenbasierten, vola-UNABHAENGIGEN Slot-Autokorrelation eine genuin andere Regime-Achse (Autokorrelations-Struktur statt Vola-Level), Tier-1-fundiert und von Toms Prozess als gewuenschte 'Zeit-/Struktur-Gate'-Klasse markiert.
Abweichungen von der Quelle: Feng et al. messen die Autokorrelation je Halbstunde direkt gegen eine Uhrzeit-Achse (Vormittag/Nachmittag). Um die Vorgabe 'keine Zeiten im Code' einzuhalten, ersetzen wir die Uhrzeit-Konditionierung durch ein datengetriebenes Slot-Autokorrelations-Regime: pro minutes_of_day//bucket-Slot wird der rollende Mittelwert von -sign(r_t)*sign(r_{t-1}) gefuehrt (append-after-close, lookahead-frei); Fades werden nur zugelassen, wenn dieser Score >= revgate_min_score ist (>=0 => negative Lag-1-Autokorrelation => reversion-freundlich). Der Nachmittags-Effekt der Quelle entsteht so endogen, ohne HH:MM im Code. Vorzeichenbasiert => vola-unabhaengig (distinkt von den Vola-Level-Gates der Familie). Kalter Slot (< revgate_min_obs) => durchlassen. Original US-Aktien-Halbstunden -> single-series DAX 1m; ein Reversal-Traeger (Pivot-Fade). Reines Enable-Gate (kein Positions-Scaling, kein News-Block).
Quelle: https://onlinelibrary.wiley.com/doi/10.1111/j.1540-6261.1990.tb03713.x
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- revgate_min_score: -0.1 / 0 / 0.1
- revgate_lookback_days: 10 / 20 / 30
- revgate_bucket_min: 30 / 60
Drei Parameter, 3x3x2 = 18 <= 24 Kombinationen. revgate_min_score variiert die Reversion-Strenge um die literaturnahe Nulllinie (negative Autokorrelation) herum; revgate_lookback_days deckt den robusten Bereich der rollenden Slot-Historie (10-30 Tage) ab; revgate_bucket_min prueft Halbstunden- vs. Stunden-Slots (die Halbstunden-Granularitaet der Originalstudie und eine groebere, rauschaermere Variante). Alle Werte innerhalb der MANIFEST-min/max und literaturnah (kein Mining).
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (Traeger pur, Gate off)gate_mode=off | 61 | 26,2% | 0,90 | -173 | 716 | 0,93 |
| Reversal-Slot-Gate (Feng et al. Default, Score>=0)gate_mode=reversal_slot, revgate_min_score=0, revgate_lookback_days=20, revgate_bucket_min=30 | 49 | 20,4% | 0,73 | -389 | 532 | — |
| Reversal-Slot-Gate strenger (Score>=0.1, laengeres Fenster)gate_mode=reversal_slot, revgate_min_score=0.1, revgate_lookback_days=30, revgate_bucket_min=30 | 4 | 0,0% | 0,00 | -291 | 378 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.48 – 1.44
56 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.48 – 1.49
Top-3-Trades am Gewinn
33%
PF bei +1.0 Pkt Slippage
0.84
Statistik-Härtung: Ertrag je Trade -2.84 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 27.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 -173.1 Pkt vs. Placebo-Median 243 / p95 899.9 Pkt · Perzentil-Rang 5%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| volatile_day | 4 | 3.05 | +145 |
| trend_down_day | 2 | 2.35 | +53 |
| mixed_day | 1 | 0 | -17 |
| trend_up_day | 12 | 0.95 | -23 |
| range_day | 42 | 0.71 | -331 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-08-17
Build + Backtest (Auto-Build-Agent)
Der getestete Baustein verbesserte die Ausgangsstrategie nicht. (A/B: Traeger PF 0.90 vs Overlay 0.73) — Baustein verworfen, Traeger unveraendert
2026-08-17
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Keine Signale im Nikkei-Handelsfenster (02:00–08:00 Berlin) — kein Transfer-Ergebnis.