Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Tapat na port ng QuantConnect BasePairsTradingAlphaModel: pagbabalik sa banda ng ratio ng presyo na BTC/ETH kumpara sa 500-bar na EMA ng ratio, mga banda na ±1%, hawak na insight nang 1 araw, salit-salitang direksiyon (OKX USDT pagpapalit, DAILY)

Resulta: Inabandona

BtcEthOkxLeanPairsRatioBand

Buod ng Resulta

Inilipat ang pairs-trading alpha model ng LEAN sa ratio na BTC/ETH sa mga perpetual swap na OKX: isang 500-bar na EMA na may mga banda na ±1%, isang araw na hawak at salit-salitang direksiyon. Sa paunang pag-aaral ng hypothesis, 19 lang ang pagpapalit sa loob ng humigit-kumulang 5.3 taon at humigit-kumulang +0.11% ang mean na kita sa spread bawat trade—halos katumbas ng gastos sa round trip at walang kabuluhan sa estadistika (t ≈ 0.3). Matapos ang 2 ulit, itinigil ang run sa yugto ng pag-code dahil tatlong beses nag-timeout ang pag-code ('coding_stuck_3_timeouts'), kaya hindi ito umabot sa beripikasyon o backtesting at walang nasukat na performance.

Hypothesis

Tapat nitong inilalahad ang BasePairsTradingAlphaModel ng QuantConnect LEAN (Apache-2.0, pagkilala: QuantConnect Corporation, https://github.com/QuantConnect/Lean/blob/856327ff33869cba98393781000c4ab1d2af423d/Algorithm.Framework/Alphas/BasePairsTradingAlphaModel.py). Ang source ay kumpletong tuntunin sa pairs trading na maaaring ikalakal, hindi utility library. Nagbabalik ng True ang has_passed_test(), kaya ikinakalakal ng base model ang bawat pares sa universe nito nang walang pagsusuri sa cointegration.……Magpakita ng higit paMagpakita ng mas kaunti

Tapat nitong inilalahad ang BasePairsTradingAlphaModel ng QuantConnect LEAN (Apache-2.0, pagkilala: QuantConnect Corporation, https://github.com/QuantConnect/Lean/blob/856327ff33869cba98393781000c4ab1d2af423d/Algorithm.Framework/Alphas/BasePairsTradingAlphaModel.py). Ang source ay kumpletong tuntunin sa pairs trading na maaaring ikalakal, hindi utility library. Nagbabalik ng True ang has_passed_test(), kaya ikinakalakal ng base model ang bawat pares sa universe nito nang walang pagsusuri sa cointegration. Pinatakbo namin ito sa pares na ONE: ang perpetual swap na BTCUSDT.OKX at ETHUSDT.OKX USDT. Ang OKX ay 0.3% ng corpus kumpara sa BINANCE na 67%, at may pang-araw-araw na kasaysayan ang dalawang panig mula 2020-01-02. Sinusunod ng pagkakasunod-sunod ng pares ang code. Pinagbukud-bukod ang mga simbolo, kaya asset1 = BTCUSDT.OKX, asset2 = ETHUSDT.OKX, at ratio = close(asset1) / close(asset2) = BTC/ETH. Mga default na parameter, eksakto ayon sa pagkakasulat: lookback = 1, resolution = DAILY, threshold = 1 (porsiyento). Mga hinangong halaga: prediction_interval = 1 araw; mean = EMA(500) ng ratio (hard-coded ang 500); upper = mean x 1.01; lower = mean x 0.99. Ipinapasok sa ratio at EMA ang mga identity indicator batay sa pang-araw-araw na pagsasara ng presyo. Walang signal hangga't hindi handa ang EMA(500), na mangyayari bandang kalagitnaan ng Mayo 2021. State machine: nagsisimula ang pares sa FLAT_RATIO. Hindi nito inuulit ang direksiyong kinalalagyan na nito at hindi ito nagre-reset sa flat. Nagpapalit lang ito kapag nalampasan ang kabilang banda. Kakaiba ang pagpapangalan: tinatawag ng code ang ratio > upper na kasong 'LONG_RATIO' pero ikinakalakal ito bilang SHORT asset1 / LONG asset2. Isalin ang mga kilos, hindi ang mga pangalan ng enum. Tumatagal ang mga insight nang prediction_interval = 1 araw. Sa default na EqualWeighting portfolio construction ng LEAN, nagiging zero ang mga target kapag nag-expire ang mga insight. Kaya hinahawakan ang bawat trade nang isang pang-araw-araw na bar, at nananatiling flat ang portfolio hanggang sa susunod na pagpapalit. Pagtatakda ng laki: bawat panig = 50% ng equity, leverage 1.0, dollar-neutral. Ang bayarin sa OKX ay 0.02% maker / 0.05% taker bawat panig. Paunang pag-aaral sa isang takdang punto ng panahon sa aming katalogo: nagpalit ng direksiyon ang 19 nang humigit-kumulang 5.3 taon. Humigit-kumulang +0.11% bawat trade ang mean na kita sa spread kinabukasan, na may standard deviation na humigit-kumulang 1.5% (t ≈ 0.3). Halos katumbas ito ng gastos sa round trip. Inaasahang magiging flat ang portfolio nang halos 99% ng panahon.

Pinananatili ng salin ang mga depinisyon ng indicator ng LEAN: mga pagsasara ng Identity, ratio = asset1/asset2 batay sa pinagbukud-bukod na mga simbolo, EMA(500) na sinimulan sa SMA, at mga banda sa mean*(1±threshold/100). Pinananatili rin nito ang state machine at isang-araw na tagal ng insight. Umuusad ang estado sa bawat bar bukas man o hindi ang posisyon, gaya ng ginagawa ng update() ng LEAN. Ang mga pagbabagong ipinataw ng platform: (1) isinasagawa ang mga fill gamit ang market order sa pagsasara ng presyo……Magpakita ng higit paMagpakita ng mas kaunti

Pinananatili ng salin ang mga depinisyon ng indicator ng LEAN: mga pagsasara ng Identity, ratio = asset1/asset2 batay sa pinagbukud-bukod na mga simbolo, EMA(500) na sinimulan sa SMA, at mga banda sa mean*(1±threshold/100). Pinananatili rin nito ang state machine at isang-araw na tagal ng insight. Umuusad ang estado sa bawat bar bukas man o hindi ang posisyon, gaya ng ginagawa ng update() ng LEAN. Ang mga pagbabagong ipinataw ng platform: (1) isinasagawa ang mga fill gamit ang market order sa pagsasara ng presyo ng signal bar, samantalang isinasagawa ng LEAN ang mga market order na daily-resolution sa susunod na pagbubukas; (2) 50% ng equity ang bawat panig, alinsunod sa EqualWeighting ng pangkat na may dalawang insight; (3) isinusumite ang bawat panig sa sarili nitong instrumento; (4) ginagamit lang ang pagsasara ng ETH kapag katumbas ang timestamp ng bar nito at ng bar ng BTC (harang sa pag-aayon). Isang bihirang edge case: kung mangyari ang pagbabago sa kabilang banda sa bar ding lalabas ang nakaraang isang-araw na trade, hindi ito ikakalakal, samantalang magtatakda muli ng target ang LEAN. Kaunti lang ang epekto nito sa humigit-kumulang 19 pagbabago sa loob ng 5 taon. Inaasahan kong mabibigo ang estratehiyang ito dahil sa bayarin at liit ng sample: nakakita ang paunang pag-aaral ng 19 trade na may +0.11% bawat trade (t≈0.3), halos katumbas ng gastos sa round trip ng dalawang panig. Ipinatupad ko pa rin ito ayon sa hiling. Mga simpleng scalar ang lahat ng estado (EMA, count, state, timestamp ng pagpasok), kaya pareho ang mga desisyon pagkatapos ng pag-restart.

coding_stuck_3_timeouts

Implementasyon

Tapat na port ng BasePairsTradingAlphaModel ng QuantConnect LEAN sa pang-araw-araw na bar ng BTCUSDT.OKX / ETHUSDT.OKX. BTC/ETH ang ratio. Ang mean nito ay EMA(500) na istilong LEAN, na sinimulan sa SMA at handa matapos ang 500 bar, na may mga banda sa ±1% ng mean. Salit-salitan ang state machine: nagsisimula itong flat, hindi inuulit ang direksiyong kinalalagyan na nito, at nagbabago lang kapag tumawid ang presyo sa kabilang banda. Kapag mas mataas ang ratio sa upper band, short BTC / long ETH; kapag mas mababa sa lower band, long BTC / short ETH. Sa bawat pagbabago, nagbubukas ito ng dollar-neutral na pares (50% ng equity bawat panig, leverage 1) na hinahawakan nang isang pang-araw-araw na bar, alinsunod sa pag-expire ng insight sa ilalim ng EqualWeighting. Pagkatapos, nananatiling flat ang portfolio hanggang sa susunod na pagbabago.

Kasaysayan ng Iterasyon

sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa limitasyong 300 segundo sa ~20000-bar na saklaw (2400 araw ng BTCUSDT.OKX-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng trabahong inuulit sa bawat bar at lumalaki kasabay ng kasaysayan—halimbawa, muling pag-scan sa buong serye ng funding/dagdag na datos, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na hanay ng timestamp ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup batay sa timestamp, para maging O(log n) sa halip na O(n) ang gastos sa bawat bar.

Buod ng Resulta

Tinantiya na ng paunang pag-aaral na halos katumbas ng gastos sa round trip ang edge sa 19 trade lang (t ≈ 0.3), kaya mahina nang kandidato ang hypothesis na ito bago pa man magkaroon ng mga timeout sa pag-code; makakatipid sa kapasidad ng pipeline ang pagsala sa mga edge na ganito kanipis bago mag-code.

Itinigil ang run sa yugto ng pag-code dahil sa 'coding_stuck_3_timeouts' matapos ang 2 ulit. Hindi na ito umabot sa beripikasyon, backtesting, pagsusuri ng analyst o pagsusuri ng panganib.

Tapat na port ng BasePairsTradingAlphaModel ng QuantConnect LEAN sa ratio ng presyo ng BTC/ETH OKX USDT-swap: kapag tumawid ang pang-araw-araw na ratio sa banda na ±1% sa palibot ng 500-bar na EMA, pumapasok ito sa dollar-neutral na pair trade (50% ng equity bawat panig) na tumataya sa pagbabalik sa mean, hinahawakan ito nang isang pang-araw-araw na bar, at nagpapalit lang ng direksiyon kapag nalampasan ang kabilang banda.

Walang resulta ng backtest o optimization (walang laman ang ulat ng backtest). Ang mga bilang lang ay mula sa paunang pag-aaral ng hypothesis: nagpalit ng direksiyon ang 19 nang humigit-kumulang 5.3 taon, at ang mean na kita sa spread kinabukasan ay humigit-kumulang +0.11% bawat trade (standard deviation na humigit-kumulang 1.5%, t ≈ 0.3), na halos katumbas ng gastos sa round trip.

Pagsusuri

BasePairsTradingAlphaModel

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.