Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

OKX 14-Swap Price-Volume Correlation Cross-Section: Long sa Mababang Corr / Short sa Mataas na Corr, Lingguhang Dollar-Neutral (1-DAY)

Resulta: Inabandona

OkxDailyPriceVolumeCorrelationCrossSection

Buod ng Resulta

Nagmungkahi ang hypothesis ng bagong pamilyang mekanismo para sa corpus: cross-section ng price-volume correlation na long-short sa 14 OKX perp, na may 1.0x gross exposure, lingguhang rebalance at 25% catastrophe stop bawat leg. Gumamit ang developer ng rolling deque at mga naka-index na query sa order upang limitahan ang trabaho, pero sa loob ng 3 iteration ay hindi nakalagpas ang code sa sandbox verification ng Layer 3, kung saan lumampas ito sa limitasyong 300s sa arawang window na 2,400 araw. Iniwan ang run dahil sa sandbox timeout bago tumakbo ang anumang yugto ng backtest, pagsusuri ng backtest, optimization, pagsusuri ng analyst o risk review, kaya hindi nasukat ang edge ng factor.

Hypothesis

Cross-sectional na long-short factor sa 14 OKX USDT perpetual swap gamit ang pang-araw-araw na OHLCV bar. May tuloy-tuloy na pang-araw-araw na history ang bawat coin mula 2020 o unang bahagi ng 2021 hanggang 2026-10-02 (sinuri sa catalog: BTC/ETH/BCH/TRX/ETC mula 2020-01-02, SOL mula 2021-01-24, lahat ay may pinakamahabang puwang na 1 araw). Nagmula ang factor sa price-volume correlation factor ng BigQuant (https://bigquant.com/wiki/doc/I5oStgChtF): factor = -1 x corr_20d(close/close[-1], log(volume/volume[-1] +……Magpakita ng higit paMagpakita ng mas kaunti

Cross-sectional na long-short factor sa 14 OKX USDT perpetual swap gamit ang pang-araw-araw na OHLCV bar. May tuloy-tuloy na pang-araw-araw na history ang bawat coin mula 2020 o unang bahagi ng 2021 hanggang 2026-10-02 (sinuri sa catalog: BTC/ETH/BCH/TRX/ETC mula 2020-01-02, SOL mula 2021-01-24, lahat ay may pinakamahabang puwang na 1 araw). Nagmula ang factor sa price-volume correlation factor ng BigQuant (https://bigquant.com/wiki/doc/I5oStgChtF): factor = -1 x corr_20d(close/close[-1], log(volume/volume[-1] + 1)). Sa bawat coin, sinusukat nito kung kasabay ng pagtaas ng presyo ang biglang paglaki ng volume (pagbili dahil sa atensyon o FOMO, mataas na correlation) o kung sa mga araw ng pagbaba ng presyo nangyayari ang paglaki ng volume o walang kaugnayan ito sa direksyon (mababa o negatibong correlation). Tuwing rebalance_days pang-araw-araw na bar, niraranggo ang 14 coin ayon sa PVC_i = Pearson corr sa loob ng corr_lookback araw ng (pang-araw-araw na simpleng return, pang-araw-araw na pagbabago sa log volume). Mag-long sa n_per_side coin na may LOWEST PVC at mag-short sa n_per_side coin na may HIGHEST PVC. Pantay ang timbang ng mga leg at dollar-neutral ang mga ito; katumbas ng 1.0x ng equity ang gross exposure (bawat panig ay 50%). Nakatakda na bago ang rehistro ang sign ng factor at hindi ito maaaring baguhin, kaya hindi ito mababaligtad ng optimizer. Hindi muling tine-trade ang mga coin na nananatili sa parehong bucket sa rebalance, kaya nababawasan ang turnover. Bagong pamilya ito ng mekanismo sa corpus: ang tanging kaugnay na hypothesis ay isang Wyckoff divergence sa iisang asset na BTC. Hindi ito momentum, hindi nakatali sa kalendaryo, hindi gate na gumagamit ng karagdagang feed sa iisang perp, at hindi options. Pinupunan din nito ang mga kulang na bucket: OKX venue (2.0% kumpara sa target na >=5%), long_short (16.7%), at maraming instrumento. Execution: mga market order sa pang-araw-araw na closing bar; hinahawakan ang mga posisyon nang humigit-kumulang 1 linggo. Isinasama ng engine ang OKX funding bilang gastos o credit; hindi ito signal. Panganib: may nakapirming 25% adverse catastrophe stop ang bawat leg (mahalaga ito sa short squeeze), at mananatiling walang posisyon ang na-stop na leg hanggang sa susunod na rebalance. Ang pinakamataas na exposure ng iisang leg ay 1/(2*n_per_side) ng equity (16.7% sa baseline n=3). Itinatakda ang leverage sa config.leverage = 1.0 at hindi ito NOT isang optimization_plan parameter. Tala sa implementasyon: panatilihin ang rolling deque ng huling corr_lookback+1 pagsasara at volume sa bawat instrumento, na ina-update sa on_bar/on_extra_bar, at kuwentahin lang ang correlation sa mga rebalance bar. O(14 x lookback) ito sa bawat rebalance; huwag kailanman muling suriin ang buong history (iniiwasan nito ang sandbox timeout).

Pinili upang punan ang mga bucket na kulang ang representasyon: OKX sa 2.0% (target >=5%), long_short sa 16.7% (long_only ay 83% laban sa limitasyong <=55%), at multi-instrumento. Iniiwasan ang BINANCE (62%), gayundin ang konsentrasyon sa BTC (BTC ay 1 lamang sa 14 magkakapantay na leg). Halos walang kasaysayan sa corpus ang pamilyang mekanismo (co-movement ng return at volume bilang cross-sectional rank). Pagsunod sa aral: L186/L181, napatunayan sa catalog ang OKX USDT-swap 1-DAY bar ng bawat leg, na may……Magpakita ng higit paMagpakita ng mas kaunti

Pinili upang punan ang mga bucket na kulang ang representasyon: OKX sa 2.0% (target >=5%), long_short sa 16.7% (long_only ay 83% laban sa limitasyong <=55%), at multi-instrumento. Iniiwasan ang BINANCE (62%), gayundin ang konsentrasyon sa BTC (BTC ay 1 lamang sa 14 magkakapantay na leg). Halos walang kasaysayan sa corpus ang pamilyang mekanismo (co-movement ng return at volume bilang cross-sectional rank). Pagsunod sa aral: L186/L181, napatunayan sa catalog ang OKX USDT-swap 1-DAY bar ng bawat leg, na may tuloy-tuloy na kasaysayan at walang puwang; sadyang ibinukod ang mga coin na may halos isang linggo lang na kasaysayan ng OKX (XRP, DOGE, LTC, FIL, NEAR, OP). L179: obserbasyon sa merkado (isang rank) ang trigger, hindi isang calendar window, dahil itinatakda lang ng dalas ng rebalance kung kailan muling babasahin ang mga rank. L111: walang karagdagang gate. L102: walang options. Nakapirmi ang leverage sa OUT sa optimization_plan.fixed dahil config field ito, hindi parameter ng strategy; ang nakapirming leverage entry ang pumalya sa mga lottery run kamakailan na LTC-BCH at OKX sa Layer 1.5.

verification_loop: sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na limitasyon sa oras na ~20000-bar ang window (2400 araw ng BTCUSDT.OKX-1-DAY-LAST-EXTERNAL). Karaniwang ibig sabihin nito ay may trabahong bawat bar na lumalaki kasabay ng kasaysayan — halimbawa, muling ini-scan ang buong funding/supplementary series, o muling bumubuo ng listahan at tumatawag ng min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. I-precompute ang mga nakaayos na timestamp array na ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para maging O(log n) sa halip na O(n) ang gastos bawat bar.

Implementasyon

Cross-sectional OKX 14-perp factor sa daily bar. Tuwing rebalance_days (bucket = days_since_epoch // rebalance_days), niraranggo ang mga coin ayon sa Pearson correlation sa loob ng corr_lookback araw sa pagitan ng daily return at log1p(volume/prev volume). Nagla-long ang strategy sa n coin na may pinakamababang-PVC at nagsho-short sa n may pinakamataas, na pantay ang timbang at dollar-neutral sa 1.0x gross. Pinananatili ang mga natirang leg maliban kung lumampas ang paglihis sa tolerance. May 25% reduce-only catastrophe stop ang bawat leg na nakapuwesto sa venue, at nananatiling flat ang na-stop na leg hanggang sa susunod na bucket. Nasa scalar attribute bawat leg ang lahat ng state.

Tinutugunan ng Iteration 3 ang Layer-3 sandbox_timeout. Lokal ko itong muling ginawa gamit ang kaparehong tawag na run_backtest_in_subprocess sa 2020-01-02..2025-01-24, na umabot ng kabuuang 338s. Tumakbo nang 179s ang cProfile ng subprocess_entry sa 1.6-taong window. 166s nito ang napunta sa ParquetDataCatalog.query (fsspec spec.walk/local.ls/info: 371k ls at 2.4M stat na tawag sa 17 catalog query, dagdag ang 70s sa bar_stamping.load_normalised). Tumagal nang humigit-kumulang 1.5s ang buong on_bar path ng……Magpakita ng higit paMagpakita ng mas kaunti

Tinutugunan ng Iteration 3 ang Layer-3 sandbox_timeout. Lokal ko itong muling ginawa gamit ang kaparehong tawag na run_backtest_in_subprocess sa 2020-01-02..2025-01-24, na umabot ng kabuuang 338s. Tumakbo nang 179s ang cProfile ng subprocess_entry sa 1.6-taong window. 166s nito ang napunta sa ParquetDataCatalog.query (fsspec spec.walk/local.ls/info: 371k ls at 2.4M stat na tawag sa 17 catalog query, dagdag ang 70s sa bar_stamping.load_normalised). Tumagal nang humigit-kumulang 1.5s ang buong on_bar path ng strategy para sa 8,456 bar. Kaya catalog I/O para sa 14 leg ang sanhi ng timeout, at hiwalay ito sa code ng strategy (aral 155(b)/(c): plumbing, hindi pag-aayos ng signal). O(14 x lookback) na lamang ang gastos ng strategy bawat bar sa mga rebalance bar at O(lookback) sa iba pa, gamit ang bounded deque at mga naka-index na query sa open/in-flight order. Isang maliit na tunay na tipid lang ang tanging pagbabago sa code: sa mga rebalance bar, ginagamit muli ang correlation ng pangunahing leg, na nakuwenta na para sa signal bawat bar, sa halip na muling kalkulahin. Hindi nagbago ang mga instrumento, leg, sign at plano ng parameter, kaya nananatili itong tapat sa hypothesis. Kailangan ng engineering fix sa gastos ng catalog query (i-cache ang listahan ng catalog file o mag-query gamit ang tahasang bar-type path) o mas mataas na sandbox cap para sa mga book na may 14 leg.

Mga Resulta ng Beripikasyon

sandbox_timeout: Nabigo ang verification (Layer 3 — sandbox backtest): lumampas ang smoke test sa 300s na limitasyon sa oras sa ~20000-bar na window (2400 araw ng BTCUSDT.OKX-1-DAY-LAST-EXTERNAL). Karaniwang ibig sabihin nito ay may trabahong bawat bar na lumalaki kasabay ng kasaysayan — halimbawa, muling ini-scan ang buong funding/supplementary series, o muling bumubuo ng listahan at tumatawag ng min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. I-precompute ang mga nakaayos na timestamp array na ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para maging O(log n) sa halip na O(n) ang gastos bawat bar.

Buod ng Resulta

Kailangang panatilihing may hangganan ang trabaho bawat bar at bawat rebalance ng 14-instrumentong daily strategy (halimbawa, huwag mag-scan ng naka-cache na order o kasaysayan ng bar sa loob ng on_bar) para matapos sa loob ng 300s na sandbox, kahit sinasabi na ng hypothesis na gumamit ng rolling deque.

Matapos ang 3 iteration, iniwan ito sa verification loop. Lumampas sa 300s na limitasyon sa oras ang Layer 3 sandbox smoke test sa ~20,000-bar na window (2,400 araw ng BTCUSDT.OKX 1-araw na bar), na nagpapahiwatig ng trabahong bawat bar na lumalaki kasabay ng kasaysayan.

Isang cross-sectional factor na dollar-neutral at nire-rebalance linggu-linggo sa 14 OKX USDT perpetual swaps. Binibili nito nang long ang mga coin na may pinakamababang 20-araw na ugnayan ng presyo at volume, at binebenta nang short ang may pinakamataas, batay sa BigQuant PVC factor na may nakapirmi at paunang rehistradong sign.

Walang performance number: hindi natapos ng strategy ang backtest, kaya walang laman ang ulat ng backtest at null ang ulat ng optimization.

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.