Versuchsdossier · alle Versuche im Kandidatenvergleich
Baustein: Forward-Vola-Bandbreiten-Skalierer (Concretum 2026, VIX→Pre-Open-RV-Transfer) auf Noise-Area-Breakout
Robustheits-Score 39.5/100 · AnekdoteWer zahlt und warum?
Die Noise-Area-Kante soll die Grenze markieren, jenseits der Stop-Orders von Range-Händlern und Momentum-Zuflüsse eine Fortsetzung tragen. Wo diese Stops und Liquiditätsgeber stehen, hängt am heute ERWARTETEN Rauschniveau: Market-Maker und Range-Händler weiten ihre Quotes und Stop-Abstände an Tagen, die bereits unruhig eröffnen (Vola-Clustering, Pre-Open-Futures-Flow, Overnight-News). Die 14-Tage-Minutenkurve des Trägers kennt dieses Niveau erst mit Verzögerung. An unruhigen Tagen liegt die Kante deshalb IM Rauschen: Die Stops sind dort noch nicht erreicht, es kommt zu Whipsaw-Ausbrüchen, die am VWAP ausgestoppt werden. An ruhigen Tagen liegt sie zu weit weg, und der Entry kommt erst, wenn der Stop-Cluster schon abgearbeitet ist. Ein Forward-Faktor aus dem Pre-Open-Vorlauf setzt die Kante dorthin, wo die Stops heute tatsächlich liegen.
Widerlegt, wenn: Trial 2 bleibt bei n >= 50 unter PF 0,85 oder verbessert den PF von Trial 1 um weniger als 0,10. Dann trägt der preisbasierte Forward-Proxy keine Kalibrierungs-Information über die gelaggte Minutenkurve hinaus. Das wäre die Proxy-Grenze des VIX-Befunds: Vorlauf-Unruhe ist kein Ersatz für implizite Vola.
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-20260926-1e73af40). |
| MehrfachtestsSind alle Versuche gezählt und wird dafür korrigiert? | Teilweise | 3 Varianten vor dem Lauf im Trial Ledger registriert (trl_6bc88e169922). 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-06, Datenstand 2026-09-25, 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? | Teilweise | 3 echte Varianten, 3 variierte Parameter (fwd_gamma, fwd_include_gap, use_fwd_scaler). 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_noise_area_breakout. Der Trial-Vergleich unten isoliert den Baustein-Beitrag (Trial 1 = Träger pur).
Hypothese & Vorregistrierung
Rationale: Ausstiegsquote unterschritten (stop_exit 17/178 = 9,6 % < 25 %), kein brauchbarer Exit-Lab-Befund verfügbar: Die zwei noch unverbauten Exit-Lab-Befunde (dax_pivot_level_reversal bt.pnl_pts −51,3; dax_timely_orb −503,8) sind paritätsgesperrt, und Exit-Lab-Policies lassen sich nicht auf andere Träger umleiten. Gebaut wird deshalb Research-Log 2026-09-20 Fund 1 (Concretum, Tier 2, baubar: ja): Die Breite des Intraday-Trend-Bands soll an der VORWÄRTS erwarteten Vola hängen, nicht an der gelaggten realisierten Vola. VIX/VDAX fehlt uns (Datenwand), daher dient die Pre-Open-Realized-Vola, optional mit Overnight-Move, als Forward-Proxy. Träger ist dax_noise_area_breakout, weil genau dieses SPY-Noise-Area-Modell (14-Tage-Minutenkurve = der gelaggte Input) Concretums Intraday-Trendfolge ist; das macht ihn treuer als den im Log vorgeschlagenen dax_squeeze_release. Letzterer trägt bereits 14 Bausteine, davon mehrere Vola-Gates; das ist genau die Konvergenz, vor der die Sperrfrist-Vorgabe warnt. Träger-Prüfung: Er fehlt in live_bt_parity.json, also fail-open. Das ist nur ein Formalbefund: Sein Backtest ist selbst negativ (PF 0,63, n=101), der A/B misst daher nur den Delta-Beitrag der Band-Kalibrierung und keinen handelbaren Edge. Keine Sperrfrist: letzter Baustein-Bezug 2026-06-27 (Ladder-Exit), also über 3 Monate ohne Test (Vielfalt). Der ebenfalls band-basierte dax_sigma_adaptive_breakout ist bis 2026-09-30 gesperrt (Exit-Lab 09-23). Portfolio-Empfehlung (LK-6): befolgt, bau_bausteinart = indicator und Familie Momentum. E13: indicator hat bisher 1/6 Treffer, eine dünne Basis ohne Aussage; Momentum steht bei 1/8. Das Argument über den Fund hinaus: Volatility-Breakout-/Band-Designs sind mit 5/11 die ergiebigste Familie im Lernsignal, und dieser Baustein ändert deren Kernparameter (Schwellen-Kalibrierung) statt eines weiteren Ein/Aus-Gates. Entscheidbarkeit: Der Träger handelt bis 3×/Tag, erwartet ≈ 25–30 Trades/Monat. Die Ergebnisstreuung ist durch den VWAP-Trail-Exit begrenzt (klarer Ausstieg statt offener Laufzeit), damit gehört das Design zu den schneller entscheidbaren. Kein Befund ab M3 in mechanism_findings.json. Die Hawkes-Selbsterregung (M2) passt thematisch (Vola-Cluster aus dem Vorlauf setzen sich in die Session fort), dient aber NICHT als Begründung. Vergleichslogik: Trial 1 = Träger pur (Skalierer aus), Trial 2 = Skalierer mit Pre-Open-RV, Trial 3 = Skalierer mit Pre-Open-RV + Overnight-Move.
Abweichungen von der Quelle: Die Quelle nutzt VIX (optionsimplizit) als Band-Input auf SPY. Umgesetzt ist ein preisbasierter Transfer: V_d = Summe der quadrierten 1m-Log-Returns des Pre-Open-Vorlaufs (Bars des Datums vor dem ersten MAIN-Bar, Warmup-Daten), optional plus quadrierter Overnight-Log-Return. Daraus scale = clamp((V_d / Median der Vortage)^(fwd_gamma/2), 0,5, 2,0) als multiplikativer Faktor auf die Noise-Area-Breite. Die Referenz stammt nur aus Vortagen (append-after-use, lookahead-frei). Bei weniger als 8 Referenztagen oder weniger als 20 Pre-Open-Bars gilt scale = 1. Die genaue VIX-Formel der Quelle ist paywall-limitiert; übernommen ist nur die relative Kernaussage (vorweggenommene statt gelaggte Vola). Die Event-Tag-Verstärkung aus dem Log ist NICHT gebaut, weil sie einen zusätzlichen Kalender braucht; der Proxy reagiert nur indirekt über die Vorlauf-Unruhe. Die SL-Distanz (= Zonenbreite, geklemmt auf 10–60 Pkt) skaliert konsistent mit. Die Träger-Portierung erfolgt ohne Uhrzeiten: Entry-Fenster 09:05–16:30 und EOD 17:30 des Trägers stehen jetzt in der Session-Spec. Der Session-Open wird über SessionLabel.MAIN erkannt (evtl. ±1 Bar gegenüber dem Träger). Die Vola-Kurve ist auf Minuten seit Open indiziert statt auf Minute des Tages; die Dev-Kurve sammelt alle Bars nach Open statt nur bis 17:30, was nur Minuten nach dem Entry-Fenster betrifft. Alle übrigen Träger-Regeln sind unverändert: Cross-only-Entry, VWAP-Trail (tick-count-gewichtet), SL, Time-Exit, max. 3 Trades/Tag, Cooldown 10. Der Plugin-Default ist use_fwd_scaler = true, damit das Optimizer-Grid den Baustein variiert; Trial 1 setzt ihn explizit auf false.
Quelle: https://concretumgroup.substack.com/p/can-vix-improve-intraday-trend-following
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- fwd_gamma: 0.5 / 1
- fwd_lookback_days: 10 / 20 / 40
- band_mult: 0.75 / 1 / 1.25
fwd_gamma 1,0 setzt die Quellen-Kernaussage um (voller Forward-Faktor, kein Lag), 0,5 ist das geometrische 50/50-Mittel aus gelaggter Kurve und Forward-Proxy (HAR-artige Mischung als Robustheitsachse gegen das Proxy-Risiko). fwd_lookback_days 10/20/40 decken zwei Wochen, einen Handelsmonat (Default) und zwei Monate als Normalniveau der Vorlauf-Varianz ab. band_mult 0,75/1,0/1,25 ist die Paper-Achse der Noise-Area (Zarattini: N = 1 als Default). Das Grid hat 18 Kombinationen und wurde vor jedem Ergebnis vorregistriert.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Träger pur (dax_noise_area_breakout-Regelwerk, Skalierer aus)use_fwd_scaler=false | 210 | 21,0% | 0,64 | -1.903 | 2.090 | 0,67 |
| Träger + Forward-Vola-Skalierer (Pre-Open-RV, fwd_gamma = 1, Quellen-Kern: kein Lag)use_fwd_scaler=true, fwd_include_gap=false, fwd_gamma=1 | 226 | 25,7% | 0,73 | -1.429 | 1.597 | — |
| Träger + Forward-Vola-Skalierer (Pre-Open-RV + Overnight-Move, fwd_gamma = 1, Log-Variante Overnight-RV)use_fwd_scaler=true, fwd_include_gap=true, fwd_gamma=1 | 195 | 21,0% | 0,79 | -967 | 1.635 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
0.47 – 1.25
86 Handelstage. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.45 – 1.2
Top-3-Trades am Gewinn
40%
PF bei +1.0 Pkt Slippage
0.72
Statistik-Härtung: Ertrag je Trade -4.96 Pkt; mit 80 % Sicherheit nachweisbar wäre erst ein Vorteil ab etwa 16.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 -966.9 Pkt vs. Placebo-Median 5151.9 / p95 6020.7 Pkt · Perzentil-Rang 0%
Kandidat <= p80 der Placebos — von Zufalls-Timing nicht klar unterscheidbar
| Regime | n | PF | PnL |
|---|---|---|---|
| volatile_day | 21 | 2.69 | +712 |
| trend_down_day | 1 | 99 | +145 |
| mixed_day | 7 | 0.1 | -29 |
| trend_up_day | 6 | 0 | -314 |
| range_day | 160 | 0.61 | -1481 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-09-27
Build + Backtest (Auto-Build-Agent)
Der Baustein verringerte den Verlust der Ausgangsstrategie auf der Bauhistorie, sie bleibt aber auch mit ihm verlustbringend. (A/B: PF 0.64->0.79, PnL -1903->-967) — Forward/Review noetig
2026-09-27
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Nicht gelaufen: Die Nikkei-Gegenprobe ist seit dem 17.09.2026 abgeschaltet (Betreiberentscheid: nur DAX).