Versuchsdossier · alle Versuche im Kandidatenvergleich
DAX ADX-conditioned VWAP Reversion (Bhatti, Momentum Exhaustion)
Robustheits-Score 46.9/100 · vorläufigWer 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? | Nein | Keine Registrierung im Trial Ledger nachgewiesen. |
| Daten und KostenSind Datenfenster, Datenstand und Kosten festgehalten? | Nein | Kein Run-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 (4 Monate); Aufteilung nach Marktphasen vorhanden. |
| KomplexitätIst die Regel sparsam genug für die Datenmenge? | Ja | 3 echte Varianten, 2 variierte Parameter (adx_min_level, require_reaction_bar). 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. |
Hypothese & Vorregistrierung
Rationale: Bhatti-Drei-Filter-Reversion (SSRN 6454659): Fade an einem Vorsession-Extrem NUR bei grosser VWAP-Abweichung UND drehendem ADX (Momentum-Erschoepfungsfilter). Kernhypothese: der ADX-Dreh adressiert die klassische Reversion-Falle 'Fade im starken Trend = Tod' und filtert genau die Fehlsignale heraus, an denen der Incumbent dax_vwap_reversion (reine VWAP-Ueberdehnung + Reaktionsbar, konsistent negativ PF 0.79-0.90) scheitert. Tritt als CHALLENGER gegen dax_vwap_reversion an; substanziell anderes Regelwerk (Trigger an Vorsession-High/Low + Trendstaerke-Dreh statt purer Abweichung). VWAP-Reversion war bislang nie Auto-Build-Kandidat (laengst-ungetestete Familie -> Vielfalt vor Wiederholung).
Abweichungen von der Quelle: Quelle ist ein reines Konzeptpapier OHNE Backtest (FX 24h). Hier: DAX-Index 1m, Session 09:00-20:00 mit Session-VWAP-Neustart je Tag. Echtes Volumen-VWAP am CFD nicht verfuegbar -> Tick-Count-Proxy (typical-price-gewichtet), Volumen-VWAP-Vorbehalt bleibt. Exit/Targets/Sizing in der Quelle unspezifiziert -> Hausregeln: TP=Session-VWAP, SL=sl_atr_mult*ATR (min 10 Pkt), Time-Exit, Session-End. ADX-Dreh operationalisiert als adx[t] < adx[t-lookback] bei adx[t-lookback] >= adx_min_level.
Quelle: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=6454659
Vorregistriertes Optimizer-Grid (festgelegt VOR dem ersten Backtest — Anti-Overfitting)
- dev_atr_mult: 1.5 / 2 / 2.5
- adx_min_level: 20 / 25 / 30
- sl_atr_mult: 1.5 / 2
Die drei Achsen sind die literaturgestuetzten Kern-Freiheitsgrade der Quelle: (1) dev_atr_mult = Groesse der VWAP-Ueberdehnung (Bhattis 'grosse VWAP-Abweichung'), plausibel 1.5-2.5 ATR; (2) adx_min_level = wie stark der Trend vor dem Dreh sein musste, um den Klassik-ADX-Schwellenkorridor 20/25/30; (3) sl_atr_mult = Risiko-Skalierung des unspezifizierten Exits, konservativ 1.5-2.0. 3x3x2 = 18 Kombinationen (<=24), alle innerhalb MANIFEST-min/max, kein exotisches Mining.
Backtest-Trials (mit Slippage 0.5 Pkt)
| Trial | n | WR | PF | PnL (Pkt) | Max DD | PF o. Slip |
|---|---|---|---|---|---|---|
| Baseline (Bhatti-Default: ADX-Dreh + VWAP-Dev + Vorsession-Extrem, kein Reaktionsbar) | 112 | 26,8% | 0,97 | -68 | 542 | 1,02 |
| Strengerer Erschoepfungsfilter (ADX musste stark sein, adx_min_level 30)adx_min_level=30 | 95 | 28,4% | 1,04 | +74 | 478 | — |
| Mit Reaktionsbar-Bestaetigung (kein Messer fangen)require_reaction_bar=1 | 96 | 25,0% | 0,94 | -100 | 612 | — |
Robustheit (bestes Trial)
PF-90%-Bereich über Handelstage
—
Kein Tagesintervall gespeichert. Einzeltrade-Intervall (zu eng, nur zum Vergleich): 0.66 – 1.54
Top-3-Trades am Gewinn
25%
PF bei +1.0 Pkt Slippage
0.94
| Regime | n | PF | PnL |
|---|---|---|---|
| mixed_day | 4 | 3.33 | +131 |
| volatile_day | 1 | 99 | +108 |
| range_day | 68 | 1.04 | +46 |
| trend_up_day | 13 | 1.16 | +43 |
| trend_down_day | 9 | 0.16 | -254 |
Test-Timeline
Jeder weitere Test dieses Builds (Optimizer-Sweep, Forward-Monat, Re-Run) erscheint hier automatisch.
2026-07-03
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-07-03
Nikkei-Gegenprobe (Transfer-Test, ATR-skaliert)
Keine Signale im Nikkei-Handelsfenster (02:00–08:00 Berlin) — kein Transfer-Ergebnis.