Versuchsdossier · alle Versuche im Kandidatenvergleich
DAX Inside-Bar Contraction Breakout (Crabel Inside-Day, standalone Entry)
Robustheits-Score 44/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_b1fb79413012). 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-28, Datenstand 2026-08-17, 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, 3 variierte Parameter (agg_minutes, nr_lookback, require_nr). 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: Crabel Inside-Day (Day Trading With Short Term Price Patterns, 1990, Tier 2) — bei uns bisher NUR als Enable-Gate auf ORB behandelt (dax_orb_nr_contraction_gate, ohne_mehrwert), NIE als eigenstaendiger direktionaler Entry: hier neu als exakter Preis-Trigger (Bruch des umschliessenden Mutter-Extrems nach Inside-Bar-Kontraktion), keine woertliche Dublette. Kernhypothese: Kontraktion staut Order-Flow, der Bruch entlaedt sich als Expansion + geclusterte Stop-Entries. E13-Wahl: 'strategy' ist die einzige Bausteinart mit Trefferquote (14.1%) gegenueber regime/indicator/stop_exit (0%); der einzige echte 08-18-Fund ist ein regime-Reversal-Gate (0%-Kategorie, ueberbesetzte Fade-Traeger, vom Autor selbst 'fragwuerdig') und damit nachrangig. Challenger gegen die Breakout-/ORB-Familie (dax_acd_timed_breakout PF 1.30 als einziger Ueberlebender); Diversitaet gegen die Fade-Gate-Konvergenz. Kein Baustein -> kein carrier, keine Traeger-Sperrfrist/Paritaets-Sperre betroffen.
Abweichungen von der Quelle: Crabel testet TAGES-Inside-Bars mit Entry am Folgetag-Open; hier intraday auf ein Aggregat-Raster von agg_minutes M1-Bars uebertragen und Entry direkt am Bruch (Bar-Close) statt am naechsten Open. Bruch am umschliessenden Mutter-Extrem (nicht am Inside-Bar-Extrem). Kein Cross-Sectional/Volumen. Keine Uhrzeiten im Code — Aggregation nur ueber Datum als Tageswechsel-Anker; Entry-Fenster erzwingt der Runner via Session-Spec. Optionale NR-Double-Compression (Crabel NR7-Inside) als Trial-Variante.
Quelle: https://www.quantifiedstrategies.com/nr7-trading-strategy-toby-crabel/
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- agg_minutes: 15 / 30 / 60
- break_buffer_pts: 0 / 2 / 4
- require_nr: 0 / 1
Drei literaturnahe Achsen: (1) agg_minutes = Kontraktions-Zeitraster (Crabel testet mehrere Bar-Aggregate; 15/30/60m decken Feinheit vs. Struktur ab), (2) break_buffer_pts = Bruch-Bestaetigungspuffer gegen Whipsaw (0 = reiner Extrem-Bruch, 2/4 = Rausch-Cut, exakt die Bedingung, die dem nackten ORB fehlte), (3) require_nr = Crabel-Double-Compression an/aus (NR7-Inside gilt als staerkstes Setup). 3x3x2 = 18 Kombinationen, alle innerhalb MANIFEST-min/max, is_optimizable.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (Crabel Inside-Bar, 30m-Raster, kein NR) | 97 | 49,5% | 0,91 | -351 | 1.120 | 0,94 |
| NR-Double-Compression (Crabel staerkstes Setup, NR7-Inside)require_nr=1, nr_lookback=7 | 23 | 30,4% | 0,34 | -769 | 785 | — |
| Kurzes 15m-Kontraktionsrasteragg_minutes=15 | 178 | 41,6% | 0,92 | -586 | 2.024 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.64 – 1.27
86 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.67 – 1.22
Top-3-Trades am Gewinn
14%
PF bei +1.0 Pkt Slippage
0.87
Statistik-Härtung: Ertrag je Trade -3.29 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 22.1 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 -586.2 Pkt vs. Placebo-Median 5062.5 / p95 6123.2 Pkt · Perzentil-Rang 0%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| trend_down_day | 8 | 1.28 | +73 |
| mixed_day | 14 | 1.03 | +14 |
| volatile_day | 9 | 0.94 | -28 |
| range_day | 127 | 0.97 | -144 |
| trend_up_day | 20 | 0.55 | -501 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-08-18
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-18
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Keine Signale im Nikkei-Handelsfenster (02:00–08:00 Berlin) — kein Transfer-Ergebnis.