Mga Estratehiya
Tuloy-tuloy na Sentiment-Tilted na BTC-vs-Alt Rotation sa BYBIT — Beta-Neutral na Long/Short Book na ang Gross Tilt ay Itinatakda nang Proporsyonal sa Daily Crypto Fear & Greed Index (Palaging Aktibo, Hindi Kailanman Flat, Banded Rebalance, 5 Alt na hina-hedge ng Trailing-Beta na BTC Leg, DAILY Bar)
Resulta: Inabandona
SentimentTiltedBtcAltRotationNeutralBybit
Buod ng Resulta
Hypothesis
abandon_class=artifact, na may hiwalay na finding na negatibo ang expectancy kaya nananatili ang pag-abandona sa alinmang sangay. Hindi magkakaugnay ang daily MTM series sa equity curve at sa sariling leverage ng book, kaya hindi magagamit ang Sharpe na minamaksimisa ng optimizer; sintomas lang ang isinasaad, walang ipinapalagay na sanhi — ikaapat na sunod na multi-leg run na may magkakanselang MTM day-pairs, na dahilan para repasuhin sa panig ng engine ang daily marking ng multi-leg. Hiwalay dito, ipinapakita ng magkakaugnay na trade ledger ang PF 1.054, negatibong mean/median return bawat trade, dolyar na nakadepende sa iisang trade, hedge leg na mas malaki ang lugi kaysa kinita ng mga alt, at funding na kumakain ng 74% ng gross.
Implementasyon
Palaging aktibo at beta-neutral na BTC-vs-alt rotation sa BYBIT linear perps (1-DAY bars). Iisa lang ang signal: ang exogenous daily crypto Fear & Greed Index, binabasa ayon sa oras sa pamamagitan ng supp_window('fear_greed'): s_t = clip((FGI7-50)/50, -1, +1). Hawak ang pantay ang timbang na alt basket (SOL/AVAX/LINK/DOT/ADA) sa +tilt*G at ang BTC sa -tilt*G*beta; ang beta ay trailing 90-day regression beta ng basket sa BTC, kaya ~0 ang net market exposure at ang BTC-dominance rotation lang ang ipinapahayag ng book. 30-day realized-vol target ang G sa spread return, at mahigpit na nililimitahan ang gross notional sa 1.5x ng equity (leverage 2.0 venue margin). Pinananatiling mababa ng no-trade band na 25% bawat leg ang turnover at ang ~0.11% Bybit round trip; pinapaplat ng nawawalang Fear & Greed data ang book (walang price fallback).
Mga Resulta ng Beripikasyon
I-normalize sa trailing RMS ng s (para E[tilt^2]=1 ayon sa pagkakagawa) sa halip na sa mean |s|, ibaba ang tilt_cap sa ~2.0, o pahabain ang vol_lookback_days / magdagdag ng ex-post realized-vol governor na nagpapababa sa gross kapag lumampas sa target_vol_annual ang trailing book vol. Anuman ang piliin, muling ilahad sa report ang nakamit na vol para masubok ang paunang itinakdang risk profile.
Malaki ang lampas ng volatility targeting. Book vol = |tilt| * target_vol_annual kung E[tilt^2]=1 lamang, pero ang tilt ay raw tilt na hinati sa trailing na MEAN |s| nito at saka nilimitahan sa tilt_cap=3; kaya E[tilt^2] > 1 (mataba ang kanang buntot tuwing sukdulan ang sentiment). Bukod dito, ibinabatay ang gross sa trailing spread vol na 30 bar at nahuhuli ito sa pagbabago ng rehimen, at hinahayaang umabot ng 2.4x equity ang gross ng min_spread_vol=0.05 bago kumagat ang 1.5x gross cap. Nagtala ang Sandbox ng 29.3% annualized vol at 38.6% max drawdown sa book na ipinakilalang 12% — ~2.4x ang lampas. Hindi ito bug sa correctness (ipinatutupad nang tama sa GROSS ang gross notional cap min(max_gross_leverage, config.leverage)*equity = 1.5x, at pasok ito sa leverage ng venue), pero hindi tugma ang aktuwal na risk sa idineklarang risk at ito ang nagtutulak sa drawdown na makikita ng Risk Officer.
Isama ang talang ito sa pagsusuri ng backtest: suriin ang economics batay sa daily MTM/equity series, turnover x round-trip, at total_commission — hindi batay sa avg_trade_return_pct o total_trades. Kung haharangin ito ng mahigpit na sample-size gate, ang tapat na sample dito ay ~1,175 epektibong daily observation ng palaging aktibong book, na siyang buong punto ng tuloy-tuloy na tilt reformulation.
Walang saysay sa estruktura ang mga metric mula sa position ledger para sa book na ito at hindi dapat gamitin bilang pamantayan. OMS ng venue ay NETTING at hindi lubusang isinasara ng band-rebalancer ang isang leg maliban kung bumaba sa min_leg_notional ang target, kaya nagsasama-sama ang 1,775 bar at 447 fill bilang 12 'position' na may avg holding period na 587 araw at avg_trade_return_pct = -11.15%. Ang -11.15% na iyon ay return bawat position sa loob ng ~19 buwan ng tuloy-tuloy na muling pagtatakda ng laki, NOT edge bawat round-trip; kaya parehong sablay sa estratehiyang ito ang 0.15%/trade fee floor at minimum-sample-size validity gate. Batay sa turnover ang tunay na pagsusuri ng gastos at pumapasa ito: ang turnover na 3.35 kumpara sa ~0.11% round trip ng Bybit ay ~0.37%/yr na gastos sa book na may target na 12% vol, at $1,021 ang total_commission sa loob ng 4.9 taon.
Baguhin ang docstring/rationale sa “proportional hanggang sa dahan-dahang nagbabagong trailing scale factor,” at ideklara ang tilt_norm_days / tilt_cap / min_tilt_norm bilang kung ano talaga ang mga ito — mga karagdagang antas ng kalayaan (lumalabas na ang mga ito sa _param_bounds), kaya nagkakasundo ang pre-registration at optimizer sa masasaliksik na saklaw.
Sinasabi ng _normalised_tilt docstring at config rationale na 'pinananatili ng normalisation ang sign at bawat ratio ng raw tilt sa pagitan ng mga araw' at nananatiling 'eksaktong proporsyonal sa s_t' ang mga posisyon. Hindi ito literal na totoo: trailing mean |s| na 252-araw ang divisor at muling kinukuwenta ito sa bawat bar, kaya katumbas lang ng ratio ng s ang ratio ng posisyon sa dalawang araw kapag hindi nagbago ang divisor sa pagitan ng mga ito. Mabagal ang pagbabago at nananatili ang ekonomikong katangian (tuloy-tuloy, may sign, at proporsyonal sa sentiment ang tilt), kaya hindi ito pagpapalit ng hypothesis — pero isa itong ikalawang signal transform na nakadepende sa path, na inilapat sa nakasaad na transform, at dapat ilarawan nang gayon. Kaugnay nito: ang unang min_tilt_obs=20 sized bar ay gumagamit ng hard-coded na default_tilt_norm=0.30 sa halip na anumang nasukat na halaga.
Mag-log ng babala (self.log.warning) sa loob ng bawat handler, kasama ang instrument id, o bilangin ang mga ito sa _entry_diag, para makita sa run diagnostics ang tahimik na paghina sa halip na mapagkamalang 'neutral ang sentiment'.
Malawakang pagsalo ng exception sa mga landas ng order at position: tahimik na sumasalo ng bare Exception at nagpapatuloy ang mga function na _position_for, _signed_notional, _trade_to (_submit_entry_instrument at _submit_exit_position). Ang sistematikong pagkabigo — instrumentong wala sa cache, pagbabago ng quantity type, o tinanggihang order — ay magmumukhang permanenteng flat o permanenteng one-sided na book na nag-uulat pa rin ng malinis na run, sa halip na maglabas ng malinaw na error. Ipinapakita ng sandbox na gumagana ang matagumpay na landas (447 fills, ~0.25 fills/bar, kaya parehong gumagana ang band at signed-notional read); tala ito tungkol sa tibay, hindi aktibong depekto.
Opsyonal na robustness check para sa analyst: muling patakbuhin nang isang beses ang FGI window na inusog nang isang print paatras (basahin ayon sa oras ng bar.ts_init - 1 day). Kung malaki ang pagbabago sa resulta, nasa hangganan ng paglalathala ang edge at wala sa siklo ng sentimyento.
Kasabay na kasabay ng oras ang Fear & Greed read, walang palugit. Itinatatak ng alternative.me ang bawat print sa 00:00 UTC ng araw na iyon, at kaparehong 00:00 UTC instant ang timestamp ng close ng daily bar. Kaya ibinabalik ng inclusive <= bound ng supp_window ang print na inilathala ilang minuto matapos ang bar na pinagpapasiyahan nito. Tugma ito sa kumbensiyong inilalarawan ng framework mismo (src/backtesting/supp_loaders.py load_fear_greed: 'inilalathala ang halaga ilang minuto makalipas ang hatinggabi, kaya tapat sa point-in-time ang <= lookup sa daily granularity'), at hindi ito abs()-nearest na look-ahead — one-sided at bounded ang supp_window, na tama. Itinatampok lang ito dahil nakasalalay ang buong signal ng book sa iisang series na ito at walang lag buffer.
Pagsusuri ng Backtest
- Sharpe
- 0.74
- Kabuuang Return
- 10.92%
- Max Drawdown
- 48.56%
- Kabuuang Trade
- 132
- Win Rate
- 36.4%
- Profit Factor
- 1.05
Ipinatupad ang hypothesis ayon sa pagkakasulat — point-in-time na pagbasa sa FGI, tuloy-tuloy na tilt, trailing-beta na BTC hedge, banded rebalance, 132 trade na may ~53-araw na holding; walang hindi pagtutugma sa mekanismo.
Limitado ang naging bisa ng scale fix: hindi na tuwid na ±2% ang book (equity 100k → 176k → 111k).
ARTIFACT (na-verify sa detail file): tumatakbo ang equity curve mula 100,000 → 110,922 (+10.9% kabuuan, max DD 48.6%) na may ~29% curve-implied vol at average trade leverage na 0.117 sa gross na nilimitahan malapit sa 1x ng equity — ngunit nagpapakita ang daily-return series ng paulit-ulit na magkakanselang ±20-30% pairs (2024-06-13 −22.66%/+30.58%, 2024-10-05 −22.43%/+28.84%) at sinasabi ng report na annualized_volatility 154.65% at cagr na 2.3364 laban sa total_return 10.92%. Hindi maaaring magkatotoo ang mga ito sa iisang report. Lahat ng sharpe na 0.7409 (mtm_equity_curve basis), var_95, cvar_95, downside_deviation ay nagmumula sa series na iyon — at iyon ang objective ng optimizer na Sharpe.
Hiwalay na negatibong expectancy: 132 trades, net +$7,658 sa $100k sa loob ng 3.2 traded na taon, PF 1.054, mean na −1.40% bawat trade, median na −3.03% laban sa ~0.11% round trip ng Bybit; ang nangungunang 5 trades = 781% ng net PnL (lugi ng ~$52k ang natitirang 127); nag-realize ng −$18.3k ang 2024.
Nakumpirma ang alalahanin #1 ng QA: sentro ng lugi ang BTC hedge leg (−$48,982 sa 22 leg kumpara sa +$56,640 ng mga alt; +$74,493 ang longs kumpara sa −$66,835 ng shorts, −2.12%/trade).
Kumpirmado ang alalahanin #2 ng QA: matapos itama ang scale, ipinakikita ng FGI na walang impormasyong nagsasaad ng direksiyon — isang random walk na malaki ang amplitude (48.6% DD sa loob ng +10.9%), eksaktong lagda ng mekanismong halos walang epekto na hinulaan ng QA.
Ang funding na −$21,850 ay 74% ng +$29,508 gross price capture: negatibo ang carry ng long-alt/short-BTC kapag greed.
Ang realized volatility na ~29%, kumpara sa idineklarang target na 12%, ay nagpapakitang nagpapatuloy sa sandbox ang sizing miss na nakita ng 2.4x QA.
Pagsusuri
Pamantayan ng backtest: - hindi maaasahan ang mga metric: Hindi magkakaugnay: salungat sa sign ng total_return -1.64% ang Sharpe na 0.23 — kinukuwenta ang Sharpe mula sa mtm_equity_curve series samantalang mula sa equity curve ang return. Batay sa equity curve ang pagsusuri.
Buod ng Resulta
Ipinakikita ng pag-aayos sa sizing scale para tumakbo ang sentiment tilt ayon sa vol target kung may impormasyong nagsasaad ng direksiyon ang signal — dito, wala. Maaaring mas malaki ang gastos ng trailing-beta hedge leg at negatibong funding carry kaysa sa kinikita ng alpha basket.
Nagbalik ng abandon ang backtest-review gate bago pa tumakbo ang optimization: abandon_class=artifact, dahil hindi tugma sa equity curve ang daily mark-to-market series (paulit-ulit na magkanselang ±20-30% pares ng araw, annualized_volatility 154.65% at cagr na 2.3364 laban sa +10.92% total return). Dahil dito, hindi magamit ang Sharpe na mamamaximize sana ng optimizer. May hiwalay ding natuklasan ng negatibong expectancy (PF 1.054, negatibo ang mean at median ng per-trade return, ang nangungunang 5 trades = 781% ng net PnL), kaya mananatili ang abandon sa alinmang sangay.
Isang palaging aktibo at beta-neutral na BYBIT long/short book na patuloy na nagtakda ng laki ng 5-alt basket laban sa trailing-beta na BTC hedge ayon sa daily Crypto Fear & Greed Index, na tumataya na sinusubaybayan ng BTC-vs-alt rotation ang sentimyento sa halip na price momentum.
Sa loob ng 1,775 daily bar (2020-03-26 hanggang 2025-02-02), nagpakita ang backtest ng +10.92% kabuuang return, Sharpe na 0.7409 (CI -0.199 hanggang 1.598), max drawdown na 48.55%, at 132 trade na may ~53-day na average hold, profit factor na 1.054, win rate na 36.4% at avg_trade_return_pct -5.48%. Natuklasan din sa pagsusuri ng backtest na nalugi ng $48,982 ang BTC hedge leg kumpara sa +$56,640 mula sa mga alt, $21,850 ang gastos sa funding (74% ng gross price capture), at ~29% ang realized vol kumpara sa idineklarang target na 12%.
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.