Spring til indhold

Vis original

BtcTakerFlowExhaustionReversalLS1H

Hypoteser

BTC Taker-Flow Exhaustion Reversal, Long-Short (Enkeltinstrument BINANCE USD-M Perp, 1h Bars, Fade af Ekstrem Aggressor-ubalance — Short af Late-Stage FOMO Buying / Buy Panic Selling — Range-Regime Gated, Nyt Taker-Ratio-signal, 3-Parameter)

Hypoteser

En LONG-SHORT, enkeltinstrument mean-reversion-strategi på BTCUSDT.BINANCE (USD-M perp, 1h bars) drevet af ORDER FLOW, ikke pris — et signalinput, som ingen implementeret strategi bruger. Pr. bar beregner den taker buy/sell-aggressorubalancen (taker-buy volumenfraktion) ud fra Binance futures' supplerende taker-ratio-data (fallback: aggressor-klassificeret trade_ticks), udglattet over et kort vindue. Tese: når aggressorkøb bliver ekstremt og vedvarende (f.eks. taker-buy-fraktion ≥ 0.68 over udglatningsvinduet), er den marginale markedskøber en sen-stadie FOMO / tvungen dækning uden frisk limitefterspørgsel bag sig — aggressorudmattelse, der pålideligt går forud for et kortsigtet tilbagefald, så FADE den SHORT. Symmetrisk er ekstrem vedvarende taker-SELL-aggression (fraktion ≤ 0.32) panik-/kapitulationssalg ind i tyndende offers — gå LONG. Dette er bevidst en DIFFERENT-familie i forhold til alt, der dør i denne fabrik: den er NOT trend-following (kirkegården for 209-død enkelt-regime — den er kontrær og regime-fordelt og betaler sig, uanset i hvilken retning flowet over-ekstenderer), NOT funding-carry (den mættede gebyr-døende kurvfamilie — dens edge er en 0.4–0.6% reversal-bevægelse, ikke en cash flow under en basispoint), NOT en N-leg-kurv (den er enkeltinstrument, 2 fills pr. round-trip, så den omgår L12's 2N×10bps-gebyrmur), og NOT optioner (ingen trade-antal-mur — ekstreme flow-hændelser udløses snesevis af gange om året, hvilket giver hundredvis af trades til pålidelig edge-måling). Den er gated til NON-TRENDING-regimer (fade kun når et langsomt trendfilter er fladt/range-bundet) for at undgå den ene reelle fejltilstand — ekstremt flow, der er INFORMED fortsættelse snarere end udmattelse. 3 få parametre (flow-udglatningsvindue, ubalancetærskel, exit) holder den overfit-resistent.

Hypoteser

Iteration 3 adresserer den eneste Layer-4-QA-fejl: trade-sult (6 trades/363d) fra en for stram sammensat gate. Ingen ændring af mekanisme, import eller signallogik (disse bestod Layers 1-3); kun de tre entry-/exit-throttles lempes, så strategien når op over den ~100-trade målbarhedsgrænse. entry_z 1.2->0.8 udløses ved flere flow-ekstremer, mens den forbliver over støjniveauet og over 0.10% round-trip taker-omkostningen (tesens reversal er 0.4-0.6%). regime_threshold 0.55->0.65 tillader flere range-bundne bars, så konjunktionen af range-AND-ekstrem-z stopper med at forstærke sjældenheden, samtidig med at stærke trends stadig udelukkes (fejltilstanden med informeret fortsættelse). exit_z 0.3->0.25 og max_hold_bars 24->10 øger omsætningshastigheden, hvilket bringer strategien tilbage til flat hurtigere og mangedobler antallet af entry-vinduer pr. år. Det rullende z-skala-invariante signal (L5) og det kontrære, regime-fordelte enkeltinstrument-design, der differentierer denne fra trend-/carry-/kurv-/optionskirkegården, er uændret.

Hypoteser

Enkelt-perp taker-flow-udmattelsesfade med negativ forventningsværdi, ingen edge og en supplerende datamur (L73/L55). profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), forventningsværdi -$62.6/trade, avg_trade_return_pct 0.0146% (~nul, nettotaber); avg_loss > avg_win med win_rate 0.447, så faden er på den forkerte side af flowet. Afgørende er, at på trods af 58,512 bars over 2019-2026, falder ALL 85 trades og 100% af afkastene i et enkelt ~6-måneders 2026-vindue, fordi det supplerende taker_ratio-feed kun dækker en nyere periode — annual_returns={2026:-5.32}, månedligt 2026-03..08 — så en 3-vindues walk-forward plus 20%-holdout kan ikke opbygges. Dette er det samme order-flow-gated enkelt-perp-mønster, som allerede er opgivet tre gange i denne batch (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout). Ingen parameterjustering vender en negativ edge pr. trade til positiv, og optimizeren kan ikke købe sig til den kalenderdækning, feedet mangler. Ikke 2 timers optimering værd. Fejlmønster: fee_edge/no_edge enkelt-perp order-flow-gated fade med kun nylig supplerende datavindue.

Implementering

Long-short order-flow mean-reversion på BTCUSDT.BINANCE USD-M perp (1h bars). Beregner en rullende z-score for den udglattede taker-buy-aggressorfraktion ud fra Binances supplerende taker_ratio-data; fader ekstremt vedvarende aggressorkøb SHORT (sen-stadie FOMO-udmattelse) og ekstremt aggressorsalg LONG (panik-kapitulation), kun i et range-bundet regime (lav Kaufman-effektivitetsratio). Afslutter ved flow-normalisering, et 1% hard stop, eller et tidsloft. Enkeltinstrument, leverage 1.0, 3 centrale parametre.

Verifikationsresultater

CLEAN RESTART 2026-09-04 — denne kørsels verdikthistorik og læringsdata blev fjernet, og den blev genstartet fra verifikation. Dens tidligere opgivelse skyldtes pipelinen, ikke markedet: Layer-2-testrammen bandt @staticmethod-hjælpefunktioner forkert (rettet), QA udstedte endelige performance-domme på en uoptimeret røgtest (fjernet — QA vurderer nu kun korrekthed), og sandbox-timeouts skyldtes sult efter backtest-pladser (rettet). Hypotesen og strategikoden er uændrede. Verificer koden på dens egne præmisser; performance afgøres senere af den fulde backtest og optimizeren.

Verifikationsresultater

Reducer standardværdien for taker_lag_seconds til ~7200-14400s, så forældede feeds undertrykker indgange.

Verifikationsresultater

taker_lag_seconds har som standard værdien 90000 (25 timer), så _current_fraction accepterer en taker_ratio-observation, der er op til ~25h forældet, før den returnerer None. Ikke et look-ahead (bisect-grænsen er ensidig ved bar ts_event <= ts_init), men ved huller i feedet handler strategien på en dagsgammel flow-aflæsning.

Verifikationsresultater

Tilføj kun til _frac_buf, når self._tk_ts[idx] rykker frem.

Verifikationsresultater

_current_fraction returnerer den seneste observation uanset nyhed, så den samme fraktion gentilføjes til _frac_buf hver bar, indtil feedet rykker frem, hvilket i mindre grad komprimerer den rullende z-baseline-std. Ikke et korrekthedsbrud ved 1h-kadence.

Backtest-gennemgang

Ren enkeltinstrument-implementering (2 fills/round-trip, ingen kurv-gebyrmur), regime-gated, kun 3 centrale parametre — overfit-resistent i selve konstruktionen

Backtest-gennemgang

Order-flow-signalinput er reelt differentieret fra trend-/carry-/kurv-kirkegårdene

Backtest-gennemgang

Nettotaber uden edge: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), forventningsværdi -$62.6/trade, avg_trade_return_pct 0.0146% (~nul og negativt fortegn)

Backtest-gennemgang

avg_loss ($301) overstiger avg_win ($232) med win_rate 0.447 — udmattelsesfaden er systematisk på den forkerte side af flow-bevægelsen

Backtest-gennemgang

Supplerende datamur (L73): alle 85 trades og 100% af afkastene falder i et enkelt ~6-måneders 2026-vindue (annual_returns={2026:-5.32}, månedligt 2026-03..08), fordi taker_ratio-feedet kun dækker en nyere del af 2019-2026 OHLCV-historikken — den effektive stikprøve kan ikke understøtte en 3-vindues walk-forward + 20%-holdout

Backtest-gennemgang

commission_pct_of_gross 47% — gebyrer plus impact opsluger allerede halvdelen af bruttoresultatet, selv før edgen med negativt fortegn

Backtest-gennemgang

Matcher klassen af enkelt-perp order-flow-gated strategier med nul overlevende (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout alle opgivet) samt L55 sub-1.15-PF single-name fade-klassen

Backtest-gennemgang

6mdr (kun 2026)

Backtest-gennemgang

flerårig

Iteration History

Verifikation mislykkedes (Layer 3 — sandbox-backtest): Ingen trades produceret Anvendt bar-type: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Bars behandlet: 8729 Diagnostik: should_enter() returnerede en side 0 gange ud af 8679 evaluerede bars -> din ENTRY CONDITION blev aldrig udløst. Lempe entry-logikken / tærsklerne. Sørg for, at din strategi producerer trades med de givne data og parametre.

Iteration History

Verifikation mislykkedes (Layer 4 — QA-gennemgang): - Entry-gaten udløses alt for sjældent til at give et målbart resultat. Sandboxen genererede kun 6 trades over 363 dage (~6 trades/år). Den sammensatte gate kræver samtidig (a) et RANGING-regime (Kaufman-effektivitetsratio < regime_threshold), (b) en ekstrem rullende z-score for taker-buy-fraktionen (|z| >= entry_z=1.2), og (c) at strategien er FLAT, og holder derefter i op til 24 bars -- så reelle indgange er sjældne, selvom z krydser båndet ofte. Dette er præcis den samme L16-fejltilstand ('BTC 4H aggressorubalance 16 trades', 'BTC taker-ratio 16 trades'), og den er WORSE her (6 trades). Selv en flerårig backtest med denne rate forbliver langt under den ~100-trade målbarhedsgrænse. Hypotesens egen begrundelse ('snesevis af gange om året, hundredvis af trades til pålidelig edge-måling') modsiges direkte af resultatet på 6 trades. - Fordi resultatet hviler på 6 trades, er hver eneste hovedmetrik ikke-diagnostisk: Sharpe 0.84, men sharpe_ci_low -1.08 (CI spænder over nul), profit_factor 10.26 og win_rate 0.667 på 6 stikprøver, return_skew 7.23 / kurtosis 94.8, og avg_win $300 mod avg_loss $58 -- en enkelt largest_win på $662 bærer hele det positive afkast (+1.08%). Ingen af disse kan betragtes som pålidelig dokumentation for edge. Dette er en direkte konsekvens af trade-antal-problemet ovenfor, ikke en selvstændig fejl.

Iteration History

Verifikation mislykkedes (Layer 4 — QA-gennemgang): - Kerneedgen er negativ og under gebyrerne, hvilket falsificerer hypotesens centrale påstand. Hypotesen angiver, at faden fanger en '0.4-0.6% reversal move'; sandboxen måler avg_trade_return_pct -0.025% -- negativ, og en størrelsesorden under både påstanden og 0.15% futures-gebyrgulvet. Understøtter en reel manglende edge (ikke blot støj): profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 med et INVERTED reward/risk-forhold (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35. Afgørende er, at dette fremkom BECAUSE, da iter-3-lempelsen (entry_z 1.2->0.8, regime_threshold 0.55->0.65) tilføjede trades: de ekstra indgange blev udløst ved svagere flow-ekstremer, som NOT ikke vendte tilbage, hvilket trak den gennemsnitlige edge i negativ retning. Det er direkte bevis for, at taker-flow-udmattelsessignalet ikke har nogen reversal-alpha, der dækker omkostningerne -- barer med ekstrem aggressor-ubalance vender ikke systematisk tilbage til middelværdien ved disse tærskler. - Antallet af trades er stadig under målbarhedsgrænsen. iter-3 øgede trades fra 6 til 26 over 363 dage (~26/år), men det forbliver et godt stykke under den ~100-trade-grænse, der er nødvendig for at adskille edge fra støj (L16; søsterforsøgene med BTC aggressor-ubalance/taker-ratio døde ved 16 trades). Med 26 trades og skævhed -4.83 / kurtosis 43 (et enkelt tab på -$945 dominerer) er nøgletallene stadig støjdomineret -- Sharpe CI spænder fra -2.73 til +0.07. Udvikleren er fanget mellem to fejlende regimer: strammere gate -> ikke målbart (6 trades), løsere gate -> nogenlunde målbart, men negativ edge (26 trades, -0.025%/trade). Begge fejler.
Strategirapport

Stratmill er et research- og papirhandelsværktøj, ikke finansiel rådgivning eller en mægler. Backtest- og papirresultater er hypotetiske. Handel indebærer risiko for tab.