Sări la conținut
Toate strategiile

Strategii

ETH-BTC Ratio Momentum Spread pe Hyperliquid (4H, pereche long-short, trend transversal)

Rezultat: Abandonată

HyperliquidEthBtcRatioMomentumPair

Sumar rezultate

HyperliquidEthBtcRatioMomentumPair a fost o tranzacție pereche neutră față de piață, distinctă și construită curat, pe Hyperliquid, bare de 4H, long/short ETH față de BTC pe baza momentum-ului log-raportului, cu doar trei parametri de semnal pentru a limita supraoptimizarea. În ciuda unei implementări solide — 243 intrări pereche neutre în dolari, fără pierderi de mărime, valoare noțională sau numerar — a pierdut bani în fiecare dintre cei trei ani, încheind cu randament total de -69.8%, Sharpe de -1.22 și factor de profit de 0.888. Analistul a abandonat-o la etapa de evaluare a backtestului, înainte de optimizare, după iterația 4, concluzionând că premisa însăși era greșită, nu că exista o prăpastie reglabilă. Concluzia: spreadul ETH/BTC revine la medie în jurul trendului său, astfel că intrările momentum sunt structural prinse în whipsaw; expresia corectă a unui astfel de avantaj ar fi revenirea la medie, o ipoteză complet separată.

Ipoteza

Tranzacție pereche momentum transversală, neutră față de piață, pe contracte perpetue Hyperliquid, care valorifică tendința persistentă a ETH și BTC de a conduce piața cripto pe rând. Strategia tranzacționează ETH/BTC RATIO (nu prețurile absolute), intrând long pe ETHUSD.HYPERLIQUID și short pe BTCUSD.HYPERLIQUID când raportul are trend ascendent, și invers când trendul este descendent. Este o tranzacție clasică pe factorul de forță relativă, întâlnită pe piețele de acțiuni (spread între momentum ridicat și……Afișează mai multeAfișează mai puțin

Tranzacție pereche momentum transversală, neutră față de piață, pe contracte perpetue Hyperliquid, care valorifică tendința persistentă a ETH și BTC de a conduce piața cripto pe rând. Strategia tranzacționează ETH/BTC RATIO (nu prețurile absolute), intrând long pe ETHUSD.HYPERLIQUID și short pe BTCUSD.HYPERLIQUID când raportul are trend ascendent, și invers când trendul este descendent. Este o tranzacție clasică pe factorul de forță relativă, întâlnită pe piețele de acțiuni (spread între momentum ridicat și redus), care funcționează în cripto deoarece: (a) dominația BTC oscilează între ~38–58% pe parcursul mai multor luni, (b) narațiunile ecosistemului ETH (veri DeFi, lansări L2, speculații pe ETF) declanșează performanță superioară relativă pe mai multe săptămâni pentru ETH, (c) episoadele macro de reducere a riscului declanșează performanță superioară relativă pentru BTC (BTC = refugiu de tip aur digital în cadrul pieței cripto). Strategia folosește exclusiv Hyperliquid (ambele componente pe HL), vizând cota alocată platformei cel mai slab reprezentate (HYPERLIQUID la 4.1% față de ținta 20%). Este long-short (ordine executate 9.3% față de ținta ~45%), cu universul de perechi (execuții 13.9%) și folosește bare sigure de 4H pe BTC+ETH — istoricul cel mai extins pe HL. Mecanismul diferă fundamental de trendul prețului absolut (care eșuează din cauza zgomotului), deoarece spreadul dintre două active foarte corelate revine mult mai mult la medie în jurul trendului momentum decât oricare activ luat separat. NOT un tipar grafic clasic (evită eșecurile tiparului 8+), NOT un arbitraj de bază între platforme (deja în pipeline ca BtcInverseLinearBasisArbitrage și CrossVenueEthBasisArbitrage), NOT o strategie direcțională pe un singur activ. Doar trei parametri (lookback, prag, exit_band) pentru a minimiza riscul de supraoptimizare după eșecuri recurente cu semnal înghețat/supraoptimizare.

Corecție la iterația 4 pentru eșecul stratului -2: `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Cauza principală: proxy-ul de verificare al stratului -2 reconstruiește strategia copiind fiecare funcție pe un wrapper simplu cu `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)`; un `@staticmethod` (căruia îi lipsește `__func__`) este legat ca și cum ar fi o metodă de instanță, injectând un `self` fantomă, astfel că un apel ulterior……Afișează mai multeAfișează mai puțin

Corecție la iterația 4 pentru eșecul stratului -2: `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Cauza principală: proxy-ul de verificare al stratului -2 reconstruiește strategia copiind fiecare funcție pe un wrapper simplu cu `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)`; un `@staticmethod` (căruia îi lipsește `__func__`) este legat ca și cum ar fi o metodă de instanță, injectând un `self` fantomă, astfel că un apel ulterior `self._ts(bar)` transmite 2 argumente unei funcții care acceptă 1. Corecția SMALLEST, care elimină definitiv acest mod de eșec, mută funcția auxiliară pentru timestampul barei OUT din clasă într-o funcție la nivel de modul `_bar_ts_ns(bar)` — rezolvată din variabilele globale ale modulului și niciodată supusă re-legării metodelor de către proxy. Cele două locuri de apel `self._ts(bar)` folosite anterior (în `on_extra_bar` și `calculate_signal`) apelează acum `_bar_ts_ns(bar)`. Nicio altă logică nu s-a schimbat: semnalul continuu de momentum al log-raportului, execuția pereche neutră în dolari (`_submit_entry`/`_submit_exit`), dimensionarea care ține cont de levier și toate pragurile sunt identice cu versiunea anterioară — păstrând tot ce trecuse deja de stratul 1. Verificat local: stratul 1 (static) trece, iar toate cele 6 scenarii sintetice ale stratului -2 (steady_uptrend, steady_downtrend, flat_ranging, volatility_spike, zero_volume, price_gap) trec fără excepții.

Abandon înainte de optimizare: perechea raportului ETH/BTC MOMENTUM nu are avantaj și pierde persistent după comisioanele și impactul Hyperliquid — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888 și NEGATIVE în fiecare an (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), iar Sharpe-ul mobil este negativ aproape pe tot intervalul. Implementarea este solidă (243 intrări pereche curate, ambele componente HL, neutră în dolari, fără ordine omise), deci nu este o eroare de conectare sau un……Afișează mai multeAfișează mai puțin

Abandon înainte de optimizare: perechea raportului ETH/BTC MOMENTUM nu are avantaj și pierde persistent după comisioanele și impactul Hyperliquid — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888 și NEGATIVE în fiecare an (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), iar Sharpe-ul mobil este negativ aproape pe tot intervalul. Implementarea este solidă (243 intrări pereche curate, ambele componente HL, neutră în dolari, fără ordine omise), deci nu este o eroare de conectare sau un semnal înghețat — premisa este greșită: după cum admite chiar ipoteza, spreadul ETH/BTC revine la medie în jurul trendului său momentum, astfel că intrarea MOMENTUM este prinsă sistematic în whipsaw (win_rate 44.6%, expectancy -$154.8/tranzacție). Un Sharpe de -1.22, negativ în toți cei trei ani, nu este o prăpastie sau un artefact al intervalului pe care reglarea parametrilor momentum 3 (lookback/prag/exit_band) l-ar putea transforma în rezultat pozitiv; inversarea într-un semnal de revenire la medie ar fi o ipoteză nouă, nu o ajustare de parametri — așadar nu merită 2 ore de optimizare. FAILURE PATTERN: MOMENTUM transversal pe log-raportul ETH/BTC nu are avantaj tranzacționabil pe contracte perpetue HL de 4H — spreadul dintre active majore foarte corelate revine la medie, nu urmează un trend, iar intrările momentum pierd persistent în toate regimurile, deși implementarea neutră față de piață este curată și distinctă; expresia corectă a oricărui avantaj pe raportul ETH/BTC ar fi revenirea la medie, o ipoteză separată.

Implementare

Tranzacție pereche momentum transversală, neutră față de piață, pe contracte perpetue Hyperliquid. Variabila de decizie este momentum-ul log-raportului ETH/BTC (log(ETH/BTC)[acum] - log(ETH/BTC)[cu lookback în urmă]), calculat continuu la fiecare bară de 4H printr-un SyncedBuffer sincronizat după timestamp pentru ambele componente. Când raportul are un trend ascendent peste prag, strategia intră long pe ETHUSD și short pe BTCUSD; când trendul este descendent sub pragul negativ, face invers. Componentele sunt dimensionate pentru aceeași valoare noțională USD (neutră în dolari și neutră delta față de BTC), folosind capitalul propriu al contului x capital_fraction x levier. Pozițiile ies când momentum-ul revine în interiorul intervalului neutru exit_band, iar ambele componente sunt deschise și închise întotdeauna simultan, fără expunere neacoperită pe un singur activ.

Rezultate verificare

Verificarea a eșuat (stratul 2 — scenarii sintetice): Parametri folosiți: ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Verifică dacă __init__ setează toate atributele din self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - steady_downtrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2……Afișează mai multeAfișează mai puțin

Verificarea a eșuat (stratul 2 — scenarii sintetice): Parametri folosiți: ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Verifică dacă __init__ setează toate atributele din self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - steady_downtrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - flat_ranging: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - volatility_spike: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - zero_volume: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000) - price_gap: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() acceptă 1 argumente poziționale, dar au fost transmise 2 (timestamp bară: 1735689600000)

Analiză backtest

Sharpe
-1,22
Randament total
-69,83%
Drawdown maxim
72,92%
Tranzacții totale
486
Rată de câștig
44,7%
Factor de profit
0,89

Pereche curată și corect conectată, neutră față de piață: 243 intrări pereche, ambele componente HL, fără pierderi de mărime/valoare noțională/numerar, dimensionare neutră în dolari

Platformă și univers distincte (pereche long-short Hyperliquid) și semnal cu 3 parametri, redus la minimum pentru a limita supraoptimizarea

Sharpe -1.22 și Sortino -2.06 — randament ajustat la risc profund negativ pentru o strategie al cărei benchmark nu este relevant, astfel că metricile absolute sunt decisive

Pierde bani clar și persistent: total_return -69.8%, CAGR -45.5%, profit_factor 0.888, rezultat negativ în toți cei ALL ani (2024/2025/2026)

Premisa momentum aplicată raportului pare greșită direcțional: spreadul ETH/BTC revine la medie în jurul trendului său (conform ipotezei înseși), astfel că intrările momentum sunt prinse sistematic în whipsaw

Lunile pozitive sunt salturi cu cozi groase (kurtosis 71, asimetrie 5.9; valoare atipică +32.5% mai-2025), nu un avantaj repetabil; probabilistic_sharpe 0.053

Eroziunea produsă de comisioane și impact ($38k comisioane + $25k impact) se cumulează peste un semnal fără avantaj brut

Analiză

Nu trimite NOT către optimizare — baza pierde în toți cei trei ani, cu Sharpe -1.22, iar sweep-ul nu are nicio regiune pozitivă de găsit. Mecanismul este codificat corect, dar SIGN este inversat. Ipoteza ta afirmă că spread-ul ETH/BTC revine la medie, însă should_enter() îl tranzacționează ca momentum (long ETH/short BTC când momentum-ul log-ratio > +threshold, adică AFTER raportul a crescut deja). Un pair market-neutral care pierde un Sharpe simetric de -1.22 în toate regimurile este semnul clasic al unei……Afișează mai multeAfișează mai puțin

Nu trimite NOT către optimizare — baza pierde în toți cei trei ani, cu Sharpe -1.22, iar sweep-ul nu are nicio regiune pozitivă de găsit. Mecanismul este codificat corect, dar SIGN este inversat. Ipoteza ta afirmă că spread-ul ETH/BTC revine la medie, însă should_enter() îl tranzacționează ca momentum (long ETH/short BTC când momentum-ul log-ratio > +threshold, adică AFTER raportul a crescut deja). Un pair market-neutral care pierde un Sharpe simetric de -1.22 în toate regimurile este semnul clasic al unei intrări inversate. Două schimbări concrete: (1) FLIP la mean-reversion — intră long-ETH/short-BTC când raportul este extins în jos, la DOWNSIDE (momentum < -threshold sau z-score sub un prag), anticipând revenirea, și invers când este extins în sus; ieși când revine spre medie. Echivalent, inversează maparea curentă BUY/SELL și reajustează exit_band. (2) CUT frecvența tranzacțiilor — turnover-ul actual este 306x, cu aproximativ $63k cumulat în comisioane și impact; mărește pragul de intrare și/sau adaugă o perioadă minimă de deținere, astfel încât costurile dus-întors pe două poziții să nu consume avantajul mean-reversion. Refă backtestul; dacă varianta inversată/cu frecvență mai mică arată în continuare un avantaj negativ sau sub costuri, abandonează această premisă (sau escaladeaz-o la revise_hypothesis).

Istoric iterații

Verificarea a eșuat (leverage_set_but_unused): configurația setează levier=3.0, dar strategia nu folosește levierul la dimensionarea pozițiilor. Dimensionează pozițiile folosindu-l — valoarea noțională = capital propriu * fracție * levier / preț (citește self.config.leverage) — sau setează levierul la 1.0. În forma actuală, levierul nu are efect, iar backtestul este identic cu 1x.

Sumar rezultate

Log-raportul ETH/BTC dintre două active majore foarte corelate revine la medie în jurul trendului său, astfel că o intrare momentum este prinsă sistematic în whipsaw — orice avantaj al acestui spread ar necesita o expresie bazată pe revenirea la medie, adică o ipoteză nouă, nu o ajustare a parametrilor.

Analistul a emis verdictul „abandonare” la etapa de evaluare a backtestului, înainte de optimizare: implementarea era curată (243 intrări pereche neutre în dolari și conectate corect, fără ordine omise), deci pierderea a fost atribuită unei premise greșite, nu unei erori, iar pragurile pentru Sharpe, Sortino, randamentul total și factorul de profit nu au fost atinse; optimizarea, evaluarea finală a analistului și evaluarea riscului nu au fost efectuate.

O tranzacție pereche Hyperliquid neutră față de piață, care a intrat long pe ETH / short pe BTC (sau invers), pe baza momentum-ului log-raportului spreadului ETH/BTC, mizând că ciclurile de dominanță BTC și de narațiuni ETH fac spreadul să urmeze un trend mai clar decât oricare activ individual.

În 695 zile a pierdut persistent: randament total -69.8%, CAGR -45.5%, Sharpe -1.22, Sortino -2.06, factor de profit 0.888, rată de câștig 44.6% din 486 tranzacții (243 long / 243 short), cu un drawdown maxim de 72.9%. Rezultatul a fost negativ în fiecare an (2024 -14.8%, 2025 -43.7%, 2026 -48.4%), iar comisioanele de $38k și impactul de $25k au erodat și mai mult un semnal fără avantaj.

Stratmill este un instrument de cercetare și paper-trading, nu consultanță financiară sau broker. Rezultatele de backtest și paper trading sunt ipotetice. Tranzacționarea implică riscul de pierdere.