Mga Estratehiya
ETH-vs-BTC Relative-Momentum Rotation, dollar-neutral na long-short (dalawang instrumentong ETHUSDT.BINANCE + BTCUSDT.BINANCE Perps, daily bars — long sa mas malakas / short sa mas mahina batay sa ratio na ETH/BTC MOMENTUM, kinokontrol ng deadband, purong OHLCV, 2-parameter)
Resulta: Inabandona
EthBtcRelativeMomentumRotationLS
Tapat na ipinapatupad ang hypothesis: dollar-neutral na ETH/BTC ratio-momentum rotation, market-neutral (benchmark_meaningful=false, kaya wastong hindi benchmark ang buy-hold)
Hypothesis
Negatibo ang inaasahang kita sa mapagkakatiwalaang sample na 582 trade / 6.7 taon: profit_factor 0.9999 (gross-flat, walang net edge), avg_trade_pnl_usd -0.137, negatibo ang CAGR -1.22% at recovery_factor. Hindi pa naisasakatuparan ang buong +7.83% total_return (end_unrealized_pct 7.91) — posisyon ito sa dulo na hindi isinara, hindi naisasakatuparang edge. Sumasaklaw sa zero ang Sharpe na 0.26 na may CI [-0.48, 1.01], max_drawdown 56.6%, at nangangahulugan ang impact_cost_pct 101% (kapasidad na ~$98k) na inuubos ng market impact lang ang buong edge. Hindi sapat ang pagpapatuloy ng momentum ng relative strength na ETH/BTC para kumita nang dollar-neutral matapos ang mga gastos — pahayag ito tungkol sa entry na IS sa hypothesis. Hindi kayang gawing kumikita ng pag-optimize sa 2 parameter (lookback, deadband) ang resultang gross-flat/PF<1. Hindi sulit ang 2 oras ng optimization. abandon_class=negative_expectancy.
Implementasyon
Mga Resulta ng Beripikasyon
CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng hatol at mga tala ng pagkatuto sa run na ito, at sinimulan itong muli mula sa beripikasyon. Galing sa pipeline ang naunang pag-abandona, hindi sa merkado: mali ang pagkakabit ng harness ng Layer-2 sa mga @staticmethod helper (naayos); naglabas ang QA ng pinal na hatol sa performance mula sa isang smoke test na hindi na-optimize (inalis — QA na lang ang tumatasa ng kawastuhan); at dulot ng kakulangan ng backtest slot ang mga timeout sa sandbox (naayos). Hindi nagbago ang hypothesis at ang code ng strategy. Beripikahin ang code batay sa merito nito; pagpapasyahan ang performance sa bandang huli ng buong backtest at optimizer.
Halos sero o negatibo ang edge sa nasusukat na sample ng buong kasaysayan (550 trade, PF 0.965, -22.4%, avg_trade_return_pct +0.061% na mas mababa sa bayarin ng dalawang leg) — ang pares na ETH/BTC na mababa ang dispersion, na mismong tinukoy ng hypothesis na mas mahina kaysa SOL/ETH. Tapat ang implementasyon, kaya ang resulta ay isang edge finding para sa analyst. Ihinto sa pagsusuri ng backtest ayon sa paunang itinakdang kondisyon ng developer (PF ay hindi lumampas sa 1); huwag i-optimize.
Pinakamataas na drawdown na 57.8% (CI hanggang 83%, tagal na 1894 araw) sa aklat na kunwa'y market-neutral: dollar-neutral lang sa pagpasok, at pinalalaki ng 70% gross exposure ang luging edge laban sa nagpapatuloy na mga trend ng ratio na ETH/BTC sa pagitan ng mga stop na 6%. Hindi ito depekto sa hedging — tama ang pagtutugma ng pantay na notional — ngunit dapat makita ng Risk Officer ang ganitong profile ng panganib.
Pagsusuri ng Backtest
- Sharpe
- 0.26
- Kabuuang Return
- 7.83%
- Max Drawdown
- 56.58%
- Kabuuang Trade
- 582
- Win Rate
- 45.9%
- Profit Factor
- 1.00
Tapat na ipinapatupad ang hypothesis: dollar-neutral na ETH/BTC ratio-momentum rotation, market-neutral (benchmark_meaningful=false, kaya wastong hindi benchmark ang buy-hold)
Mapagkakatiwalaan at masusukat na sample: 582 rotation ng pares sa loob ng 6.7 taon, metrics_reliable=true, maayos ang entry pipeline (291 long / 291 short, walang na-drop)
Tunay na 2-parameter na surface na mababa ang panganib ng overfit
profit_factor 0.9999 — gross-flat, walang net edge na maaaring pagbatayan ng optimization
Negatibo ang inaasahang kita sa mapagkakatiwalaang sample: avg_trade_pnl_usd -0.137, CAGR -1.22%, negatibo ang recovery_factor
Hindi pa naisasakatuparan ang buong headline na +7.83% (end_unrealized_pct 7.91) — posisyon ito sa dulo na hindi isinara, hindi naisasakatuparang edge
max_drawdown 56.6% (CI hanggang 80%); sumasaklaw sa zero ang Sharpe na 0.26 na may CI [-0.48, 1.01] — hindi maihihiwalay sa kawalan ng kasanayan
impact_cost_pct 101% na may ~$98k na capacity_usd — inuubos ng market impact lang ang buong edge; viable lang sa napakaliit na scale
regime_performance na returns ng tercile na “normal” -56% sa 60% DD — walang estruktural na edge sa relatibong lakas
Kasaysayan ng Iterasyon
Nabigo ang beripikasyon (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['deadband', 'leg_frac', 'max_days', 'vol_window', 'mom_lookback', 'size_precision', 'stop_ratio_pct', 'min_notional_btc', 'min_notional_eth'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type (timestamp ng bar: 1735689600000)
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.