2026. gada 11. novembris · izpilde

Stratēģija izturēja pārbaudes. Tad birža mainīja cenas soli.

Stratēģija izturēja pārbaudes. Tad birža mainīja cenas soli.

Otrdien plkst. 08:00 UTC kāda kriptovalūtu tirdzniecības vieta mainīja vidējas cenas beztermiņa līguma cenas soli. Mūsu bāzes stratēģija to nepamanīja. Tās signāls joprojām redzēja to pašu starpību starp tūlītējo tirgu un nākotnes līgumiem, riska limiti nemainījās, un atpakaļtests turpināja uzrādīt tos pašus rezultātus.

Simulētā tirdzniecība to pamanīja. Rīkojumu adapteris noapaļoja pirkšanas limitrīkojuma cenu uz leju līdz tuvākajai atļautajai cenai. Tādēļ rīkojums atradās vienu cenas soli zem līmeņa, ko modelēja atpakaļtests. Tirgus sasniedza veco cenu, simulētais rīkojums tika izpildīts, bet simulācijas rīkojums palika neizpildīts. Līdz pusdienlaikam stratēģijas pozīcija bija kļuvusi nelīdzsvarota.

Sākumā incidents izskatījās pēc sīkas noapaļošanas kļūdas. Patiesībā tā bija modeļa robežu problēma: stratēģija zināja cenas, bet atpakaļtests nezināja tirdzniecības vietas cenu režģi.

Mēs tirgojām vienkāršu bāzes signālu: pirkām tūlītējā tirgū un pārdevām beztermiņa līgumu, kad nākotnes līguma prēmija pārsniedza noteiktu slieksni. Rīkojumi bija pasīvi, jo sagaidāmā bāzes peļņa bija neliela. Daži cenas soļi varēja izšķirt, vai darījuma ieguvums būs pietiekams, lai segtu komisijas maksu un vēlāk veikto izejas darījumu.

Kas mainījās līdz ar cenas soli?

Pirms atjauninājuma beztermiņa līguma cenu varēja norādīt ar 0.01 soli. Pēc tam attiecīgajā cenu diapazonā bija atļauti 0.05 soļi. Signāls aprēķināja mērķa pārdošanas cenu 42,318.03, kas bija derīga saskaņā ar iepriekšējiem noteikumiem. Pēc to maiņas šī cena vairs nebija derīga.

Birža noraidīja nederīgas cenas, bet mūsu adapterim bija rezerves risinājums: tas noapaļoja pārdošanas cenu uz leju līdz 42,318.00. Arī šī cena nebija derīga. Otrajā mēģinājumā cena tika noapaļota vēlreiz — līdz 42,318.05. Tā bija derīga, taču pārdevējam mazāk izdevīga. Rīkojumu vairs nevarēja izpildīt par modelēto cenu. Šis koda ceļš bija izstrādāts citam tirgum un klusi pārveidoja noraidījumu par rīkojumu ar citu cenu.

Šis viens rīkojums skāra divus atšķirīgus jautājumus. Pirmkārt, kādu cenu tirdzniecības vieta drīkst pieņemt? Otrkārt, kā stratēģijai jārīkojas, ja tās vēlamā cena neatbilst cenu režģim? Uz pirmo jautājumu atbild birža. Uz otro jāatbild stratēģijai vai izpildes politikai.

Rīkojuma veidsCenu režģa noteikumsParastais noapaļošanas virziensIespējamās izmaiņas
Pirkšanas limitrīkojumsCenai jābūt cenas soļa daudzkārtnimUz leju, lai cena nepārsniegtu limituMazāka izpildes varbūtība
Pārdošanas limitrīkojumsCenai jābūt cenas soļa daudzkārtnimUz augšu, lai cena nebūtu zemāka par limituMazāka izpildes varbūtība
Tirgū izpildāms limitrīkojumsJāievēro arī cenu robežasAtkarīgs no maksimāli pieļaujamās cenasVai rīkojums šķērso starpību

Nav vienas visiem gadījumiem pareizas noapaļošanas kārtības. Pirkšanas cenas noapaļošana uz leju saglabā pircēja cenas ierobežojumu, taču var samazināt izpildes varbūtību. Noapaļošana uz augšu var padarīt rīkojumu izpildāmu tirgū, mainot komisijas maksu un ietekmi uz tirgu. Mūsu pasīvajai bāzes pozīcijas atvēršanai klusa rīkojuma cenas maiņa bija nepareiza rīcība. Stratēģija bija izvēlējusies mērķi, bet adapteris izmainīja darījuma ekonomiku.

Kāpēc atpakaļtests joprojām izskatījās veiksmīgs?

Mūsu vēsturisko rīkojumu simulators limitcenas uztvēra kā nepārtrauktus skaitļus. Ja sveces minimums sasniedza pirkšanas cenu vai maksimums sasniedza pārdošanas cenu, simulators reģistrēja izpildi. Pasīvam rīkojumam tas jau ir optimistisks tuvinājums, jo darījums par limitcenu neko nepasaka par vietu rindā. Taču pēc cenas soļa maiņas problēma bija vēl fundamentālāka: šādu rīkojumu par šo cenu vispār nevarēja izvietot.

Atkārtoti izspēlējām tos pašus lēmumus, no izmaiņu spēkā stāšanās brīža piemērojot jauno cenu režģi. Vairāki darījumi vairs netika izpildīti. Dažu rīkojumu cenas pēc noapaļošanas šķērsoja starpību, tāpēc par tiem tika iekasēta takera, nevis makera komisijas maksa. Rezultātā mainījās pozīcijas attīstība, līdz ar to mainījās arī vēlākie riska ierobežošanas un izejas darījumi. Noteikums, kas izskatījās pēc metadatiem, bija mainījis visu darījumu secību.

Un šis atjauninājums nebija negaidīts, paslēpts kādā diagrammā. Tirdzniecības vieta bija publicējusi instrumenta noteikumu izmaiņas ar to spēkā stāšanās laiku. Tirgus datus glabājām rūpīgi, bet instrumentu metadati atradās kešatmiņā, kas tika atjaunota, programmai startējot. Atpakaļtests katram vēsturiskajam datumam izmantoja šodienas noteikumus; simulētajā tirdzniecībā līdz procesa restartēšanai bija novecojuši noteikumi. Neviena vide neatspoguļoja, ko tirdzniecības vieta atļāva katrā konkrētajā brīdī.

Kā atpakaļtestā modelēt cenas soļa izmaiņas?

Instrumentu noteikumiem piešķiriet versijas un derīguma intervālus, tāpat kā citiem attiecīgā laika ievaddatiem. Vismaz saglabājiet spēkā stāšanās laiku un noteikumu vērtības, kas vajadzīgas rīkojuma pārbaudei: cenas soli, daudzuma soli, minimālo daudzumu un visas cenu robežas. Simulatoram jāielādē simulētā lēmuma pieņemšanas brīdī pieejamais noteikumu kopums.

Pēc tam skaidri definējiet rīkojumu apstrādi. Ja mērķa cena nav derīga, noraidiet to, noapaļojiet saskaņā ar dokumentētu politiku vai pārrēķiniet mērķi atbilstoši režģim. Reģistrējiet, kura darbība veikta. Atpakaļtests, kas automātiski izlabo katru rīkojumu, var noderēt, lai novērtētu konkrētu izpildes politiku, taču tas nedrīkst šo politiku uzdot par biržas nodrošinātu izpildi.

Pasīviem rīkojumiem cena, kas atbilst cenas solim, ir tikai pirmais izpildes nosacījums. Joprojām jāmodelē, vai tirgus cena pārsniedza jūsu cenu, kāda ir rinda pirms jums, kādi rīkojumi tika atcelti un kādu komisijas līmeni jūs būtu saņēmuši.

Mēs pievienojām divas pārbaudes. Pirmā pārbauda katru ģenerēto rīkojumu pēc attiecīgajā brīdī spēkā esošajiem instrumenta noteikumiem un nekavējoties ziņo par nederīgām cenām vai daudzumiem. Otrā salīdzina atpakaļtesta un simulētās tirdzniecības adaptera galīgo normalizēto rīkojumu: pusi, cenu, daudzumu, izpildes termiņu un paredzēto komisijas veidu. Ja tie atšķiras, izpildes netiek uzskatītas par salīdzināmām.

Pēc tam mēs atkārtoti izspēlējām otrdienas izmaiņas. Atpakaļtests vairs neuzrādīja izpildes par 42,318.03 pēc cenu režģa atjaunināšanas. Simulētā tirdzniecība un simulācija par katru nederīgo mērķi pieņēma vienādu lēmumu, pat ja tas nozīmēja rīkojumu izlaist.

Signāls nebija salūzis. Novecojuši bija tā pieņēmumi par tirgojamo instrumentu. Stratēģija var pielāgoties jaunam cenas solim, taču tikai tad, ja izpētes sistēma tirdzniecības vietas noteikumus uzskata par daļu no modelētā tirgus.

biržas noteikumicenas solisrīkojumu noapaļošanaatpakaļtestēšanasimulēta tirdzniecība
← Visi raksti