Spring til indhold
Alle strategier

Strategier

Hyperliquid SOL Perp Funding-Extreme Contrarian — Long-Short, Enkeltnavn: FADE Overfyldt Positionering Når Rullende Funding Z-Score Rammer et Ekstrem (Meget Positiv Funding = Overbelånte Longs → SHORT; Meget Negativ = Kapitulerede Shorts → LONG), Bekræftet af Pris-Ikke-Bekræftelse, Exit ved Funding-Reversion / ATR-Stop / Tidsstop (SOLUSDT.HYPERLIQUID, 4H, 3-Parameter)

Resultat: Opgivet

HyperliquidSolFundingExtremeContrarian

Mekanismen udløses rent og producerer en tilstrækkelig stikprøve (201 handler over 953 dage) uden timeout — O(log n)-funding-implementeringen fungerer som tilsigtet

Hypotese

En LONG-SHORT, enkelt-instrument, POSITIONING-drevet contrarian-strategi på Hyperliquid SOL-perpetualen, opbygget omkring et NON-OHLCV mekanisk signal — perpetual FUNDING — brugte OPPOSITE-vejen til fabrikkens døde cash-and-carry-familie. Dette er NOT en delta-neutral carry (som døde, fordi funding-P&L var for lille i forhold til basis-støj) og NOT pris-momentum (de HL momentum-kurve er 0/84). I stedet bruges funding som en overfyldnings-/positioneringsmåler til at time en DIRECTIONAL-fade: det velunderbyggede……Vis mereVis mindre

En LONG-SHORT, enkelt-instrument, POSITIONING-drevet contrarian-strategi på Hyperliquid SOL-perpetualen, opbygget omkring et NON-OHLCV mekanisk signal — perpetual FUNDING — brugte OPPOSITE-vejen til fabrikkens døde cash-and-carry-familie. Dette er NOT en delta-neutral carry (som døde, fordi funding-P&L var for lille i forhold til basis-støj) og NOT pris-momentum (de HL momentum-kurve er 0/84). I stedet bruges funding som en overfyldnings-/positioneringsmåler til at time en DIRECTIONAL-fade: det velunderbyggede resultat, at når perp-funding er ekstremt positiv, er longs overbelånte og betaler for at holde — en tilstand, der historisk går forud for LOWER fremadrettede perp-afkast (squeeze-/washout-risiko), og symmetrisk markerer ekstremt negativ funding kapitulerede shorts, som går forud for opsving. Valgt til at udfylde tre underrepræsenterede kategorier på én gang: HYPERLIQUID (6.8% vs. 20%-mål), long_short (14.2%), og en datasikker ikke-OHLCV-edge, der ikke er i OHLCV overfit-kirkegården. Enkeltnavn og 3-parameter bevidst, for at holde den implementerbar (de multi-instrument HL-kurve døde i kodnings-timeouts) og for at modstå overfitting. IMPLEMENTATION NOTE: vedligehold funding-baseline som en rullende deque, der opdateres inkrementelt (O(1) pr. opdatering) — NEVER genscan den fulde funding-serie inde i on_bar (det mønster forårsagede de gentagne 300s sandbox-timeouts).

Iteration 2 løser den ene Layer-2-fejl (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`, alle seks scenarier). Layer-2 `_StrategyProxy` rebinder hver kaldbar attribut på strategien til en simpel wrapper via `types.MethodType`, hvilket konverterer basisklassens et-argument `_bar_ts`-staticmethod til en bundet metode — så `self._bar_ts(bar)` ankommer med to argumenter. Den minimale rettelse erstatter dette ene kald med en modul-niveau `_bar_timestamp_ns(bar)`-hjælpefunktion, der læser `bar.ts_event` (med fallback til `ts_init`) direkte — adfærdsmæssigt identisk, immun over for proxyens rebinding. Intet andet er ændret: imports, klassestruktur, funding-parsing, signallogik, entries, exits og sizing er byte-identiske med previous_code, som bestod Layer 1, så ingen tidligere kontrol kan regressere. Bemærk at `_bar_interval_ns` stadig kaldes fra `__init__`, som kører på den rigtige instans, før proxyen rebinder noget, så den er upåvirket. Leverage 2.0 forbruges i `position_size` via `self.config.leverage` i det brutto-nominelle loft.

Negativ forventningsværdi enkeltnavn funding-ekstrem contrarian-fade — ingen edge at optimere. PF 0.60, total_return -33.7%, Sharpe -0.42, forventningsværdi -$156/handel, og avg_trade_return_pct -0.37% (negativ, under 0.15% Hyperliquid-gebyrgulvet, L22). Tabsgivende i hvert år (2024 -14.8%, 2025 -13.8%, 2026 -6.5%) med både long- og short-ben under-43% vindrate og avg_loss > avg_win — contrarian-faden er systematisk på den forkerte side af bevægelsen, og den eneste positive måned er en enkelt +10.77% outlier-dag (kurtosis 9.8). Mekanismen er velimplementeret (ingen timeout, funding krediteret), men befinder sig i to nul-overlevende familier: enkeltnavn mean-reversion/fade (L55) og enkelt-perp supplerende(funding)-gated retningsbestemt (L73). Pris-ikke-bekræftelses-gaten tilføjede ikke en reel edge. Fortegnet på edgen pr. handel er negativt, hvilket ingen parameterjustering kan vende. Ikke værd 2 timers optimering. Fejlmønster: fee_edge/no_edge enkelt-perp funding-gated contrarian-fade.

Implementering

Long-short enkeltnavn contrarian på Hyperliquid SOL-perpen (4H-barer). Funding bruges som en overfyldningsmåler: en rullende z-score af hl_funding_rates-printet mod sin egen historiske fordeling returneres hver bar som det kontinuerlige signal. Ekstrem positiv z (overfyldte, overbetalende longs) fades med en SHORT; ekstrem negativ z (kapitulerede shorts) fades med en LONG, men kun når prisen ikke bekræfter flokken (close laver ikke et nyt confirm_bars-bar high/low). Exits ved funding-reversion (|z| <= exit_z), et ATR-stop taget som snapshot ved entry, eller et kalender-tidsstop målt fra position.ts_opened. Sizing er risiko-først: ATR-stoppet koster ~risk_frac af egenkapitalen, med et uafhængigt brutto-nominelt loft.

Verifikationsresultater

CLEAN RESTART 2026-09-04 — denne kørsels dommehistorik og læringsdata blev fjernet, og den blev genstartet fra verifikation. Dens tidligere opgivelse skyldtes pipelinen, ikke markedet: Layer-2-testrammen bandt fejlagtigt @staticmethod-hjælpefunktioner (rettet), QA udstedte endelige performancedomme på en uoptimeret smoke test (fjernet — QA vurderer nu kun korrekthed), og sandbox-timeouts skyldtes udsultning af backtest-slots (rettet). Hypotesen og strategikoden er uændrede. Verificér koden på dens egne præmisser; performance afgøres senere af den fulde backtest og optimeringen.

Indsnævr _param_bounds til de 3 vigtigste justerbare parametre (entry_z, exit_z, funding_lookback_prints); lås risiko-/tekniske parametre som konstanter.

Hypotesen sælger et design med '3-parameter bevidst, for at modstå overfitting', men _param_bounds eksponerer 11 optimerbare parametre. Mekanismen er korrekt, men en 11-dimensionel walk-forward-søgning modsiger den angivne anti-overfit-begrundelse og øger risikoen for PBO. Ikke blokerende.

Ikke nødvendigt; noteret til analytikeren.

Layer-2 syntetiske signaler alle fastfrosset ved 0.0 (ingen funding injiceret), så handelsstien blev kun afprøvet af sandboxen (som handlede 65 gange på reel funding). Ikke fatalt.

Backtest-gennemgang

Sharpe
-0,42
Samlet afkast
-33,71%
Maks. drawdown
40,24%
Handler i alt
201
Gevinstrate
42,3%
Profit factor
0,60

Mekanismen udløses rent og producerer en tilstrækkelig stikprøve (201 handler over 953 dage) uden timeout — O(log n)-funding-implementeringen fungerer som tilsigtet

Enkelt-instrument, enkelt supplerende feed (hl_funding_rates), ingen data-/verifikationspatologi; funding krediteres i PnL

Negativ forventningsværdi: profit_factor 0.60, total_return -33.7%, forventningsværdi -$156/handel

avg_trade_return_pct -0.37% — negativ og langt under 0.15% Hyperliquid-gebyrgulvet (L22)

Tabsgivende i alle tre år (2024 -14.8%, 2025 -13.8%, 2026 -6.5%) — en vedvarende manglende edge, ikke en aftagende

Begge ben taber (long vindrate 42%, short vindrate 42%) med avg_loss > avg_win — funding-ekstrem-faden er på den forkerte side af bevægelsen

Eneste positive måned er en enkelt +10.77% outlier-dag (kurtosis 9.8); det underliggende forløb er ensartet negativt

Enkeltnavn funding-gated retningsbestemt fade — mean-reversion (0/174) og enkelt-perp supplerende-gated retningsbestemt (L73) nul-overlevende klasser

Iterationshistorik

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] Kontrollér at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - steady_downtrend: TypeError:……Vis mereVis mindre

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] Kontrollér at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - zero_volume: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000) - price_gap: TypeError: FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given (bar timestamp: 1735690500000)

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.