Strategija ob 10:00 odda limitno naročilo. Ob 10:03 se njen signal spremeni. Backtest ob 10:04 neopazno zamenja naročilo, nato pa ob 10:05 zabeleži izvršitev. Pri paper tradingu lahko prvotno naročilo še vedno čaka na izvršitev na trgovalnem mestu. Če se izvrši, medtem ko je aktivno tudi nadomestno naročilo, ima strategija 2 naročili, njen model pozicije pa se pretvarja, da je bilo naročilo samo 1.
Odprta naročila potrebujejo lastno stanje in uro. Backtest mora vedeti, kdaj je bilo posamezno naročilo oddano, kdaj ga je mogoče preklicati, ali je preklic dosegel trgovalno mesto in kaj se zgodi, če se izvršitev zgodi hkrati s preklicem. Te podatke redno izbrišejo 3 bližnjice.
Napaka 1: Predpostavka, da nov signal takoj prekliče naročilo
Številni backtesti z vsako svečo znova izračunajo ciljno pozicijo in nato čakajoče naročilo prepišejo z naročilom, ki ustreza zadnjemu signalu. Tako naročilo izgine v trenutku, ko si strategija premisli. Resnična trgovalna mesta ne delujejo tako. Zahteva za preklic potrebuje čas, naročilo pa se lahko izvrši, preden jo trgovalno mesto obdela.
Predstavljajmo si nakupni limit za 100 delnic po $50.00. Ob 10:03 signal oslabi, zato strategija pošlje zahtevo za preklic. Ob 10:03:00.080 se izvrši 60 delnic; preklic je potrjen ob 10:03:00.110. Preostalih 40 delnic je preklicanih, vendar pozicija zdaj vključuje 60 delnic. Backtest, ki temelji na svečah in izbriše naročilo ob 10:03, lahko poroča o 0 delnicah. Če predpostavi takojšen preklic, a vseeno zabeleži poznejšo izvršitev, si izmisli izpostavljenost v nasprotni smeri.
Izrecno spremljajte življenjski cikel naročila: oddano, potrjeno, delno izvršeno, čaka na preklic, preklicano ali v celoti izvršeno. Ohranite izvršitve, do katerih pride pred potrditvijo preklica. Pri grobi simulaciji s svečami izberite konservativno pravilo za določanje vrstnega reda dogodkov in ga razkrijte, kadar bi se oba lahko zgodila znotraj iste sveče.
Napaka 2: Naročilu pustite neskončno dolgo življenjsko dobo
Limitno naročilo, določeno na podlagi signala ob 10:00, lahko zastara, tudi če signal nima izrecnega izhodnega pravila. Knjiga naročil se spreminja, volatilnost se spreminja, tržna vrednost instrumenta pa lahko odstopa. Če simulator pusti naročilo aktivno, dokler se ne izvrši, ga lahko izvrši šele po več mesecih in izvršitev pripiše naložbeni tezi, ki ne obstaja več.
Politiko časovne veljavnosti naročila prilagodite strategiji. Signal z obdobjem 1 minute lahko uporablja 30-sekundni rok veljavnosti; pri dnevnem uravnoteženju pa lahko naročilo ostane aktivno do konca trgovalnega dne. To so odločitve glede strategije, ne univerzalne privzete nastavitve. Če strategija ob vsaki sveči znova določi ceno, modelirajte zaporedje preklica in zamenjave, namesto da bi naročilo čarobno premaknili na novo ceno.
| Politika naročila | Običajna uporaba | Vprašanje za backtest |
|---|---|---|
| Takoj ali prekliči | Izkoristi razpoložljivo likvidnost, nato prenehaj | Kolikšen delež bi se lahko izvršil ob oddaji? |
| Kratka veljavnost | Hiter signal s kratkim časovnim oknom za izvršitev | Ali je bilo naročilo še veljavno, ko se je cena vrnila? |
| Do konca trgovalnega dne | Počasno uravnoteženje ali namen sodelovanja v zaključni dražbi | Ali trgovalno mesto dejansko podpira tako dolgo veljavnost? |
Napaka 3: Vsak dotik cene šteje kot izvršitev
Če se najnižja cena sveče dotakne nakupnega limita, to še ne pomeni, da je bilo naročilo izvršeno. Pred njim so lahko v čakalni vrsti druga naročila, pri tej ceni se je lahko trgovalo z majhnim obsegom ali pa je do kratkotrajne transakcije prišlo, preden je prispelo vaše naročilo. Zastarel model naročil pogosto združi vse 3 napake: naročilo pusti aktivno predolgo, predpostavi, da je bilo prvo v vrsti, in nato ob dotiku cene pripiše polno izvršitev.
Poskrbite vsaj, da do izvršitev ne pride pred prihodom naročila, simulirano količino pa omejite na verjeten obseg trgovanja pri limitni ceni. Pri strategijah, pri katerih je položaj v čakalni vrsti pomemben, uporabite podatke o poslih in knjigi naročil ali namerno konservativen model čakalne vrste. Izvršitev na podlagi samega dotika je lahko uporabna za grobo preverjanje, vendar jo označite kot optimistično približno oceno in jo primerjajte z manj ugodno predpostavko.
Praktična revizija: zabeležite čas nastanka vsakega naročila, obdobje aktivnosti, zahtevo za preklic in njeno potrditev, čas izvršitve, izvršeno količino in preostalo količino. Nato ponovno predvajajte nekaj poslov v obdobjih, ko se signali obrnejo. Če ne znate pojasniti, zakaj je bilo posamezno naročilo ob izvršitvi še vedno aktivno, morate izboljšati štetje izvršitev v backtestu.
Modelirajte naročilo, ki ga nameravate preizkusiti v paper tradingu
Stanje naročila povezuje namen strategije z njeno dejansko izpostavljenostjo. Pozicija se mora spremeniti ob izvršitvah, ne ob ciljnih pozicijah signala ali zahtevah za preklic. Zamenjave morajo pustiti sled, ki jo je mogoče revidirati, delne izvršitve pa morajo ostati upoštevane pri naslednji odločitvi. Tako je backtest bolj zapleten, a primerjava s paper tradingom postane smiselna: razlike v izvrševanju med sistemoma je mogoče pojasniti.
Če je model naročil negotov, to negotovost ohranite tudi v rezultatih. Preizkusite kratko in dolgo veljavnost naročil, spreminjajte zamik pri preklicu in pokažite, koliko uspešnost temelji na optimističnih predpostavkah o čakalni vrsti. S strategijo je lahko vse v redu. Njen navidezni presežni donos pa je morda samo obrestni prihodek od naročila, ki bi ga resnični sistem preklical že pred več urami.
← Vse objave


