Nagbilang ang backtest namin ng 91 fill mula sa 100 isinumiteng order. Sa paper trading, 63 lang ang na-fill ng parehong strategy. 84 milliseconds ang median na pagitan ng signal at pagkilala sa order, at 12 sa mga hindi na-fill na paper order ay mga limit order na ipinagpalagay ng backtest na na-fill sa sandaling tumama rito ang presyo.
Mukhang problema sa strategy ang agwat na 28 puntos hanggang paghiwalayin namin ang mga desisyon sa pag-order at ang mga desisyon sa pag-fill. Halos magkapareho ang piniling direksyon, laki at presyo ng strategy sa dalawang run. Magkaiba ang naging daloy ng execution: may mga order na nahuli ang dating, may mga nanatiling bukas, at may mga tumawid sa market na gumalaw na.
Ano ang ibig sabihin ng pagkakatugma ng mga order mula backtest hanggang paper trading?
Ibig sabihin ng pagkakatugma ay gumagawa ng maihahambing na mga desisyon ang backtest at paper system batay sa parehong impormasyong available, at tahasang isinasaalang-alang ang magkaiba nilang execution model. Hindi ibig sabihin nito na dapat tumugma ang bawat simulated fill sa isang paper fill. Hindi kayang buuin muli ng mga historical bar ang puwesto sa pila, at maaaring gumamit ang paper venue ng ibang matching model kaysa sa live exchange.
Mas tiyak ang kapaki-pakinabang na tanong: para sa bawat order na balak ilagay ng strategy, maipapaliwanag mo ba ang sumunod na nangyari? Masyadong maraming itinatago ang bilang ng mga trade at ang huling kita. Magtago ng pinagsamang talaan para sa bawat desisyon, at gumamit ng stable na strategy decision ID mula signal hanggang order, pagkilala, pagkansela at mga fill event.
| Paghahambing | Ano ang natutukoy nito | Halimbawa |
|---|---|---|
| Oras at direksyon ng desisyon | Magkaibang input o iskedyul | Isang bar pagkaraan nag-trigger ang paper signal |
| Hiniging laki at presyo | Pag-round, risk o mga tuntunin ng venue | Nagsumite ang backtest ng 0.013 BTC; ni-round ng paper sa 0.01 |
| Mga pagbabago sa estado ng order | Mga puwang sa pagsusumite, pagtanggi at pagkansela | Itinuturing ng backtest na kumpleto na ang kahilingan sa pagkansela |
| Dami at presyo ng fill | Sobrang optimistiko ang fill model o gumalaw ang market | Buong fill ang ibinibigay ng backtest sa limit order na nahipo ang presyo, pero walang fill sa paper |
Bakit napakarami sa mga hindi na-fill ang mga limit order na nahipo ang presyo?
Gumamit ang backtest namin ng 1-minute bar. Kung nasa loob ng high-low range ng isang bar ang limit price, minarkahan nitong na-fill ang order. Sinasagot ng tuntuning iyon kung nakipag-trade ang market sa presyong iyon sa anumang oras ng minutong iyon. Hindi nito sinasagot kung aktibo na ang order namin noon, kung kami ang nasa unahan ng pila, o kung sapat ang daming na-trade pagkadating nito.
Inilantad ng mga paper log ang problema sa tiyempo. Nagkuwenta ng signal ang strategy noong 12:03:00.000, pero 31 milliseconds pa bago nakarating ang market-data event sa proseso ng order. Tumagal pa ng 22 milliseconds ang mga risk check, at pagkaraan nito, 31 milliseconds bago kinilala ng venue simulator ang order. Kapag mabilis ang galaw, maaaring magmukhang abot ang isang presyo batay sa historical bar kahit nakarating na ang limit order matapos itong lampasan ng market.
May isa pang komplikasyon: bukas pa ang 12 paper order nang nakalipat na ang backtest sa kasunod na hakbang. Tinanggap ng simulator ang kahilingan sa pagkansela na para bang agad na naglaho ang order. Sa paper system, mas huli dumating ang pagkilala sa pagkansela; 3 order ang na-fill habang naghihintay. Dahil dito, nagbago ang posisyong nakita ng kasunod na signal.
Paano ko susukatin ang agwat nang hindi nililinlang ang sarili ko?
Magsimula sa isang simpleng reconciliation report na pinagsama ayon sa layunin ng order. Ipakita nang malinaw ang denominator. Maaaring mangahulugan ang “fill rate” ng mga fill kada isinumiteng order, dami ng na-fill na hinati sa hiniling na dami, o mga na-fill na order na hinati sa mga order na nakarating sa venue. Magkakaibang tanong ang sinasagot ng mga ito.
- Pagsamahin ang mga event gamit ang decision ID o client order ID, hindi timestamp na hinulaan matapos mangyari ang mga ito.
- Ihambing muna ang mga desisyon: oras ng signal, direksyon, hiniling na dami, uri ng order at limit price.
- Para sa magkakatugmang desisyon, ihambing ang pagkaantala sa pagkilala, mga pagtanggi, tagal na bukas, oras ng pagkansela, daming na-fill at volume-weighted fill price.
- Iulat ang mga rate ayon sa uri ng order at kondisyon ng market. Maaaring itago ng pangkalahatang fill rate na 63% ang 90% para sa mga market order at 35% para sa mga passive limit order.
Panatilihing magkakahiwalay at malinaw ang mga kategorya. Hindi katumbas ng hindi na-fill na order ang tinanggihang order; hindi full fill ang bahagyang na-fill na order; at nagbago pa rin ang posisyon dahil sa order na kinansela matapos ang bahagyang fill. Bilangin kapwa ang mga order at ang hiniling na dami para hindi magmukhang mas maganda ang resulta dahil lang sa kumpol ng maliliit na order.
Ano ang dapat baguhin sa backtest?
Gumamit ng tuntunin sa fill na naaayon sa resolusyon ng data at sa nilalayong asal ng order. Kung bar ang gamit, palatandaan lang ng posibleng fill ang limit order na nahipo ang presyo, hindi patunay na na-fill ito. Maaari kang magmodelo ng bahagyang fill sa konserbatibong paraan, mangailangan ng galaw ng trade lampas sa presyo, o huwag isama ang mga passive order na hindi matantiya ang puwesto sa pila. Iba't ibang tanong ang sinasagot ng bawat pagpili; idokumento ito at ihambing ang resulta gamit ang mahigit sa isang kapani-paniwalang tuntunin.
Imodelo rin ang estado ng order. Mananatiling live ang order hanggang makatanggap ang system ng panghuling event, at hindi inaalis ng kahilingan sa pagkansela ang exposure. Kung kayang magsumite ng pangalawang order ang strategy habang pending pa ang una, kailangang katawanin ng backtest nito ang karerang iyon o pigilan ito sa disenyo pa lang.
Pahayag ang fill model tungkol sa maaaring nangyari sa order mo. Bigyan ito ng tuntuning kaya mong ipaliwanag, saka tiyakin kung tugma ang tuntuning iyon sa mga paper log.
Sa agwat naming 28 puntos, ang nakagulat ay hindi ang pagpapasobra ng minute-bar backtest sa mga passive fill. Ang nakagulat ay ang paglihis ng posisyon ng strategy bago ang susunod nitong desisyon dahil hindi isinama ang tiyempo ng pagkansela. Nang ayusin namin ang modelo ng estado ng order at itinigil ang pagtrato sa bawat limit order na nahipo ang presyo bilang fill, hindi na kasing-ganda ang naging paghahambing sa paper, pero mas kapaki-pakinabang ito.
Iyan ang praktikal na pamantayan para sa pagkakatugma: may naitalang dahilan ang bawat makabuluhang pagkakaiba ng simulated at paper na asal, at hindi nag-aangkin ng katiyakan ang backtest kung hindi ito kayang ibigay ng data nito.
← Lahat ng post


