Hindi makakapaglagay ng order sa closing price ng Lunes ang isang daily strategy na kinukuwenta ang signal nito batay sa closing price ng Lunes. Maaari itong magsumite ng order kapag alam na ang presyong iyon, saka makipagkalakalan sa mas huling presyong puwedeng pag-execute-an. Mas malaki pa sa epekto ng mahusay na indicator ang maaaring idulot ng maliit na pasyang ito sa resulta.
Para sa daily backtest, isulat muna ang pagkakasunod-sunod bago isulat ang signal: kung kailan kumpleto ang bar, kung kailan nagkakalkula ang strategy, kung kailan nakakarating sa merkado ang order, at kung anong presyo ang makatwirang pag-asahang magiging fill. Kapag naganap ang lahat ng iyon sa iisang sandali, nilaktawan ng backtest ang pinakamahirap na bahagi.
Puwede ko bang gamitin ang closing price ngayong araw para mag-trade sa pagsasara rin ngayong araw?
Karaniwan, hindi. Magiging available lang ang signal na nakadepende sa huling closing price kapag naganap na ang closing auction o ang huling trade. Kung ipinagpapalagay na fill sa mismong presyong iyon, para mo na ring ipinagpalagay na nalaman ng strategy ang resulta nang sapat na aga para makilahok sa presyong tumulong magtakda ng resultang iyon.
Isaalang-alang ang simpleng tuntuning ito: bumili kapag mas mataas ang close kaysa sa 20-day moving average. Sa pagsasara ng Lunes, nagiging totoo ang tuntunin. Gumagamit ang backtest na bumibili sa closing price ng Lunes ng kumpletong presyo ng Lunes kapwa sa pagpapasya at sa pag-fill. Para sa batayang daily-bar model, mas makatwirang pagtatantiya ang buuin ang order pagkakumpleto ng bar ng Lunes at i-fill ito nang hindi mas maaga sa pagbubukas ng Martes, kasama ang mga angkop na gastos.
May mga strategy na nagsusumite ng order sa closing auction gamit ang impormasyong available bago ang cutoff ng auction. Puwedeng i-backtest ang mga iyon, pero dapat gumamit lang ang signal ng datos bago ang cutoff, at dapat imodelo ang fill ayon sa execution sa auction. Hindi sapat ang “daily signal” lang para matiyak ang alinman sa mga kondisyong iyon.
Ano ang tamang fill price para sa daily backtest?
Walang iisang presyong laging tama. Malinaw na panimulang palagay ang susunod na open kapag binuo ang signal mula sa kumpletong daily bar at ipinadala ang order pagkatapos nito. Hindi ito garantiya: maaaring magbago ang merkado dahil sa overnight gap, at magbabayad ang market order ng spread, fees, at posibleng market impact.
Para sa signal ng Lunes sa itaas, ipagpalagay na $100 ang closing price ng Lunes at $103 ang opening price ng Martes. Maaaring magpakita ng maliit na tubo ang close-to-close backtest kung kunwari ay bumili ito sa $100. Magsisimula sa $103 ang entry sa susunod na open. Ang diperensiyang $3 ay hindi “slippage” na dapat alisin sa pamamagitan ng pag-aayos ng mga parameter; bunga ito ng presyong kailangang bayaran dahil nalaman mo ang signal pagkatapos magsara ang merkado noong Lunes.
| Nagiging available ang signal | Posibleng execution | Palagay ng model |
|---|---|---|
| Pagkatapos ng daily close | Open ng susunod na session | Maaaring makarating ang order sa merkado bago o sa pagbubukas |
| Bago ang cutoff ng closing auction | Closing auction | Gumagamit lang ang signal ng impormasyon bago ang cutoff; minomodelo ang fill sa auction |
| Pagkatapos ng daily close | Mas huling intraday price | Naghihintay ang strategy; kailangan ng intraday data at nakasaad na iskedyul para sa execution |
Sa mga crypto market, kumbensiyon lang ang “daily close” dahil tuloy ang trading habang lumilipas ang hangganan ng timestamp. Puwede pa ring gumamit ang strategy ng kumpletong UTC daily candle, pero kailangan nitong maghintay hanggang makumpleto ang candle at dumating ang datos. Kung ilang segundo pang inaabot bago isapinal ng data pipeline mo ang bar, mas mahirap ipagtanggol ang order sa presyong umiiral sa mismong hangganan.
Paano ko dapat imodelo ang mga order kung daily bars lang ang mayroon ako?
Linawin kung ano ang maipapakita at hindi maipapakita ng bar. Makakatulong ang daily OHLCV para tantiyahin ang execution sa susunod na open, pero hindi nito maipapakita ang spread sa oras ng pagdating ng order mo, ang galaw ng presyo sa maghapon, o kung nakapila ang limit order mo bago umabot doon ang presyo.
Para sa daily market order, magsimula sa susunod na open, saka singilin ang strategy sa mga gastos na talagang kakaharapin nito: bayarin sa venue, pagtatantiya ng spread, at pagtatantiya ng market impact na angkop sa laki ng order. Subukin ang epekto ng mas mataas na gastos. Kung nakadepende ang resulta sa palagay na walang spread o halos walang market impact, hindi sapat ang daily bars para bigyang-katwiran ang kumpiyansang iyon.
Para sa limit order, hindi patunay ng pagkaka-fill mo ang pag-abot ng low ng araw sa limit price mo. Maaaring nag-trade na roon ang merkado bago dumating ang order mo, o maaaring mas marami ang nauna sa pila kaysa sa na-trade na dami. Kadalasan, masyadong magaspang ang daily bars para makabuo ng kapani-paniwalang queue model. Gumamit ng mas detalyadong datos kung nakadepende ang pahayag sa intraday execution, o sadyang gumamit ng konserbatibong palagay sa fill at lagyan ito ng malinaw na label.
Anong mga pagsusuri sa timing ang nakakatuklas ng lookahead sa daily bar?
Gusto ko ng ilang diretsahang pagsusuri dahil mabilis nitong inilalantad ang mga palagay:
- Iusog nang isang session ang bawat order na nagmula sa signal. Kung bumagsak ang performance, siyasatin kung ginamit ba ng orihinal na bersyon ang close ng bar na pinagmulan ng signal bilang fill.
- Itala nang magkakahiwalay ang oras ng signal, oras ng pagsusumite ng order, at oras ng fill. Dapat magkuwento ang mga timestamp ng kapani-paniwalang pangyayari nang hindi na kailangan ng interpretasyon.
- Ihambing ang mga fill sa susunod na open sa mas huli at konserbatibong execution price. May problema sa execution ang strategy na gumagana lang sa pinakapaborableng punto ng bar.
- Suriin kung paano naaapektuhan ng mga holiday, nawawalang bar, at pagsasara ng merkado ang “susunod na session.” Maaaring walang trading session sa susunod na araw sa kalendaryo.
Pagsusuring diagnostic ang pag-usog nang isang session, hindi ito pangkalahatang modelo ng execution. Magkakaiba ang orasan na kailangan ng mabagal na rebalance ng portfolio, strategy sa closing auction, at crypto system na tuloy-tuloy ang trading. Ang mahalaga ay malinaw ang orasan.
Hindi ba gaanong kapaki-pakinabang ang backtest kapag daily data ang gamit?
Hindi. Angkop na angkop ang daily data para sa strategy na nagpapasya at nagtatagal ng posisyon nang ilang araw o linggo. Kapaki-pakinabang ito para alamin kung sulit saliksikin ang isang malawak na tuntunin. Nagiging mapanlinlang ito kapag nag-aangkin ang backtest ng katiyakan sa mga fill na hindi maipapakita ng mga bar.
Nakakita na ako ng mahigit isang strategy na biglang bumuti nang pinalitan ng “signal sa close, fill sa susunod na open” ang “signal sa close, fill sa close.” Maaaring nakakadismaya ang resultang iyon, pero mahalaga ito: ipinapakita nito kung nananatiling mabisa ang ideya sa sandaling puwede na itong i-trade. Itabi ang kasunduan sa timing kasama ng code ng strategy. Kung hindi, tahimik na maibabalik ng susunod na optimization pass ang imposibleng fill.
← Lahat ng post


