Stratēģija plkst. 10:00 iesniedz limit orderi. Plkst. 10:03 tās signāls mainās. Backtests klusi aizstāj orderi plkst. 10:04 un pēc tam uzskaita izpildi plkst. 10:05. Paper trading vidē sākotnējais orderis biržā joprojām var būt aktīvs. Ja tas tiek izpildīts, kamēr darbojas arī aizstājošais orderis, stratēģijai ir 2 orderi, bet pozīcijas modelis izliekas, ka bijis tikai viens.
Atvērtiem orderiem vajadzīgs savs stāvoklis un pulkstenis. Backtestam jāzina, kad katrs orderis iesniegts, kad to var atcelt, vai atcelšana sasniedza biržu un kas notiek, ja izpilde sacenšas ar atcelšanu. 3 vienkāršoti pieņēmumi regulāri liek šos faktus pazust.
1. kļūda: pieņemt, ka jauns signāls nozīmē tūlītēju atcelšanu
Daudzos backtestos katrā joslā tiek no jauna aprēķināta mērķa pozīcija, un pēc tam aktīvais orderis tiek pārrakstīts atbilstoši jaunākajam signālam. Tādējādi orderis pazūd tieši tajā brīdī, kad stratēģija pārdomā. Reālās biržās tā nenotiek. Atcelšanas pieprasījums prasa laiku, un orderi var izpildīt, pirms birža to apstrādā.
Apskatīsim pirkšanas limit orderi 100 akcijām par $50.00. Plkst. 10:03 signāls pavājinās, tāpēc stratēģija nosūta atcelšanas pieprasījumu. Plkst. 10:03:00.080 tiek izpildītas 60 akcijas; atcelšana tiek apstiprināta plkst. 10:03:00.110. Atlikušās 40 akcijas tiek atceltas, bet pozīcijā tagad ir 60 akcijas. Baros balstīts backtests, kas dzēš orderi plkst. 10:03, var uzrādīt nulli. Savukārt tāds, kas pieņem tūlītēju atcelšanu, bet tomēr reģistrē vēlāku izpildi, ir izdomājis pretēja virziena riska pozīciju.
Precīzi uzskaitiet ordera dzīves ciklu: iesniegts, apstiprināts, daļēji izpildīts, atcelšana gaida apstiprinājumu, atcelts vai pilnībā izpildīts. Saglabājiet izpildes, kas notiek pirms atcelšanas apstiprināšanas. Aptuvenai baru simulācijai izvēlieties un atklājiet piesardzīgu secības noteikumu gadījumiem, kad abi notikumi varēja notikt vienā barā.
2. kļūda: piešķirt aktīvam orderim neierobežotu derīguma laiku
Limit orderis, kura cena noteikta pēc signāla plkst. 10:00, var novecot pat tad, ja signālam nav skaidri definēta izejas noteikuma. Orderu grāmata mainās, svārstīgums mainās un tirgus instrumenta vērtība var novirzīties. Tomēr simulators, kas atstāj orderi aktīvu līdz izpildei, var tam piešķirt izpildi pēc vairākiem mēnešiem un piedēvēt to tēzei, kas sen vairs nav spēkā.
Nosakiet ordera darbības laika politiku, kas atbilst stratēģijai. 1 minūtes signālam var izmantot 30 sekunžu termiņu; dienas rebalansēšanas orderis var palikt aktīvs līdz sesijas beigām. Tās ir stratēģijas izvēles, nevis universāli noklusējuma iestatījumi. Ja stratēģija pārceno orderi katrā barā, modelējiet atcelšanas un aizstāšanas secību, nevis maģiski pārvietojiet orderi uz jauno cenu.
| Ordera politika | Tipisks lietojums | Backtesta jautājums |
|---|---|---|
| Tūlītēja izpilde vai atcelšana | Izmantot pieejamo likviditāti, pēc tam pārtraukt | Kādu daļu varētu izpildīt iesniegšanas brīdī? |
| Īss termiņš | Ātrs signāls ar īsu izpildes periodu | Vai orderis joprojām bija derīgs, kad cena atgriezās? |
| Līdz sesijas beigām | Lēna rebalansēšana vai nodoms piedalīties slēgšanas izsolē | Vai birža tiešām atbalsta šādu darbības laiku? |
3. kļūda: uzskatīt katru cenas pieskārienu par izpildi
Ja sveces zemākā cena sasniedz pirkšanas limitu, tas vēl nenozīmē, ka orderis tika izpildīts. Iespējams, pirms tā rindā bija citi orderi, pie šīs cenas tika tirgots neliels apjoms vai īslaicīgais darījums notika, pirms orderis tika iesniegts. Novecojis orderu modelis bieži apvieno visas 3 kļūdas: tas pārāk ilgi uztur orderi aktīvu, pieņem, ka tas rindā bija pirmais, un pēc cenas pieskāriena piešķir pilnu izpildi.
Vismaz nepieļaujiet izpildes pirms ordera pienākšanas laika un ierobežojiet simulēto daudzumu līdz ticamam tirgotajam apjomam pie limita cenas. Stratēģijām, kurām svarīga vieta rindā, izmantojiet darījumu un orderu grāmatas datus vai apzināti piesardzīgu rindas modeli. Izpilde pēc cenas pieskāriena joprojām var noderēt aptuvenai sākotnējai atlasei, taču apzīmējiet to kā optimistisku tuvinājumu un salīdziniet ar stingrāku pieņēmumu.
Praktiska pārbaude: reģistrējiet katra ordera izveides laiku, aktīvo periodu, atcelšanas pieprasījumu un apstiprinājumu, izpildes laiku, izpildīto daudzumu un atlikušo daudzumu. Pēc tam atkārtojiet dažus darījumus ap signāla maiņas brīžiem. Ja nevarat izskaidrot, kāpēc katrs orderis izpildes brīdī vēl bija aktīvs, backtesta izpildes uzskaite ir jāuzlabo.
Modelējiet orderi, ko paredzēts izmantot paper trading vidē
Ordera stāvoklis sasaista stratēģijas nodomu ar tās faktisko riska pozīciju. Pozīcijai jāmainās pēc izpildēm, nevis pēc signāla mērķiem vai atcelšanas pieprasījumiem. Aizstāšanai jāatstāj pārskatāma notikumu vēsture, un daļējām izpildēm jāsaglabājas līdz nākamajam lēmumam. Tas padara backtestu sarežģītāku, taču arī ļauj jēgpilni salīdzināt ar paper trading: abās sistēmās izpildes var atšķirties skaidri nosakāmu iemeslu dēļ.
Ja ordera modelī ir neskaidrības, saglabājiet šo nenoteiktību rezultātos. Izmēģiniet īsa un ilga darbības laika orderus, mainiet atcelšanas aizkavi un parādiet, cik lielā mērā rezultāts atkarīgs no optimistiskiem pieņēmumiem par vietu rindā. Stratēģija var būt laba. Taču tās šķietamā priekšrocība var būt arī peļņa no ordera, ko reālā sistēma būtu atcēlusi jau pirms vairākām stundām.
← Visi raksti


