Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

ETH-BTC Ratio Momentum Spread sa Hyperliquid (4H, Long-Short Pair, Cross-Sectional Trend)

Resulta: Inabandona

HyperliquidEthBtcRatioMomentumPair

Buod ng Resulta

Ang HyperliquidEthBtcRatioMomentumPair ay naiiba at malinis ang pagkakabuo bilang market-neutral na pair trade sa Hyperliquid 4H bars, na naglo-long/short sa ETH laban sa BTC batay sa log-ratio momentum, at tatlo lang ang signal parameter para limitahan ang overfitting. Maayos ang wiring — 243 dollar-neutral na paired entry na walang size, notional, o cash drop — pero nalugi ito sa bawat isa sa tatlong taon nito, at nagtapos sa -69.8% total return, Sharpe na -1.22, at profit factor na 0.888. Iniwan ito ng analyst sa pre-optimization backtest-review gate matapos ang iteration 4, at napagpasyahang mali ang mismong palagay, hindi lang isang cliff na puwedeng i-tune. Aral: bumabalik sa mean ang ETH/BTC spread sa paligid ng trend nito, kaya paulit-ulit na nababaligtad at nalulugi ang mga momentum entry; mean-reversion ang tamang anyo ng anumang ganitong edge, na lubos na hiwalay na hypothesis.

Hypothesis

Market-neutral na cross-sectional momentum pair trade sa Hyperliquid perpetuals, na sumasaklaw sa palagiang tendensiya ng ETH at BTC na magpalitan sa pangunguna sa crypto market. Itine-trade ng strategy ang ETH/BTC RATIO (hindi ang absolute prices), naglo-long sa ETHUSD.HYPERLIQUID + nagsho-short sa BTCUSD.HYPERLIQUID kapag pataas ang trend ng ratio, at kabaligtaran kapag pababa ang trend. Klasikong relative-strength factor trade ito na ginagamit sa equities (spread ng high-momentum laban sa low-momentum) at……Magpakita ng higit paMagpakita ng mas kaunti

Market-neutral na cross-sectional momentum pair trade sa Hyperliquid perpetuals, na sumasaklaw sa palagiang tendensiya ng ETH at BTC na magpalitan sa pangunguna sa crypto market. Itine-trade ng strategy ang ETH/BTC RATIO (hindi ang absolute prices), naglo-long sa ETHUSD.HYPERLIQUID + nagsho-short sa BTCUSD.HYPERLIQUID kapag pataas ang trend ng ratio, at kabaligtaran kapag pababa ang trend. Klasikong relative-strength factor trade ito na ginagamit sa equities (spread ng high-momentum laban sa low-momentum) at gumagana sa crypto dahil: (a) umiikot ang dominance ng BTC sa ~38–58% sa loob ng mga buwan, (b) nagdudulot ang mga kuwento tungkol sa ecosystem ng ETH (DeFi summers, paglulunsad ng L2, espekulasyon sa ETF) ng ilang linggong outperformance kaugnay ng ETH, (c) nagdudulot ang mga macro de-risking event ng outperformance kaugnay ng BTC (BTC = digital gold na kanlungang asset sa crypto). Purong-Hyperliquid ang strategy (parehong leg sa HL), na nagta-target sa quota ng venue na pinakakaunti ang kinakatawan (HYPERLIQUID sa 4.1% laban sa target na 20%). Long-short ito (fills 9.3% laban sa target na ~45%), saklaw ng pairs (fills 13.9%), at gumagamit ng ligtas na 4H bars sa BTC+ETH — ang may pinakamalalim na history sa HL. Lubhang naiiba ang mekanismo sa absolute-price trend (na pumapalya dahil sa ingay), dahil mas bumabalik sa mean sa paligid ng momentum trend nito ang spread ng dalawang asset na lubhang magkakaugnay kaysa sa alinmang asset nang mag-isa. Hindi ito NOT klasikong chart pattern (iniiwasan ang 8+ pagkabigo ng pattern), NOT cross-venue basis arb (nasa pipeline na ang BtcInverseLinearBasisArbitrage at CrossVenueEthBasisArbitrage), NOT single-asset directional strategy. Tatlo lang ang parameter (lookback, threshold, exit_band) para mabawasan ang panganib ng overfitting matapos ang paulit-ulit na pagkabigo dahil sa frozen-signal / overfitting.

Pagwawasto sa iteration 4 para sa pagkabigo ng Layer-2: `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Sanhi: muling binubuo ng Layer-2 verification proxy ang strategy sa pamamagitan ng pagkopya ng bawat callable sa isang payak na wrapper gamit ang `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)`; naibibigkis ang isang `@staticmethod` (na walang `__func__`) na para bang instance method ito, kaya nagdaragdag ng huwad na `self`; dahil dito,……Magpakita ng higit paMagpakita ng mas kaunti

Pagwawasto sa iteration 4 para sa pagkabigo ng Layer-2: `HyperliquidEthBtcRatioMomentumPair._ts() takes 1 positional argument but 2 were given`. Sanhi: muling binubuo ng Layer-2 verification proxy ang strategy sa pamamagitan ng pagkopya ng bawat callable sa isang payak na wrapper gamit ang `types.MethodType(val.__func__ if hasattr(val,'__func__') else val, wrapper)`; naibibigkis ang isang `@staticmethod` (na walang `__func__`) na para bang instance method ito, kaya nagdaragdag ng huwad na `self`; dahil dito, ipinapasa ng kasunod na `self._ts(bar)` ang 2 arg sa function na tumatanggap ng 1 arg. Ang SMALLEST na pagwawasto para tuluyang alisin ang sanhi ng pagkabigo ay ilipat ang helper na bar-timestamp na OUT palabas ng class at gawing module-level function na `_bar_ts_ns(bar)` — hinahanap ito sa module globals kaya hindi ito muling ibinibigkis ng proxy bilang method. Tinatawag na ngayon ng dalawang dating `self._ts(bar)` call site (sa `on_extra_bar` at `calculate_signal`) ang `_bar_ts_ns(bar)`. Walang ibang lohika ang binago: pareho ang tuloy-tuloy na log-ratio momentum signal, dollar-neutral na paired execution (`_submit_entry`/`_submit_exit`), leverage-aware na pagtukoy ng laki, at lahat ng threshold — napanatili ang lahat ng nakapasa na sa Layer 1. Lokal na napatunayan: pumapasa ang Layer 1 (static) at pumapasa ang lahat ng 6 synthetic scenario ng Layer-2 (steady_uptrend, steady_downtrend, flat_ranging, volatility_spike, zero_volume, price_gap) nang walang exception.

Itigil bago ang optimization: walang edge ang ETH/BTC-ratio MOMENTUM pair at tuloy-tuloy itong nalulugi matapos ibawas ang Hyperliquid fees+impact — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888, at NEGATIVE sa bawat taon (2024 -14.8%, 2025 -43.7%, 2026 -48.4%); negatibo ang rolling Sharpe sa halos buong saklaw. Maayos ang implementasyon (243 malilinis na paired entry, parehong HL leg, dollar-neutral, walang drops), kaya hindi ito wiring/frozen-signal bug — mali ang palagay:……Magpakita ng higit paMagpakita ng mas kaunti

Itigil bago ang optimization: walang edge ang ETH/BTC-ratio MOMENTUM pair at tuloy-tuloy itong nalulugi matapos ibawas ang Hyperliquid fees+impact — Sharpe -1.22, Sortino -2.06, total_return -69.8%, CAGR -45.5%, profit_factor 0.888, at NEGATIVE sa bawat taon (2024 -14.8%, 2025 -43.7%, 2026 -48.4%); negatibo ang rolling Sharpe sa halos buong saklaw. Maayos ang implementasyon (243 malilinis na paired entry, parehong HL leg, dollar-neutral, walang drops), kaya hindi ito wiring/frozen-signal bug — mali ang palagay: gaya ng pag-amin mismo ng hypothesis, bumabalik sa paligid ng momentum trend nito ang ETH/BTC spread, kaya paulit-ulit na nababaligtad at nalulugi ang MOMENTUM entry (win_rate 44.6%, expectancy -$154.8/trade). Ang Sharpe na -1.22 at negatibo sa lahat ng tatlong taon ay hindi cliff o epekto ng window na maibabaligtad ng pag-tune sa 3 momentum parameters (lookback/threshold/exit_band); ang pagbaligtad sa mean-reversion signal ay bagong hypothesis, hindi simpleng pagbabago ng parameter — kaya hindi ito dapat paglaanan ng 2 oras na optimization. FAILURE PATTERN: walang tradeable edge ang cross-sectional MOMENTUM sa ETH/BTC log-ratio sa 4H HL perps — bumabalik sa mean ang spread ng mga highly-correlated major sa halip na mag-trend, kaya tuloy-tuloy na nalulugi ang mga momentum entry sa lahat ng regime sa kabila ng malinis at naiibang market-neutral na implementasyon; mean-reversion ang tamang anyo ng anumang ETH/BTC-ratio edge, na hiwalay na hypothesis.

Implementasyon

Market-neutral na cross-sectional momentum pair trade sa Hyperliquid perpetuals. Ang variable sa pagpapasya ay ang log-ratio momentum ng ETH/BTC (log(ETH/BTC)[now] - log(ETH/BTC)[lookback ago]), na patuloy na kinukuwenta sa bawat 4H bar gamit ang timestamp-synchronized na SyncedBuffer ng dalawang leg. Kapag pataas ang trend ng ratio nang lampas sa +threshold, naglo-long ito sa ETHUSD at nagsho-short sa BTCUSD; kapag pababa ito nang lampas sa -threshold, kabaligtaran ang ginagawa. Itinatakda ang laki ng mga leg para magkapantay ang USD notional (dollar-neutral, delta-neutral sa BTC) gamit ang account equity x capital_fraction x leverage. Lumalabas sa mga posisyon kapag bumalik ang momentum sa loob ng neutral na exit_band, at laging sabay binubuksan at isinasara ang dalawang leg para walang hawak na nakalantad na single-asset exposure.

Mga Resulta ng Beripikasyon

Bigo ang beripikasyon (Layer 2 — mga synthetic scenario): Mga parameter na ginamit: ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - steady_downtrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang beripikasyon (Layer 2 — mga synthetic scenario): Mga parameter na ginamit: ['lookback', 'exit_band', 'threshold', 'min_notional', 'capital_fraction'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - steady_downtrend: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - flat_ranging: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - volatility_spike: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - zero_volume: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000) - price_gap: TypeError: HyperliquidEthBtcRatioMomentumPair._ts() ay tumatanggap ng 1 positional argument pero 2 ang ibinigay (timestamp ng bar: 1735689600000)

Pagsusuri ng Backtest

Sharpe
-1.22
Kabuuang Return
-69.83%
Max Drawdown
72.92%
Kabuuang Trade
486
Win Rate
44.7%
Profit Factor
0.89

Malinis at wastong naikabit na market-neutral pair: 243 paired entry, parehong HL leg, walang size/notional/cash drop, dollar-neutral ang pagtakda ng laki

Tunay na naiiba ang venue/scope (Hyperliquid long-short pair) at kaunti lang ang parameter ng 3 signal para limitahan ang overfitting

Sharpe na -1.22 at Sortino na -2.06 — lubhang negatibo ang risk-adjusted return ng strategy na walang makabuluhang benchmark, kaya absolute metrics ang batayan

Malinaw at tuloy-tuloy na nalulugi: total_return -69.8%, CAGR -45.5%, profit_factor 0.888, negatibo sa loob ng ALL taon (2024/2025/2026)

Mukhang mali ang direksiyon ng palagay sa momentum-on-ratio: bumabalik sa paligid ng trend nito ang spread na ETH/BTC (ayon mismo sa hypothesis), kaya paulit-ulit na nababaligtad at napipinsala ang mga momentum entry.

Mga spike na may fat-tail ang mga positibong buwan (kurtosis 71, skew 5.9; outlier noong May-2025 na +32.5%), hindi paulit-ulit na edge; probabilistic_sharpe 0.053

Pinapabigat ng bayad at impact ($38k commission + $25k impact) ang signal na walang gross edge

Pagsusuri

Huwag ipadala ang NOT sa optimization — nalulugi ang base sa lahat ng tatlong taon at Sharpe na -1.22, at walang positibong bahaging mahahanap ang sweep. Tama ang pagkakakodigo ng mekanismo pero pabaligtad ang SIGN. Sinasabi ng sarili mong hypothesis na bumabalik sa mean ang spread na ETH/BTC, pero tinatrade ito ng should_enter() bilang momentum (long ETH/short BTC kapag mas mataas sa +threshold ang log-ratio momentum, ibig sabihin AFTER tumaas na ang ratio). Karaniwang palatandaan ng baligtad na entry ang……Magpakita ng higit paMagpakita ng mas kaunti

Huwag ipadala ang NOT sa optimization — nalulugi ang base sa lahat ng tatlong taon at Sharpe na -1.22, at walang positibong bahaging mahahanap ang sweep. Tama ang pagkakakodigo ng mekanismo pero pabaligtad ang SIGN. Sinasabi ng sarili mong hypothesis na bumabalik sa mean ang spread na ETH/BTC, pero tinatrade ito ng should_enter() bilang momentum (long ETH/short BTC kapag mas mataas sa +threshold ang log-ratio momentum, ibig sabihin AFTER tumaas na ang ratio). Karaniwang palatandaan ng baligtad na entry ang market-neutral pair na nalulugi nang may simetrikong -1.22 Sharpe sa bawat regime. Dalawang partikular na pagbabago: (1) FLIP sa mean-reversion — mag-entry ng long-ETH/short-BTC kapag lumabis ang paglayo ng ratio pababa sa DOWNSIDE (momentum < -threshold o z-score na mas mababa sa band) habang inaasahang babalik ito, at kabaligtaran kapag lumabis ang pag-akyat; lumabas habang bumabalik ito sa mean. Katumbas nito ang pagbaligtad sa kasalukuyang BUY/SELL mapping at muling pag-tune sa exit_band. (2) Mahigpit na CUT ang dalas ng trade — 306x ang kasalukuyang turnover at humigit-kumulang $63k ang pinagsamang fee+impact; palawakin ang entry threshold at/o magtakda ng minimum holding period para hindi kainin ng gastos sa round-trip ng dalawang leg ang mean-reversion edge. Magsagawa ulit ng backtest; kung negatibo o mas mababa sa gastos ang edge ng binaligtad/mababang-dalas na bersiyon, dapat nang iwan ang palagay na ito (o iakyat sa revise_hypothesis).

Kasaysayan ng Iterasyon

Bigo ang beripikasyon (leverage_set_but_unused): itinatakda ng config ang leverage=3.0 pero hindi ito ginagamit ng strategy sa pagtakda ng laki ng posisyon. Itakda rito ang laki ng mga posisyon — notional = equity * fraction * leverage / price (basahin ang self.config.leverage) — o itakda ang leverage=1.0. Gaya ng pagkakasulat ngayon, walang epekto ang leverage at kapareho ng 1x ang backtest.

Buod ng Resulta

Bumabalik sa mean sa paligid ng trend nito ang ETH/BTC log-ratio ng dalawang major na lubhang magkakaugnay, kaya paulit-ulit na nababaligtad at nalulugi ang momentum entry — mean-reversion ang kailangang anyo ng anumang edge sa spread na iyon; bagong hypothesis iyon, hindi simpleng pagbabago ng parameter.

Naglabas ang analyst ng hatol na 'abandon' sa pre-optimization backtest-review gate: malinis ang implementasyon (243 wastong naikabit na dollar-neutral paired entry, walang drop), kaya itinuring na maling palagay ang sanhi ng lugi sa halip na bug; hindi nito naabot ang mga threshold para sa Sharpe, Sortino, total return at profit factor. Hindi umabot sa optimization, pinal na pagsusuri ng analyst, o pagsusuri sa risk.

Isang market-neutral na Hyperliquid pair trade na nag-long sa ETH / nag-short sa BTC (o kabaligtaran) batay sa log-ratio momentum ng spread na ETH/BTC, at tumataya na dahil sa mga siklo ng dominance ng BTC at kuwento tungkol sa ETH, mas malinaw ang trend ng spread kaysa sa alinmang asset nang mag-isa.

Tuloy-tuloy itong nalugi sa loob ng 695 araw: total return -69.8%, CAGR -45.5%, Sharpe -1.22, Sortino -2.06, profit factor 0.888, win rate 44.6% sa 486 trade (243 long / 243 short), na may 72.9% max drawdown. Negatibo ito sa bawat taon (2024 -14.8%, 2025 -43.7%, 2026 -48.4%); lalo pang nagpabigat sa signal na wala nang edge ang $38k na commission at $25k na impact.

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.