Bestenliste › Build-Dossier
DAX Floor-Trader-Pivot Level Reversal (Osler)
Score 47.9/100Hypothese & Vorregistrierung
Rationale: Osler 2000 (FRBNY) + 2003 (JF) belegen Tier-1, dass breit beobachtete, berechnete Support-/Resistance-Levels intraday echte Vorhersagekraft fuer Trend-Unterbrechungen haben (Mechanismus: Take-Profit-Order-Clustering VOR dem Level -> Reversal). Kernhypothese: Floor-Trader-Pivots (P/R1/S1/R2/S2) aus dem Vortages-OHLC sind eine bislang UNGETESTETE Referenzlevel-Familie am DAX, orthogonal (nicht-rund, OHLC-abgeleitet) zu den bestehenden Fade-Triggern. Tritt als Challenger gegen dax_round_number_reversal (Rundzahl-Raster) und dax_failed_breakout_fade (PDH/PDL) an; Ziel jedes Fades ist die Rueckkehr zum Pivot P.
Abweichungen von der Quelle: Original ist FX-Spot mit firmenpublizierten S/R-Levels (2000) bzw. proprietaeren Orderdaten (2003). Hier single-series DAX-Index 1m ohne Orderbuch — die Order-Cluster sind unbeobachtet, nur ihre Preis-Konsequenz (mechanische Pivot-Level-Trigger) wird gehandelt. Pivot-Ziel P als TP und first_touch_only sind unsere Umsetzung (Quelle gibt keine expliziten Exits). Default nur innere Levels (S1/R1), um Dublette gegen PDH/PDL zu vermeiden. Breakout-/Stop-Kaskaden-Variante (Osler 2003, Fund-Variante b) bewusst NICHT enthalten — separater Kandidat.
Quelle: https://www.newyorkfed.org/medialibrary/media/research/staff_reports/sr125.pdf
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- approach_buffer_points: 5 / 8 / 12
- sl_atr_mult: 0.5 / 1 / 1.5
- max_hold_bars: 90 / 120 / 180
approach_buffer bestimmt, wie eng der Antest ans Level heranreichen muss (Osler-Level-Naeherungszone) — 5/8/12 Pkt deckt engen bis lockeren Antest ab. sl_atr_mult skaliert den Stop-Puffer jenseits des Levels an die aktuelle Vola (Trend-Durchbruch-Schutz), 0.5-1.5 ist der plausible Bereich fuer einen Reversal-Stop. max_hold_bars kalibriert das Reversions-Zeitfenster zurueck zum Pivot (Osler: intraday Trend-Unterbrechung), 90-180 Min. Alle drei is_optimizable, innerhalb MANIFEST-min/max, keine exotischen Werte.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (innere Levels S1/R1, Ziel P) | 49 | 22.4% | 0.80 | -306 | 716 | 0.83 |
| Extended (S1/S2/R1/R2)level_set=extended | 68 | 26.5% | 0.84 | -321 | 665 | — |
| Inner + Pivot-Fade (P bidirektional)include_pivot=true | 75 | 28.0% | 1.19 | +336 | 637 | — |
Robustheit (bestes Trial)
PF-90%-Konfidenzintervall
0.7 – 1.89
Top-3-Trades am Gewinn
28%
PF bei +1.0 Pkt Slippage
1.1
Statistik-Härtung: Block-Bootstrap-CI (Tages-Blöcke, ehrlicher als iid): PF 0.72–1.76 über 58 Handelstage. EV 4.48 Pkt vs. minimal nachweisbarer Edge 15.98 Pkt — UNTERPOWERT (Stichprobe zu klein für diesen Edge). ⚠ Ergebnis hängt am Monat 2026-04 (ohne ihn: -247.1 Pkt).
🎲 Placebo-Kontrolle (zeit-gejitterte Zufalls-Entries, gleiche Trade-Geometrie)
Kandidat 335.6 Pkt vs. Placebo-Median 124.1 / p95 646.1 Pkt · Perzentil-Rang 75%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| trend_up_day | 11 | 2.6 | +326 |
| range_day | 54 | 1.14 | +179 |
| mixed_day | 2 | 0 | -31 |
| volatile_day | 6 | 0.63 | -64 |
| trend_down_day | 2 | 0 | -73 |
Baustein-Varianten dieses Trägers
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
- 🔨
2026-07-28
Build + Backtest (Auto-Build-Agent)
schwaches Signal — unverifiziert
- 🌏
2026-07-28
Nikkei-Cross-Check (Transfer-Test, ATR-skaliert)
n=0 · PF ? · PnL 0 Pkt
- 🧪
2026-08-01
Parameter-Sweep (vorregistriertes Grid, Wochenend-Optimizer)
Vollständiger Report
Optimizer-Lauf 2026-08-01 — DAX Floor-Trader-Pivot Level Reversal (Osler)
Vorregistriertes Grid (24 Kombis, festgelegt beim Bau am 2026-07-28, vor jedem Ergebnis). Grid-Begruendung: approach_buffer bestimmt, wie eng der Antest ans Level heranreichen muss (Osler-Level-Naeherungszone) — 5/8/12 Pkt deckt engen bis lockeren Antest ab. sl_atr_mult skaliert den Stop-Puffer jenseits des Levels an die aktuelle Vola (Trend-Durchbruch-Schutz), 0.5-1.5 ist der plausible Bereich fuer einen Reversal-Stop. max_hold_bars kalibriert das Reversions-Zeitfenster zurueck zum Pivot (Osler: intraday Trend-Unterbrechung), 90-180 Min. Alle drei is_optimizable, innerhalb MANIFEST-min/max, keine exotischen Werte.
Split: IS 17.03.2026 – 31.05.2026 (Auswahl) | OOS 31.05.2026 – 11.07.2026 (einmaliger Test) | Embargo: letzte 21 Tage gesperrt
Governance: IS-Ledger
trl_cda805b730a2· OOS-Ledgertrl_3c2e3bc97500; beide Payloads vor dem jeweiligen ersten Engine-Aufruf gebunden.In-Sample Top 10 (von 24)
Kombi n WR PF PnL (Pkt) {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 1.0} 28 28.57% 1.5368 +439 Pkt {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 1.5} 28 32.14% 1.5348 +474 Pkt {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 0.5} 28 25.0% 1.5344 +344 Pkt {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 1.0} 29 27.59% 1.4489 +390 Pkt {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 1.5} 29 31.03% 1.4468 +421 Pkt {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 0.5} 29 24.14% 1.4425 +304 Pkt {"approach_buffer_points": 5.0, "max_hold_bars": 120, "sl_atr_mult": 1.5} 28 35.71% 1.3544 +255 Pkt {"approach_buffer_points": 5.0, "max_hold_bars": 90, "sl_atr_mult": 0.5} 28 28.57% 1.2869 +180 Pkt {"approach_buffer_points": 5.0, "max_hold_bars": 120, "sl_atr_mult": 0.5} 28 25.0% 1.2631 +166 Pkt {"approach_buffer_points": 8.0, "max_hold_bars": 120, "sl_atr_mult": 1.5} 29 34.48% 1.2572 +200 Pkt IS-Auswahl:
{"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 1.5}(Expectancy 16.9371, PF 1.5348, n=28)Parameter Stability Map (volle Grid-Flaeche, 24 Kombis)
Nachbar-Stabilitaet: 3/3 Nachbarn positiv, Nachbar-Ø/Optimum = 0.77 (PLATEAU — robust)
<details><summary>Alle Kombis (IS)</summary>
</details>Kombi n PF Expectancy PnL {"approach_buffer_points": 12.0, "max_hold_bars": 120, "sl_atr_mult": 0.5} 30 1.0401 1.0187 +31 {"approach_buffer_points": 12.0, "max_hold_bars": 120, "sl_atr_mult": 1.0} 30 0.9706 -0.926 -28 {"approach_buffer_points": 12.0, "max_hold_bars": 180, "sl_atr_mult": 0.5} 30 1.1665 4.515 +135 {"approach_buffer_points": 12.0, "max_hold_bars": 180, "sl_atr_mult": 1.0} 30 1.1995 6.6863 +201 {"approach_buffer_points": 12.0, "max_hold_bars": 90, "sl_atr_mult": 0.5} 30 1.1089 2.624 +79 {"approach_buffer_points": 12.0, "max_hold_bars": 90, "sl_atr_mult": 1.0} 30 0.9297 -2.092 -63 {"approach_buffer_points": 5.0, "max_hold_bars": 120, "sl_atr_mult": 0.5} 28 1.2631 5.9157 +166 {"approach_buffer_points": 5.0, "max_hold_bars": 120, "sl_atr_mult": 1.0} 28 1.1426 4.0864 +114 {"approach_buffer_points": 5.0, "max_hold_bars": 120, "sl_atr_mult": 1.5} 28 1.3544 9.1136 +255 {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 0.5} 28 1.5344 12.2829 +344 {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 1.0} 28 1.5368 15.6818 +439 {"approach_buffer_points": 5.0, "max_hold_bars": 180, "sl_atr_mult": 1.5} 28 1.5348 16.9371 +474 {"approach_buffer_points": 5.0, "max_hold_bars": 90, "sl_atr_mult": 0.5} 28 1.2869 6.4446 +180 {"approach_buffer_points": 5.0, "max_hold_bars": 90, "sl_atr_mult": 1.0} 28 1.0201 0.5761 +16 {"approach_buffer_points": 5.0, "max_hold_bars": 90, "sl_atr_mult": 1.5} 28 1.0598 1.7932 +50 {"approach_buffer_points": 8.0, "max_hold_bars": 120, "sl_atr_mult": 0.5} 29 1.1829 4.239 +123 {"approach_buffer_points": 8.0, "max_hold_bars": 120, "sl_atr_mult": 1.0} 29 1.0739 2.1734 +63 {"approach_buffer_points": 8.0, "max_hold_bars": 120, "sl_atr_mult": 1.5} 29 1.2572 6.8797 +200 {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 0.5} 29 1.4425 10.4707 +304 {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 1.0} 29 1.4489 13.4531 +390 {"approach_buffer_points": 8.0, "max_hold_bars": 180, "sl_atr_mult": 1.5} 29 1.4468 14.5176 +421 {"approach_buffer_points": 8.0, "max_hold_bars": 90, "sl_atr_mult": 0.5} 29 1.1951 4.5162 +131 {"approach_buffer_points": 8.0, "max_hold_bars": 90, "sl_atr_mult": 1.0} 29 0.9507 -1.4493 -42 {"approach_buffer_points": 8.0, "max_hold_bars": 90, "sl_atr_mult": 1.5} 29 0.9863 -0.4217 -12 Out-of-Sample (je genau 1 Lauf)
n WR PF (m.Slip) PnL (m.Slip) PF (o.Slip) PnL (o.Slip) Optimiert 20 30.0% 0.8452 -90 Pkt 0.8765 -70 Pkt Baseline (Anker) 20 20.0% 0.5739 -233 Pkt — — Verdict-Regel + IS-Auswahl basieren auf den realistischen Werten mit Slippage; „o. Slip" ist der Idealwert ohne Ausführungskosten.
Verdict
Optimierung NICHT bestätigt — Baseline behalten, kein Edge-Nachweis
Regel: bestätigt nur wenn OOS-PF >= 1.1 UND OOS-n >= 10 UND optimiert >= Baseline im OOS.