Bestenliste › Build-Dossier
Baustein: Session-Loss-Limit / Circuit-Breaker auf Squeeze-Release (Han/Zhou)
Score 46/100🧩 Baustein-Test — Variante von dax_squeeze_release. Der Trial-Vergleich unten isoliert den Baustein-Beitrag (Trial 1 = Träger pur).
Hypothese & Vorregistrierung
Rationale: Baustein-A/B aus Han/Liu/Xu/Zhou 'Sharpe Ratio Timing with Stop Loss' (SSRN 5511318) + offengelegtem Vorlaeufer 'Taming Momentum Crashes' (Sharpe 0.166->0.371, linker Tail eliminiert). Uebertragbarer Kern = Session-Loss-Limit/Circuit-Breaker als Overlay, kein Entry-Edge. Traeger ist dax_squeeze_release, gezielt gewaehlt weil dessen Digest-Situationsprofil den Baustein isoliert testbar macht: PF 1.7 in range_day, aber PF 0.02 (trend_up_day) / 0.05 (trend_down_day) — genau die Trend-Fehltage, an denen ein Circuit-Breaker den fetten linken Schwanz kappen soll. Kernhypothese: der Breaker senkt den Verlust in den Trend-Regimen, ohne die range_day-Gewinne zu beschneiden (Tail-/Verteilungs-Effekt, nicht Mittelwert-Edge).
Abweichungen von der Quelle: Quelle US-Aktien-Momentum-Portfolios, Tagesfrequenz, MONATLICHER Reset, Erloes bis Monatsende risikofrei geparkt. Wir: single-series DAX-1m-Intraday, Pruefung je Bar-Close, TAEGLICHER Reset (Session = natuerliches Rebalancing), 'Parken' = kein Re-Entry bis Hard-Cut 20:00. Schwelle als fixe Punkte-Groesse (kumuliert realisiert+offen, je qty) statt der ebenfalls genannten '-X*ATR'-Variante — bewusst EIN interpretierbarer, plateau-kalibrierbarer Parameter statt zwei gekoppelte. Traeger-Regelwerk 1:1 aus dax_squeeze_release (TTM-Squeeze-Defaults, 09:00-Floor, Hard-Cut 20:00, Initial-SL>=10, Stop-Updates>=8 vom Close, Cooldown).
Quelle: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5511318
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- breaker_loss_points: 30 / 45 / 60 / 80 / 100
- max_trades_per_day: 2 / 3 / 4
Der Baustein hat genau einen freien Parameter — die Verlustschwelle X (breaker_loss_points). Er wird als PLATEAU-Region abgetastet (30..100 Pkt, ~2-4 volle SL-Distanzen bei DAX-1m-ATR), NICHT punktoptimiert (atr-trailing-stop-plateau-robustness): gesucht ist ein stabiler Bereich, in dem der Tail-Nutzen ohne Whipsaw-Schaden traegt, kein einzelnes Optimum. max_trades_per_day (2/3/4) ist der zweite risikobegrenzende Hebel, der mit dem Breaker interagiert (weniger Trades/Tag kappt kumulierten Verlust unabhaengig) — beide is_optimizable, innerhalb MANIFEST-min/max, 5x3=15 Kombinationen (<=24).
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Traeger PUR (Breaker AUS = reine Squeeze-Release-Referenz)use_session_breaker=false | 172 | 26.2% | 1.37 | +734 | 901 | 1.48 |
| + Session-Loss-Limit 60 Pkt (Quellen-nahe Default-Schwelle)use_session_breaker=true, breaker_loss_points=60 | 172 | 25.6% | 0.75 | -490 | 790 | — |
| + Session-Loss-Limit 40 Pkt (engerer Circuit-Breaker)use_session_breaker=true, breaker_loss_points=40 | 165 | 26.1% | 0.75 | -467 | 765 | — |
Robustheit (bestes Trial)
PF-90%-Konfidenzintervall
0.55 – 2.7
Top-3-Trades am Gewinn
57%
PF bei +1.0 Pkt Slippage
1.17
| Regime | n | PF | PnL |
|---|---|---|---|
| range_day | 134 | 1.65 | +939 |
| mixed_day | 9 | 1.93 | +115 |
| volatile_day | 7 | 0.95 | -6 |
| trend_down_day | 6 | 0.05 | -83 |
| trend_up_day | 16 | 0.02 | -230 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
- 🔨
2026-07-03
Build + Backtest (Auto-Build-Agent)
baustein_ohne_mehrwert (A/B: Traeger PF 1.37 vs Overlay 0.75) — Baustein verworfen, Traeger unveraendert [retro-korrigiert 2026-07-03: urspruengliches 'edge_kandidat' galt dem Traeger, nicht dem Baustein]
- 🌏
2026-07-03
Nikkei-Cross-Check (Transfer-Test, ATR-skaliert)
n=0 · PF ? · PnL 0 Pkt
- 🧪
2026-07-11
Parameter-Sweep (vorregistriertes Grid, Wochenend-Optimizer)
Vollständiger Report
Optimizer-Lauf 2026-07-11 — Baustein: Session-Loss-Limit / Circuit-Breaker auf Squeeze-Release (Han/Zhou)
Vorregistriertes Grid (15 Kombis, festgelegt beim Bau am 2026-07-03, vor jedem Ergebnis). Grid-Begruendung: Der Baustein hat genau einen freien Parameter — die Verlustschwelle X (breaker_loss_points). Er wird als PLATEAU-Region abgetastet (30..100 Pkt, ~2-4 volle SL-Distanzen bei DAX-1m-ATR), NICHT punktoptimiert (atr-trailing-stop-plateau-robustness): gesucht ist ein stabiler Bereich, in dem der Tail-Nutzen ohne Whipsaw-Schaden traegt, kein einzelnes Optimum. max_trades_per_day (2/3/4) ist der zweite risikobegrenzende Hebel, der mit dem Breaker interagiert (weniger Trades/Tag kappt kumulierten Verlust unabhaengig) — beide is_optimizable, innerhalb MANIFEST-min/max, 5x3=15 Kombinationen (<=24).
Split: IS 17.03.2026 – 17.05.2026 (Auswahl) | OOS 17.05.2026 – 20.06.2026 (einmaliger Test) | Embargo: letzte 21 Tage gesperrt
In-Sample Top 10 (von 15)
Kombi n WR PF PnL (Pkt) {"breaker_loss_points": 30.0, "max_trades_per_day": 3} 118 26.27% 1.5118 +730 Pkt {"breaker_loss_points": 45.0, "max_trades_per_day": 3} 118 26.27% 1.5118 +730 Pkt {"breaker_loss_points": 60.0, "max_trades_per_day": 3} 118 26.27% 1.5118 +730 Pkt {"breaker_loss_points": 80.0, "max_trades_per_day": 3} 118 26.27% 1.5118 +730 Pkt {"breaker_loss_points": 100.0, "max_trades_per_day": 3} 118 26.27% 1.5118 +730 Pkt {"breaker_loss_points": 30.0, "max_trades_per_day": 4} 156 26.92% 1.3097 +560 Pkt {"breaker_loss_points": 45.0, "max_trades_per_day": 4} 156 26.92% 1.3097 +560 Pkt {"breaker_loss_points": 60.0, "max_trades_per_day": 4} 156 26.92% 1.3097 +560 Pkt {"breaker_loss_points": 80.0, "max_trades_per_day": 4} 156 26.92% 1.3097 +560 Pkt {"breaker_loss_points": 100.0, "max_trades_per_day": 4} 156 26.92% 1.3097 +560 Pkt IS-Auswahl:
{"use_session_breaker": false, "breaker_loss_points": 30.0, "max_trades_per_day": 3}(Expectancy 6.1833, PF 1.5118, n=118)Parameter Stability Map (volle Grid-Flaeche, 15 Kombis)
Nachbar-Stabilitaet: 2/3 Nachbarn positiv, Nachbar-Ø/Optimum = 0.3 (ISOLIERTES OPTIMUM — Zufallsverdacht)
<details><summary>Alle Kombis (IS)</summary>
</details>Kombi n PF Expectancy PnL {"breaker_loss_points": 100.0, "max_trades_per_day": 2} 79 0.6929 -4.1332 -327 {"breaker_loss_points": 100.0, "max_trades_per_day": 3} 118 1.5118 6.1833 +730 {"breaker_loss_points": 100.0, "max_trades_per_day": 4} 156 1.3097 3.589 +560 {"breaker_loss_points": 30.0, "max_trades_per_day": 2} 79 0.6929 -4.1332 -327 {"breaker_loss_points": 30.0, "max_trades_per_day": 3} 118 1.5118 6.1833 +730 {"breaker_loss_points": 30.0, "max_trades_per_day": 4} 156 1.3097 3.589 +560 {"breaker_loss_points": 45.0, "max_trades_per_day": 2} 79 0.6929 -4.1332 -327 {"breaker_loss_points": 45.0, "max_trades_per_day": 3} 118 1.5118 6.1833 +730 {"breaker_loss_points": 45.0, "max_trades_per_day": 4} 156 1.3097 3.589 +560 {"breaker_loss_points": 60.0, "max_trades_per_day": 2} 79 0.6929 -4.1332 -327 {"breaker_loss_points": 60.0, "max_trades_per_day": 3} 118 1.5118 6.1833 +730 {"breaker_loss_points": 60.0, "max_trades_per_day": 4} 156 1.3097 3.589 +560 {"breaker_loss_points": 80.0, "max_trades_per_day": 2} 79 0.6929 -4.1332 -327 {"breaker_loss_points": 80.0, "max_trades_per_day": 3} 118 1.5118 6.1833 +730 {"breaker_loss_points": 80.0, "max_trades_per_day": 4} 156 1.3097 3.589 +560 Out-of-Sample (je genau 1 Lauf)
n WR PF (m.Slip) PnL (m.Slip) PF (o.Slip) PnL (o.Slip) Optimiert 72 30.56% 1.2428 +180 Pkt 1.3608 +250 Pkt Baseline (Anker) 72 30.56% 1.2428 +180 Pkt — — Verdict-Regel + IS-Auswahl basieren auf den realistischen Werten mit Slippage; „o. Slip" ist der Idealwert ohne Ausführungskosten.
Verdict
Optimierung BESTAETIGT (OOS) — in Forward-Validierung übernommen
Regel: bestätigt nur wenn OOS-PF >= 1.1 UND OOS-n >= 10 UND optimiert >= Baseline im OOS.