11. november 2026 · izvajanje

Strategija je prestala preizkuse. Nato je borza spremenila velikost cenovnega koraka.

Strategija je prestala preizkuse. Nato je borza spremenila velikost cenovnega koraka.

V torek ob 08:00 UTC je trgovalno mesto za kriptovalute spremenilo velikost cenovnega koraka za perpetual pogodbo s srednjo ceno. Naša strategija cenovne osnove tega ni zaznala. Signal je še vedno videl enak razmik med promptnim trgom in terminskimi pogodbami, omejitve tveganja so ostale nespremenjene, testiranje za nazaj pa je še naprej prikazovalo enake rezultate.

Simulirano trgovanje je to zaznalo namesto nje. Adapter za naročila je nakupni limit zaokrožil navzdol na najbližjo dovoljeno ceno. Tako je bilo naročilo za en cenovni korak pod ravnjo, ki jo je modeliralo testiranje za nazaj. Trg je dosegel staro ceno, simulirano naročilo se je izvršilo, naročilo v simuliranem trgovanju pa je ostalo neizvršeno. Do kosila je bila zaloga strategije neuravnotežena.

Incident je bil videti kot manjša napaka pri zaokroževanju. V resnici je šlo za težavo na meji modela: strategija je poznala cene, testiranje za nazaj pa ni poznalo cenovne mreže trgovalnega mesta.

Trgovali smo s preprostim signalom cenovne osnove: kupovali smo na promptnem trgu in prodajali perpetual pogodbo, ko se je premija terminske pogodbe povečala čez prag. Naročila so bila pasivna, ker je bila pričakovana prednost cenovne osnove majhna. Že nekaj cenovnih korakov je lahko odločilo, ali bo vstop prinesel dovolj za kritje provizij in poznejšega izstopa.

Kaj se je spremenilo, ko se je spremenila velikost cenovnega koraka?

Pred posodobitvijo je perpetual sprejemal cene v korakih po 0.01. Po njej je v ustreznem cenovnem razponu sprejemal korake po 0.05. Signal je izračunal ciljno prodajno ceno 42,318.03, ki je bila po starem pravilu veljavna. Po novem pravilu ta cena ni bila veljavna.

Borza je neveljavne cene zavrnila, naš adapter pa je imel rezervni postopek: prodajno ceno je zaokrožil navzdol na 42,318.00. Tudi ta cena ni bila veljavna. Drugi rezervni postopek jo je zaokrožil še enkrat, tokrat na 42,318.05, kar je bilo veljavno, vendar za prodajalca manj agresivno. Naročila ni bilo več mogoče prodati po modelirani ceni. Pot kode je bila napisana za drug trg in je zavrnitev tiho spremenila v naročilo z novo ceno.

To eno naročilo je odprlo dve različni vprašanji. Prvič, katero ceno lahko trgovalno mesto sprejme? Drugič, kako naj se strategija odzove, kadar želena cena ni na cenovni mreži? Na prvo odgovori borza. Na drugo mora odgovoriti strategija ali pravilnik izvajanja.

Namen naročilaPravilo cenovne mrežeObičajna smer zaokroževanjaKaj se lahko spremeni
Nakupni limitCena mora biti večkratnik cenovnega korakaNavzdol, da ostane na meji ali pod njoManjša verjetnost izvršitve
Prodajni limitCena mora biti večkratnik cenovnega korakaNavzgor, da ostane na meji ali nad njoManjša verjetnost izvršitve
Limitno naročilo, ki se lahko izvrši takojUpoštevati mora tudi cenovne omejitveOdvisno od najvišje sprejemljive ceneAli prekorači razmik med ponudbo in povpraševanjem

Pravilo zaokroževanja, ki bi bilo pravilno v vseh primerih, ne obstaja. Zaokroževanje nakupa navzdol ohrani cenovno omejitev kupca, vendar lahko zmanjša verjetnost izvršitve. Zaokroževanje navzgor lahko povzroči, da se naročilo izvrši takoj, kar spremeni provizije in cenovni vpliv. Pri našem pasivnem vstopu na podlagi cenovne osnove je bilo tiho premikanje naročila napačno. Strategija je izbrala ciljno ceno; adapter je spremenil njeno ekonomiko.

Zakaj je bilo testiranje za nazaj še vedno videti uspešno?

Naš zgodovinski simulator naročil je limitne cene obravnaval kot zvezna števila. Če je najnižja cena sveče dosegla nakupno ceno ali najvišja cena dosegla prodajno ceno, je zabeležil izvršitev. To je že precej optimističen približek za pasivno naročilo, saj cena, po kateri se je trgovalo na limitu, ne pove ničesar o mestu v čakalni vrsti. Toda sprememba cenovnega koraka je razkrila še bolj temeljno vrzel: naročilo pri tej ceni sploh ne bi moglo obstajati.

Iste odločitve smo ponovili z novo cenovno mrežo, ki je veljala od trenutka uveljavitve spremembe. Več izvršitev je izginilo. Nekaj naročil se je zaokrožilo na cene, ki so prekoračile razmik med ponudbo in povpraševanjem, zato so zanje veljale provizije taker namesto provizij maker. Posledično se je spremenila pot pozicije, s tem pa tudi poznejša zavarovanja in izstopi. Pravilo, ki je bilo videti kot metapodatek, je spremenilo celotno zaporedje poslov.

Poleg tega sprememba ni bila presenečenje, skrito v grafikonu. Trgovalno mesto je objavilo spremembo pravil za instrument z datumom in časom uveljavitve. Tržne podatke smo skrbno shranjevali, metapodatki o instrumentih pa so bili v predpomnilniku, osveženem ob zagonu. Testiranje za nazaj je za vsak zgodovinski datum uporabljalo današnja pravila; simulirano trgovanje pa je imelo zastarela pravila, dokler se proces ni znova zagnal. Nobeno okolje ni predstavljalo tega, kar je trgovalno mesto dovoljevalo v posameznem trenutku.

Kako naj testiranje za nazaj modelira spremembe velikosti cenovnega koraka?

Različice pravil za instrumente shranjujte z intervali veljavnosti, enako kot druge časovno ustrezne vhodne podatke. Shranite vsaj čas uveljavitve in vrednosti pravil, potrebne za preverjanje naročila: velikost cenovnega koraka, količinski korak, najmanjšo količino in morebitne cenovne razpone. Simulator naj naloži nabor pravil, ki je veljal ob simuliranem trenutku odločitve.

Nato izrecno določite obravnavo naročil. Če ciljna cena ni veljavna, jo zavrnite, zaokrožite po dokumentiranem pravilniku ali na cenovni mreži znova izračunajte ciljno ceno. Zabeležite, kaj se je zgodilo. Testiranje za nazaj, ki samodejno popravi vsako naročilo, je lahko uporabno za oceno določenega pravilnika izvajanja, vendar tega pravilnika ne sme prikazovati kot izvršitev na borzi.

Pri pasivnih naročilih je veljavna cena na cenovni mreži le prvi pogoj za izvršitev. Še vedno potrebujete model, ki upošteva, ali je trg trgoval preko vaše cene, čakalno vrsto pred vami, preklice in provizijski razred, ki bi ga dosegli.

Dodali smo dve preverjanji. Prvo vsako ustvarjeno naročilo preveri glede na časovno ustrezna pravila za instrument in ob neveljavnih cenah ali količinah sproži jasno napako. Drugo primerja končno normalizirano naročilo adapterja za testiranje za nazaj in adapterja za simulirano trgovanje: stran, ceno, količino, veljavnostni čas in namen glede provizije. Če se ne ujemata, rezultatov ne štejemo za primerljive.

Nato smo ponovili torkovo spremembo. Testiranje za nazaj po posodobitvi cenovne mreže ni več trdilo, da so se naročila izvršila pri 42,318.03. Simulirano trgovanje in simulacija sta pri vsakem neveljavnem cilju sprejela enako odločitev, tudi kadar je bila odločitev, da naročilo preskočita.

Signal se ni pokvaril. Zastarele so postale njegove predpostavke o instrumentu, s katerim je lahko trgoval. Strategija lahko preživi novo velikost cenovnega koraka, vendar le, če raziskovalni sistem pravila trgovalnega mesta obravnava kot del trga, ki ga simulira.

pravila borzevelikost cenovnega korakazaokroževanje naročiltestiranje za nazajsimulirano trgovanje
← Vse objave