Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Backtesting ng TqSdk Stainless Steel–Nickel Kalman Pairs: tapat na pagtutukoy, kailangan ng suporta ng platform

Resulta: Inabandona

TqKalmanSsNiPairs

Buod ng Resulta

Nag-port ang TqKalmanSsNiPairs ng demo ng Kalman pairs trading ng TqSdk, isang long-short na trade sa pagitan ng SHFE stainless steel at nickel futures. Hindi binago ng port ang di-pangkaraniwang Kalman equation, lot sizing at pagkakasunod-sunod ng event sa source. Sinabi mismo ng hypothesis na hindi maisasagawa ang tapat na run sa platform dahil hindi sinusuportahan ng venue configuration nito ang SHFE at wala rito ang datos, margin at bayarin ng mga kontrata. Gaya ng inaasahan, iniwan ang run sa unang iteration nito na may 'SS2209.SHFE: hindi namodelo ang venue', kaya wala itong nalikhang resulta ng backtest o optimization at hindi mahuhusgahan ang performance.

Hypothesis

Isang kongkretong long-short na estratehiya sa pares na iniuugnay kay Shinny (TqSdk), na inilabas sa ilalim ng Apache-2.0. Ipinagpapalit ng orihinal ang SHFE.ss2209 bilang Y at SHFE.ni2209 bilang X gamit ang 3600-segundong kline serial mula 2022-07-04 hanggang 2022-08-31. Panatilihing eksakto ang ibinigay na implementasyon, pati ang di-karaniwang Kalman equation, sizing at timing ng event. Hindi sinusuportahan ng sinuring venue configuration ng platform ang SHFE, at hindi itinatatag ng brief ang makasaysayang datos ng mga kontratang ito ni ang mga iskedyul ng margin at bayarin nila. Dahil dito, hindi maisasagawa ang tapat na platform hypothesis gamit ang naitatag na imprastraktura. Magiging ibang eksperimento ang pagpapalit dito ng mga crypto instrument o signal mula sa mga nakumpletong bar.

Nangunguna ang hinihingi ng user na maging tapat sa source kaysa sa diversification ng portfolio. Mag-iimbento ng ibang tanong sa pananaliksik ang pagpapalit sa pares na ito ng industrial metals tungo sa crypto venue na kulang ang representasyon. Executable trading code ito sa orihinal nitong kapaligiran, hindi utility o abstrak, ngunit hindi pa naitatatag ang pagiging posible nito sa platform at ang pagiging praktikal ng mga bayarin.

SS2209.SHFE: hindi namodelo ang venue

Implementasyon

Tapat na salin ng kalman_filter_pairs_trading ng TqSdk. Y = SHFE stainless steel ss2209 (pangunahing panig), X = SHFE nickel ni2209 (karagdagang panig), sa mga bar na 1 oras. Tumatakbo ang scalar Kalman filter (Q=STATE_VAR, R=OBS_VAR, panimulang mean/var 1.0) mula sa ika-11 bar at tinatantiya ang hedge ratio. Ang spread ay y - beta*x, na ginawang z-score gamit ang population std ng huling 60 spread. Nagbubukas ang estratehiya ng long Y / short X kapag z < -2 at short Y / long X kapag z > 2. Nagsasara ito kapag |z| < 0.5, sa masamang galaw ng z na 3 mula sa pagpasok, o matapos ang 10 na pagbabago ng naobserbahang petsa habang may hawak na posisyon. Y lots = capital*POS_PCT/margin_per_lot at X lots = int(lots*beta*py*mult_y/(px*mult_x)), kapwa ayon sa source.

Pinananatiling verbatim ang mga Kalman equation ng source, kabilang ang di-karaniwang variance update (1-K*x)*P, pati ang window, mga threshold, stop, timeout sa pagbabago ng petsa at mga formula ng lot. Mga pagbabagong ipinataw ng platform: (1) Gumagamit ang mga signal ng pagsasara ng nakumpletong 1-oras na bar sa magkatugmang pares na Y/X. Nagti-trigger ang source sa bawat pagbabago ng datetime ng bagong kline, gamit ang unang presyo ng kasalukuyang binubuong bar. (2) Wala rito ang quote.margin at……Magpakita ng higit paMagpakita ng mas kaunti

Pinananatiling verbatim ang mga Kalman equation ng source, kabilang ang di-karaniwang variance update (1-K*x)*P, pati ang window, mga threshold, stop, timeout sa pagbabago ng petsa at mga formula ng lot. Mga pagbabagong ipinataw ng platform: (1) Gumagamit ang mga signal ng pagsasara ng nakumpletong 1-oras na bar sa magkatugmang pares na Y/X. Nagti-trigger ang source sa bawat pagbabago ng datetime ng bagong kline, gamit ang unang presyo ng kasalukuyang binubuong bar. (2) Wala rito ang quote.margin at quote.volume_multiple, kaya mga parameter ang mga ito: MARGIN_RATE_Y=0.12 ay palagay na hindi pa nabeberipika, at ang VOL_MULT_Y=5 / VOL_MULT_X=1 ang mga laki ng kontrata ng SHFE. (3) Ginagamit sa sizing ang get_account_equity() sa halip na ang nakapirming INIT_CAP=10M CNY, ayon sa hinihingi ng tuntuning batay sa kapital. Sa account na $100K, nagbibigay iyon ng 0 lot, kaya kailangan ng tapat na run ang humigit-kumulang CNY 10M na equity. (4) Mga petsa ng UTC ang hangganan ng araw, hindi ang kalendaryo ng araw ng trading na SHFE (sesyon sa gabi). BLOCKER: walang venue ng SHFE ang venue_configs.py, walang datos ng SS2209/NI2209 sa catalog, at walang naitatag na iskedyul ng bayarin o margin para sa SHFE. Gaya ng sinasabi mismo ng hypothesis, hindi ito maisasagawa rito, at ibang eksperimento ang pagpapalit dito ng crypto.

Buod ng Resulta

Bago mag-code ng hypothesis, tiyaking sinusuportahan ng platform ang venue nito, datos, at mga iskedyul ng bayarin at margin; kung sa hindi suportadong exchange lang puwedeng tumakbo ang source (dito, SHFE), kailangang idagdag muna ang suportang iyon, dahil ibang eksperimento na ang paggamit ng mga crypto instrument.

Iniwan ito sa iteration 1 sa dahilang 'SS2209.SHFE: hindi namodelo ang venue': walang SHFE venue ang platform, walang makasaysayang datos para sa mga kontratang ito, at walang iskedyul ng margin o bayarin para sa SHFE. Itinuring na mismo ng hypothesis na hindi ito maisasagawa, kaya hindi na umabot sa pagsusuri ng backtest, analyst at risk.

Tapat na port ng Kalman-filter na pairs strategy ni Shinny (TqSdk, Apache-2.0): tinatantiya nito ang pabago-bagong hedge ratio sa pagitan ng SHFE stainless steel (ss2209, Y) at nickel (ni2209, X) sa mga bar na 3600 segundo, saka ginagamit ang rolling z-score ng spread para i-trade ito (nagbubukas lampas sa ±2, nagsasara sa loob ng ±0.5, at may tuntunin sa stop-spread at pinakamatagal na araw ng paghawak).

Walang datos sa performance. Walang laman ang ulat ng backtest, hindi tumakbo ang optimization, at walang nalikhang bilang para sa return, Sharpe o dami ng trade.

Pagsusuri

kalman_filter_pairs_trading

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.