BtcTakerFlowExhaustionReversalLS1H
Hypothesen
BTC Taker-Flow-Erschöpfungs-Umkehr, Long-Short (Single-Instrument BINANCE USD-M Perp, 1h-Bars, Fade bei extremer Aggressor-Imbalance — Short bei spätem FOMO-Kauf / Verkauf bei Kaufpanik — Range-Regime-Gated, neuartiges Taker-Ratio-Signal, 3-Parameter)
Hypothesen
Eine LONG-SHORT-Single-Instrument-Mean-Reversion auf BTCUSDT.BINANCE (USD-M Perp, 1h-Bars), getrieben von ORDER FLOW, nicht Preis — ein Signaleingang, den keine deployte Strategie verwendet. Pro Bar berechnet sie die Taker-Buy/Sell-Aggressor-Imbalance (Taker-Buy-Volumen-Fraktion) aus Binance-Futures-Taker-Ratio-Supplementary-Daten (Fallback: aggressor-klassifizierte trade_ticks), geglättet über ein kurzes Fenster. These: wenn Aggressor-Käufe extrem und anhaltend werden (z.B. Taker-Buy-Fraktion ≥ 0.68 über das Glättungsfenster), ist der marginale Marktkäufer Spätphasen-FOMO / erzwungene Deckung ohne frische Limit-Nachfrage dahinter — Aggressor-Erschöpfung, die zuverlässig einem kurzfristigen Pullback vorausgeht, also FADE es SHORT. Symmetrisch dazu ist extreme anhaltende Taker-SELL-Aggression (Fraktion ≤ 0.32) Panik/Kapitulations-Marktverkauf in dünner werdende Angebote — gehe LONG. Dies ist bewusst eine DIFFERENT-Familie von allem, was in dieser Fabrik stirbt: es ist NOT Trend-Folgend (der 209-Todes-Single-Regime-Friedhof — es ist konträr und regimeverteilt, zahlend in jede Richtung, in die Flow übertreibt), NOT Funding-Carry (die gesättigte gebührensterbende Basket-Familie — seine Kante ist eine 0.4–0.6%-Umkehrbewegung, kein Sub-Basispunkt-Cashflow), NOT ein N-Bein-Korb (es ist Single-Instrument, 2 Fills pro Round-Trip, also umgeht es L12s 2N×10bps-Gebührenmauer), und NOT Optionen (keine Trade-Anzahl-Mauer — extreme Flow-Ereignisse treten Dutzende Male pro Jahr auf und liefern Hunderte von Trades für zuverlässige Kantenmessung). Es ist auf NON-TRENDING-Regimes gegated (Fade nur, wenn ein langsamer Trendfilter flach/seitwärts ist), um den einen echten Fehlermodus zu vermeiden — extremen Flow, der INFORMED-Fortsetzung statt Erschöpfung ist. 3 niedrige Parameter (Flow-Glättungsfenster, Imbalance-Schwelle, Exit) halten es überanpassungsresistent.
Hypothesen
Iteration 3 adressiert den einzigen Layer-4 QA-Fehler: Trade-Hunger (6 Trades/363d) durch ein zu strenges Compound-Gate. Keine Mechanik-, Import- oder Signal-Logik-Änderung (die bestanden Layer 1-3); nur die drei Einstiegs-/Ausstiegsdrosseln werden gelockert, damit die Strategie die ~100-Trade-Messbarkeitsuntergrenze überschreitet. entry_z 1.2->0.8 feuert bei mehr Flow-Extremen, während es jenseits des Rauschens und über den 0.10%-Round-Trip-Taker-Kosten bleibt (die Thesen-Umkehr ist 0.4-0.6%). regime_threshold 0.55->0.65 lässt mehr Seitwärts-Bars zu, sodass die Seitwärts-AND-Extrem-z-Konjunktion aufhört, Seltenheit zu kompoundieren, während starke Trends weiterhin ausgeschlossen werden (der informierte Fortsetzungs-Fehlermodus). exit_z 0.3->0.25 und max_hold_bars 24->10 beschleunigen den Umschlag, bringen die Strategie schneller zurück auf Flat und vervielfachen die Anzahl der Einstiegsfenster pro Jahr. Das Rolling-z-skaleninvariante Signal (L5) und das konträre, regimeverteilte Single-Instrument-Design, die dies vom Trend/Carry/Basket/Options-Friedhof unterscheiden, sind unverändert.
Hypothesen
Negativ-Erwartungswert-Single-Perp-Taker-Flow-Erschöpfungs-Fade ohne Kante und mit einer Supplementary-Data-Mauer (L73/L55). profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), Erwartungswert -$62.6/Trade, avg_trade_return_pct 0.0146% (~null, Netto-Verlierer); avg_loss > avg_win mit win_rate 0.447, also liegt der Fade auf der falschen Seite des Flows. Entscheidend ist, dass trotz 58,512 Bars über 2019-2026, ALL 85 Trades und 100% der Renditen in ein einziges ~6-monatiges 2026-Fenster fallen, weil der taker_ratio-Supplementary-Feed nur einen aktuellen Slice abdeckt — annual_returns={2026:-5.32}, monatlich 2026-03..08 — daher kann kein 3-Fenster-Walk-Forward plus 20%-Holdout aufgebaut werden. Dies ist dieselbe Order-Flow-Gated-Single-Perp-Signatur, die in dieser Charge bereits dreimal aufgegeben wurde (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout). Keine Parameteroptimierung dreht eine negative Per-Trade-Kante ins Positive, und der Optimierer kann keine Kalenderabdeckung kaufen, die der Feed nicht hat. Nicht 2 Stunden Optimierung wert. Fehlermuster: fee_edge/no_edge Single-Perp-Order-Flow-Gated-Fade mit nur aktuellem Supplementary-Fenster.
Umsetzung
Long-Short-Order-Flow-Mean-Reversion auf BTCUSDT.BINANCE USD-M Perp (1h-Bars). Berechnet einen Rolling-z-Score der geglätteten Taker-Buy-Aggressor-Fraktion aus Binance-taker_ratio-Supplementary-Daten; fadet extreme anhaltende Aggressor-Käufe SHORT (Spätphasen-FOMO-Erschöpfung) und extreme Aggressor-Verkäufe LONG (Panik-Kapitulation), nur in einem seitwärts laufenden (niedriges Kaufman-Effizienz-Verhältnis) Regime. Exits bei Flow-Normalisierung, einem 1%-Hard-Stop oder einer Zeitbegrenzung. Single-Instrument, Hebel 1.0, 3 Kern-Tunables.
Verifizierungsergebnisse
CLEAN RESTART 2026-09-04 — Urteilschronik und Lernprotokolle dieses Laufs wurden entfernt und er wurde ab der Verifikation neu gestartet. Die vorherige Aufgabe kam von der Pipeline, nicht vom Markt: die Layer-2-Harness hat @staticmethod-Helfer fehlerhaft gebunden (behoben), QA hat Endleistungsurteile über einen nicht optimierten Smoke-Test gefällt (entfernt — QA bewertet jetzt nur Korrektheit), und Sandbox-Timeouts kamen von Backtest-Slot-Hunger (behoben). Hypothese und Strategiecode sind unverändert. Verifiziere den Code nach seinem Verdienst; die Leistung wird später durch den vollständigen Backtest und den Optimierer entschieden.
Verifizierungsergebnisse
Reduziere taker_lag_seconds-Default auf ~7200-14400s, damit veraltete Feeds Einstiege unterdrücken.
Verifizierungsergebnisse
taker_lag_seconds defaulted auf 90000 (25 Stunden), also akzeptiert _current_fraction eine taker_ratio-Beobachtung bis zu ~25h veraltet, bevor None zurückgegeben wird. Kein Look-Ahead (Bisect-Schranke ist einseitig bei Bar ts_event <= ts_init), aber bei Feed-Lücken handelt die Strategie auf einer eintägigen Flow-Lesung.
Verifizierungsergebnisse
An _frac_buf nur anhängen, wenn self._tk_ts[idx] fortschreitet.
Verifizierungsergebnisse
_current_fraction gibt die letzte Beobachtung unabhängig von der Aktualität zurück, daher wird dieselbe Fraktion jeder Bar an _frac_buf neu angehängt, bis der Feed fortschreitet, was die Rolling-z-Baseline-Std leicht komprimiert. Kein Korrektheitsbruch bei 1h-Kadenz.
Backtest-Prüfung
Saubere Single-Instrument-Implementierung (2 Fills/Round-Trip, keine Basket-Gebührenmauer), Regime-Gated, nur 3 Kern-Tunables — überanpassungsresistent per Konstruktion
Backtest-Prüfung
Order-Flow-Signaleingabe ist wirklich differenziert von den Trend/Carry/Basket-Friedhöfen
Backtest-Prüfung
Netto-Verlierer ohne Kante: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), Erwartungswert -$62.6/Trade, avg_trade_return_pct 0.0146% (~null und negatives Vorzeichen)
Backtest-Prüfung
avg_loss ($301) übersteigt avg_win ($232) mit win_rate 0.447 — der Erschöpfungs-Fade liegt systematisch auf der falschen Seite der Flow-Bewegung
Backtest-Prüfung
Supplementary-Data-Mauer (L73): alle 85 Trades und 100% der Renditen fallen in ein einziges ~6-monatiges 2026-Fenster (annual_returns={2026:-5.32}, monatlich 2026-03..08), weil der taker_ratio-Feed nur einen aktuellen Slice der 2019-2026 OHLCV-Historie abdeckt — die effektive Stichprobe kann kein 3-Fenster-Walk-Forward + 20%-Holdout stützen
Backtest-Prüfung
commission_pct_of_gross 47% — Gebühren plus Impact verbrauchen bereits die Hälfte des Brutto, noch bevor die Kante mit negativem Vorzeichen hinzukommt
Backtest-Prüfung
Stimmt mit der Zero-Survivor-Single-Perp-Order-Flow-Gated-Klasse überein (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout alle aufgegeben) und der L55-Sub-1.15-PF-Single-Name-Fade-Klasse
Backtest-Prüfung
6Mo (2026 nur)
Backtest-Prüfung
mehrjährig
Iteration History
Verifikation fehlgeschlagen (Layer 3 — Sandbox-Backtest): Keine Trades produziert
Verwendeter Bar-Typ: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Verarbeitete Bars: 8729
Diagnostik: should_enter() gab eine Seite 0 Mal über 8679 ausgewertete Bars zurück -> dein ENTRY CONDITION wurde nie ausgelöst. Locke die Einstiegslogik / Schwellenwerte.
Stelle sicher, dass deine Strategie mit den gegebenen Daten und Parametern Trades produziert.
Iteration History
Verifikation fehlgeschlagen (Layer 4 — QA-Review):
- Das Einstiegs-Gate feuert viel zu selten, um ein messbares Ergebnis zu produzieren. Die Sandbox generierte nur 6 Trades über 363 Tage (~6 Trades/Jahr). Das Compound-Gate erfordert gleichzeitig (a) ein RANGING-Regime (Kaufman-Effizienz-Verhältnis < regime_threshold), (b) ein extremes Rolling-z der Taker-Buy-Fraktion (|z| >= entry_z=1.2) und (c) dass die Strategie FLAT ist, hält dann bis zu 24 Bars -- also sind echte Einstiege selten, obwohl z das Band oft kreuzt. Dies ist genau der L16-Fehlermodus ('BTC 4H Aggressor-Imbalance 16 Trades', 'BTC Taker-Ratio 16 Trades'), und er ist WORSE hier (6 Trades). Selbst ein mehrjähriger Backtest in dieser Rate bleibt weit unter der ~100-Trade-Messbarkeitsuntergrenze. Die eigene Begründung der Hypothese ('Dutzende Male pro Jahr, Hunderte von Trades für zuverlässige Kantenmessung') wird direkt durch das 6-Trade-Ergebnis widerlegt.
- Da das Ergebnis auf 6 Trades beruht, ist jede Top-Metrik nicht diagnostisch: Sharpe 0.84, aber sharpe_ci_low -1.08 (CI überspannt null), profit_factor 10.26 und win_rate 0.667 auf 6 Samples, return_skew 7.23 / Kurtosis 94.8, und avg_win $300 vs avg_loss $58 -- ein einzelner largest_win $662 trägt die gesamte positive Rendite (+1.08%). Keine davon kann als Beweis für eine Kante vertraut werden. Dies ist eine direkte Folge des oben genannten Trade-Anzahl-Problems, kein unabhängiger Defekt.
Iteration History
Verifikation fehlgeschlagen (Layer 4 — QA-Review):
- Die Kernkante ist negativ und liegt unter den Gebühren, was die zentrale Behauptung der Hypothese widerlegt. Die Hypothese besagt, der Fade erfasst eine '0.4-0.6%-Umkehrbewegung'; die Sandbox misst avg_trade_return_pct -0.025% -- negativ und eine Größenordnung unterhalb sowohl der Behauptung als auch der 0.15%-Futures-Gebührenuntergrenze. Eine echte Kantenlosigkeit (nicht nur Rauschen) bestätigend: profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 mit einem INVERTED Risiko/Ertrag (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35. Entscheidend ist, dass dies BECAUSE der iter-3-Lockerung (entry_z 1.2->0.8, regime_threshold 0.55->0.65) zusätzliche Trades hinzufügte: die zusätzlichen Einstiege wurden bei schwächeren Flow-Extremen ausgelöst, die NOT revertierten, und zogen die durchschnittliche Kante ins Negative. Das ist ein direkter Beweis, dass das Taker-Flow-Erschöpfungs-Signal keine Umkehr-Alpha hat, die die Kosten deckt -- extreme Aggressor-Imbalance-Bars revertieren bei diesen Schwellenwerten nicht systematisch.
- Die Trade-Anzahl liegt immer noch unter der Messbarkeitsuntergrenze. iter-3 erhöhte die Trades von 6 auf 26 über 363 Tage (~26/Jahr), aber das bleibt deutlich unter der ~100-Trade-Untergrenze, die nötig ist, um Kante von Rauschen zu unterscheiden (L16; die Geschwister-BTC-Aggressor-Imbalance/Taker-Ratio-Versuche starben bei 16 Trades). Mit 26 Trades und Schiefe -4.83 / Kurtosis 43 (ein einzelner -$945-Verlust dominiert), sind die Metriken immer noch rauschdominiert -- die Sharpe-Spanne CI reicht von -2.73 bis +0.07. Der Entwickler steckt zwischen zwei scheiternden Regimen fest: strengeres Gate -> nicht messbar (6 Trades), lockereres Gate -> messbar-ish aber negative Kante (26 Trades, -0.025%/Trade). Beide scheitern.
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.