Zum Inhalt springen
Alle Strategien

Strategien

BTC Cross-Session Momentum Carryover — Long-Short, Einzelinstrument OHLCV: Die Richtung der ASIA-Session-Bewegung sagt die US-Session-Bewegung voraus; Handle die US-Session in dieser Richtung ONLY, wenn die Asia-Bewegung groß ist, flach über Nacht (BINANCE BTCUSDT USD-M, 1H-Bars, Intraday, 2-Parameter)

Ergebnis: Verworfen

BtcAsiaToUsSessionCarryoverLS

Gut messbar: 594 Trades über die volle 2020-2026 1H-Historie, ausgewogen Long/Short (293/301), saubere Ausführung (594 signalisiert, 594 eingereicht, keine Abbrüche)

Hypothese

Eine LONG-SHORT, SINGLE-INSTRUMENT, rein-OHLCV INTRADAY-Strategie auf BTCUSDT.BINANCE USD-M Perpetual in einer wirklich anderen Familie als alles hier Anhängige oder Tote — sie ist NOT ein Trend/Breakout (Dual-TF-Momentum, SuperTrend, Donchian, ORB), NOT eine Mean-Reversion/Fade (beide tot) und NOT ein ergänzendes Feed-Signal (alle Nettoverlierer). Sie nutzt einen Intraday-SESSION LEAD-LAG: der gerichtete Ton, der während der partizipationsarmen ASIA-Session (00:00-08:00 UTC) gesetzt wird, neigt dazu, in die……Mehr anzeigenWeniger anzeigen

Eine LONG-SHORT, SINGLE-INSTRUMENT, rein-OHLCV INTRADAY-Strategie auf BTCUSDT.BINANCE USD-M Perpetual in einer wirklich anderen Familie als alles hier Anhängige oder Tote — sie ist NOT ein Trend/Breakout (Dual-TF-Momentum, SuperTrend, Donchian, ORB), NOT eine Mean-Reversion/Fade (beide tot) und NOT ein ergänzendes Feed-Signal (alle Nettoverlierer). Sie nutzt einen Intraday-SESSION LEAD-LAG: der gerichtete Ton, der während der partizipationsarmen ASIA-Session (00:00-08:00 UTC) gesetzt wird, neigt dazu, in die liquiditätsstärkere US-Session (13:00-21:00 UTC) zu PERSIST, da US/institutioneller Flow die Bewegung fortsetzt, statt sie umzukehren. An jedem UTC Tag werden Vorzeichen und Größe der Asia-Session-Rendite gemessen; wenn die Asia-Bewegung LARGE ist (ein echtes gerichtetes Signal, kein Rauschen), steigt die Strategie in die US-Session in SAME-Richtung ein und hält nur für diese Session, geht FLAT über Nacht (keine Funding-Exposure, kein Overnight-Gap, kein Mehrtages-Trend-Risiko). Dies unterscheidet sich vom anhängigen BTC-Opening-Range-Breakout (der eine Spanne BREAKOUT der ersten Stunden handelt) — hier gibt es keinen Breakout; es ist eine gerichtete CARRYOVER einer bereits etablierten Session-Bewegung in eine spätere, separate Session. Sie behält die überlebensfähigen Invarianten (Einzelinstrument, rein-OHLCV mit voller 2020-2026 1H-Historie, Long-Short, kein ergänzender Feed gemäß der Nettoverlierer-Lektion, kein zweites Bein gemäß L69) und ist auf die statistischen Tore ausgelegt: eine nahezu tägliche Kadenz ergibt eine LARGE Handelsanzahl (>100/Jahr), die die Messbarkeits-Stolperschwelle überschreitet und die deflated-Sharpe-Schätzung schärft, und nur 2 FREE Parameter (Asia-Bewegungs-Einstiegsschwelle, ATR-Stop-Multiple) minimieren die Best-of-225-Trial-Deflations-Strafe. Sie füllt auch den unterrepräsentierten Kurzhorizont-Bucket (8.6% vs 10%).

Iteration 2 behebt den Layer-2-Fehler wortgetreu: Alle sechs synthetischen Szenarien lösten 'TypeError: _day_of() takes 1 positional argument but 2 were given' aus. Das Layer-2-Harness bindet jedes aufrufbare Attribut des Proxys als BOUND-Methode neu, sodass die @staticmethod-Hilfsfunktionen _day_of/_hour_of die Instanz als erstes Argument und die Kerze als zweites erhielten. Korrektur: Beide sind jetzt einfache Instanzmethoden (self, bar) — die Aufrufstellen verwendeten bereits……Mehr anzeigenWeniger anzeigen

Iteration 2 behebt den Layer-2-Fehler wortgetreu: Alle sechs synthetischen Szenarien lösten 'TypeError: _day_of() takes 1 positional argument but 2 were given' aus. Das Layer-2-Harness bindet jedes aufrufbare Attribut des Proxys als BOUND-Methode neu, sodass die @staticmethod-Hilfsfunktionen _day_of/_hour_of die Instanz als erstes Argument und die Kerze als zweites erhielten. Korrektur: Beide sind jetzt einfache Instanzmethoden (self, bar) — die Aufrufstellen verwendeten bereits self._day_of(bar)/self._hour_of(bar), daher änderte sich sonst nichts und das Verhalten in der Engine ist identisch. Zweite defensive Änderung im selben Hilfspfad: Der vom Harness gemeldete Zeitstempel (1735690980000) ist in MILLISECONDS, während die Engine Nanosekunden liefert; der alte Code teilte bedingungslos durch 1e9, wodurch im Harness alle synthetischen Kerzen in dieselbe Stunde/denselben Tag gefallen wären und die Session-Logik eingefroren hätte (ein latenter zweiter Layer-2-Fehler, sobald der TypeError behoben wäre). Die neue Funktion _epoch_secs() normalisiert anhand der Größenordnung (ns/us/ms/s) und bleibt bei echten Nanosekunden-Kerzen wirkungslos; Layer-3 und der echte Backtest sind daher unbeeinträchtigt. Signalform, Ein-/Ausstiegsregeln, ATR, Positionsgröße, Imports und Klassenstruktur sind ansonsten unverändert gegenüber dem Code, der Layer 1 bereits bestanden hat.

Prämisse mit negativer Erwartung bei einer gut vermessenen Stichprobe über die gesamte Historie. Über 594 Trades in 2020-2026 verliert das Asia->US-Session-Carryover Geld: profit_factor 0.937 (<1), total_return -9.81%, Erwartungswert -$17.34/Trade, Sharpe-Quote -0.15 mit CI [-0.760, 0.458] über null hinweg, information_ratio -0.76. Das einzige positive Jahr ist 2020 (+15.3%); jedes folgende Jahr ist negativ oder seitwärts (2021 -8.1, 2022 -5.8, 2025 -10.8), wobei die rollierende Sharpe-Quote bis 2026 auf -8.3 tendiert — die Hypothese „eine große Bewegung in Asien sagt die Bewegung in US voraus“ bestätigt sich schlicht nicht. Auch die Gebühren lassen kaum Spielraum: avg_trade_return_pct 0.110% liegt unter der Binance-USD-M-Gebührenuntergrenze von 0.15% (L22). Mit nur 2 freien Parametern und einem Netto-Nachteil in der Richtungsprognose kann die Optimierung das Vorzeichen eines nicht vorhandenen Vorteils nicht umkehren. Dies ist das fee_edge/no_edge-Muster eines Netto-Verlierers — keine 2 Optimierungsstunden wert.

Umsetzung

BTCUSDT.BINANCE USD-M Perpetual, 1H-Bars, Long-Short-Intraday-Session-Lead-Lag. An jedem UTC Tag wird die Asia-Session-Rendite (00:00-08:00 UTC Open-to-Close) inkrementell akkumuliert und durch die Standardabweichung der letzten 30 Asia-Renditen normalisiert (ATR-basierter Dispersions-Fallback, während diese Historie aufwärmt), was einen kontinuierlichen skaleninvarianten Z-Score ergibt, der bei jedem Bar zurückgegeben wird. Zur Eröffnungsstunde der US-Session (13:00 UTC) steigt die Strategie in die SAME-Richtung……Mehr anzeigenWeniger anzeigen

BTCUSDT.BINANCE USD-M Perpetual, 1H-Bars, Long-Short-Intraday-Session-Lead-Lag. An jedem UTC Tag wird die Asia-Session-Rendite (00:00-08:00 UTC Open-to-Close) inkrementell akkumuliert und durch die Standardabweichung der letzten 30 Asia-Renditen normalisiert (ATR-basierter Dispersions-Fallback, während diese Historie aufwärmt), was einen kontinuierlichen skaleninvarianten Z-Score ergibt, der bei jedem Bar zurückgegeben wird. Zur Eröffnungsstunde der US-Session (13:00 UTC) steigt die Strategie in die SAME-Richtung entsprechend der Asia-Bewegung ein, wenn |z| >= entry_z, höchstens ein Einstieg pro Kalendertag. Sie verlässt die Position zur Schlussstunde der US-Session (20:00 UTC), sodass das Buch FLAT über Nacht ist (kein Funding, kein Gap-Risiko), oder früher bei einem ATR-basierten Stop (stop_atr_mult x ATR, begrenzt auf min_stop_pct). Das Sizing riskiert risk_frac des Eigenkapitals über die Stop-Distanz, begrenzt auf max_notional_frac x Bruttoeigenkapital. Der gesamte Zustand (ATR, Session-Rendite, Dispersions-Deque) ist O(1) pro Bar; der Tageswechsel ist am eigenen Zeitstempel des Bars verankert, nicht an einem Bar-Zähler.

Verifizierungsergebnisse

CLEAN RESTART 2026-09-04 — die Verdict-Historie und Lernaufzeichnungen dieses Durchlaufs wurden entfernt und er wurde bei der Verifizierung neu gestartet. Der vorherige Abbruch lag an der Pipeline, nicht am Markt: Das Layer-2-Harness band @staticmethod-Hilfsfunktionen falsch (behoben), QA gab bei einem nicht optimierten Smoke-Test endgültige Performance-Verdicts aus (entfernt — QA beurteilt jetzt nur noch die Korrektheit), und die Sandbox-Timeouts gingen auf einen Mangel an Backtest-Slots zurück (behoben). Die Hypothese und der Strategiekode sind unverändert. Beurteile den Code nach seinen eigenen Kriterien; über die Performance entscheiden später der vollständige Backtest und der Optimierer.

Füge _param_bounds = {entry_z: [...], stop_atr_mult: [...]} hinzu, passend zu den Code-Begrenzungen; lasse alle Session-Stunden/ATR/Risikokonstanten daraus heraus.

Die Konfiguration deklariert NO _param_bounds, obwohl die Hypothese auf „nur 2 FREE Parameter“ beruht, um die Deflationsstrafe des besten Ergebnisses aus -225 Versuchen zu minimieren. Ohne sie fehlt dem Optimierer eine explizite Suchfläche, die ihn auf {entry_z, stop_atr_mult} beschränkt, wodurch die Disziplin von 2 Parametern untergraben wird. Kein Korrektheitsfehler.

Setze us_exit_hour=21 für das gesamte Zeitfenster oder dokumentiere 20:00 als beabsichtigt.

Die Hypothese benennt die Session US UTC als 13:00-21:00, aber us_exit_hour ist 20; dadurch wird eine Stunde zu früh auf flat gewechselt. Geringfügig; ändert weder den Mechanismus noch die Flat-über-Nacht-Invariante.

Backtest-Prüfung

Sharpe
-0,15
Gesamtrendite
-9,81%
Max. Drawdown
23,40%
Trades gesamt
594
Trefferquote
44,8%
Profit-Faktor
0,94

Gut messbar: 594 Trades über die volle 2020-2026 1H-Historie, ausgewogen Long/Short (293/301), saubere Ausführung (594 signalisiert, 594 eingereicht, keine Abbrüche)

Tatsächlich eigenständige Intraday-Session-Lead-Lag-Familie; über Nacht flat, geringe Benchmark-Korrelation (0.025), keine Abhängigkeit von zusätzlichen Datenfeeds

Nettoverlierer: profit_factor 0.937 (<1), total_return -9.81%, Erwartungswert -$17.34/Trade, Sharpe -0.15 (CI umschließt null), information_ratio -0.76

avg_trade_return_pct 0.110% liegt unter der Binance-USD-M-Gebührenuntergrenze von 0.15% — kaum gebührentragfähig, selbst wenn man den negativen Erwartungswert ignoriert

Nur 2020 (+15.3%) ist nennenswert positiv; jedes Folgejahr ist negativ oder seitwärts (2025 -10.8%), die rollierende Sharpe-Quote tendiert bis 2026 auf -8.3 — die Prämisse eines Session-Carryovers weist keinen anhaltenden Vorteil auf

return_kurtosis 78.6 — holpriges Tape (z. B. ein -6.07%-Tag auf 2023-08-29) statt einer glatten Edge

Iterationsverlauf

Verifizierung fehlgeschlagen (Layer 2 — synthetische Szenarien): Verwendete Parameter: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Prüfe, ob __init__ alle Attribute mit self.parameters.get() setzt. - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp:……Mehr anzeigenWeniger anzeigen

Verifizierung fehlgeschlagen (Layer 2 — synthetische Szenarien): Verwendete Parameter: ['entry_z', 'min_bars', 'risk_frac', 'atr_period', 'min_notional', 'min_stop_pct', 'min_vol_days', 'us_exit_hour', 'asia_end_hour', 'stop_atr_mult', 'us_entry_hour', 'asia_start_hour', 'max_notional_frac', 'vol_lookback_days'] Prüfe, ob __init__ alle Attribute mit self.parameters.get() setzt. - steady_uptrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - steady_downtrend: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - flat_ranging: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - volatility_spike: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - zero_volume: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000) - price_gap: TypeError: BtcAsiaToUsSessionCarryoverLS._day_of() takes 1 positional argument but 2 were given (bar timestamp: 1735690980000)

Stratmill ist ein Tool für Research und Paper-Trading, keine Finanzberatung und kein Broker. Backtest- und Paper-Trading-Ergebnisse sind hypothetisch. Der Handel ist mit Verlustrisiken verbunden.