2026 m. lapkričio 11 d. · vykdymas

Strategija išlaikė testus. Tada birža pakeitė kainos žingsnį.

Strategija išlaikė testus. Tada birža pakeitė kainos žingsnį.

Antradienį 08:00 UTC viena kriptovaliutų prekybos vieta pakeitė vidutinės kainos neterminuotojo kontrakto kainos žingsnį. Mūsų bazėmis paremta strategija to nepastebėjo. Jos signalas vis dar rodė tą patį neatidėliotinos rinkos ir ateities sandorių kainų skirtumą, rizikos ribos nepasikeitė, o atgalinio testavimo rezultatai liko tokie patys.

Prekyba imituojant šį pokytį pastebėjo. Pavedimų adapteris apvalino pirkimo limitinę kainą žemyn iki artimiausios leidžiamos kainos. Taip pavedimas atsidūrė vienu žingsniu žemiau kainos, kuri buvo modeliuota atgalinio testavimo metu. Rinka pasiekė ankstesnę kainą, imituojamas pavedimas buvo įvykdytas, o bandomasis pavedimas liko neįvykdytas. Iki pietų strategijos pozicija tapo nesubalansuota.

Iš pradžių incidentas atrodė kaip nedidelė apvalinimo klaida. Iš tiesų tai buvo modelio ribų problema: strategija žinojo kainas, bet atgalinio testavimo sistema nežinojo prekybos vietos kainų tinklelio.

Prekiavome naudodami paprastą bazės signalą: pirkome neatidėliotinoje rinkoje ir pardavėme neterminuotąjį kontraktą, kai ateities sandorių premija viršydavo nustatytą ribą. Pavedimai buvo pasyvūs, nes tikėtinas bazės pranašumas buvo nedidelis. Vos keli kainos žingsniai galėjo lemti, ar įėjimo pelno pakaks padengti mokesčius ir vėlesnį išėjimą.

Kas pasikeitė pakeitus kainos žingsnį?

Iki atnaujinimo neterminuotojo kontrakto kainas buvo galima nustatyti kas 0.01. Po atnaujinimo atitinkamame kainų intervale jas buvo galima nustatyti kas 0.05. Signalas apskaičiavo tikslinę pardavimo kainą 42,318.03, kuri pagal ankstesnę taisyklę buvo leistina. Pagal naująją taisyklę ši kaina buvo netinkama.

Birža atmesdavo netinkamas kainas, bet mūsų adapteris turėjo atsarginį veiksmą: jis apvalindavo pardavimo kainą žemyn iki 42,318.00. Ši kaina taip pat buvo netinkama. Antras atsarginis veiksmas apvalindavo dar kartą, šįkart iki 42,318.05. Ši kaina buvo leistina, bet pardavėjui mažiau palanki. Pavedimo nebebuvo galima įvykdyti už modeliuotą kainą. Šis kodo kelias buvo sukurtas kitai rinkai ir tyliai pavertė atmetimą kainos pakeitimu.

Šis vienas pavedimas iškėlė du skirtingus klausimus. Pirma, kokią kainą prekybos vieta gali priimti? Antra, kaip strategija turėtų reaguoti, jei norimos kainos nėra tinklelyje? Į pirmą klausimą atsako birža. Į antrąjį turi atsakyti strategija arba vykdymo politika.

Pavedimo tikslasTinklelio taisyklėĮprasta apvalinimo kryptisGalimas poveikis
Pirkimo limitasKaina turi būti kainos žingsnio kartotinisŽemyn, kad neviršytų limitoMažesnė įvykdymo tikimybė
Pardavimo limitasKaina turi būti kainos žingsnio kartotinisAukštyn, kad nebūtų mažesnė už limitąMažesnė įvykdymo tikimybė
Rinkos sąlygomis vykdomas limitasTaip pat turi atitikti kainų ribasPriklauso nuo didžiausios priimtinos kainosAr kerta kainų skirtumą

Vienos visais atvejais teisingos apvalinimo taisyklės nėra. Apvalinus pirkimo kainą žemyn išlaikomas pirkėjo kainos apribojimas, tačiau sumažėja tikimybė, kad pavedimas bus įvykdytas. Apvalinus aukštyn, pavedimas gali tapti vykdomu rinkos sąlygomis, o tai keičia mokesčius ir poveikį rinkai. Mūsų pasyviam įėjimui į bazės poziciją tyliai pakeisti pavedimo kainą buvo netinkama. Strategija pasirinko tikslinę kainą, o adapteris pakeitė jos ekonominę prasmę.

Kodėl atgalinio testavimo rezultatai vis dar atrodė geri?

Mūsų istorinių pavedimų simuliatorius limitines kainas laikė tolydžiomis reikšmėmis. Jei žvakės žemiausia kaina pasiekdavo pirkimo kainą arba aukščiausia pasiekdavo pardavimo kainą, pavedimas būdavo laikomas įvykdytu. Tai ir taip gana optimistinis pasyvaus pavedimo apytikslis modelis, nes sandoris už limitinę kainą nieko nepasako apie vietą eilėje. Tačiau pakeitus kainos žingsnį išryškėjo dar paprastesnė problema: tokio pavedimo tokia kaina apskritai negalėjo būti.

Pakartojome tuos pačius sprendimus, nuo taisyklės įsigaliojimo laiko taikydami naująjį tinklelį. Keli įvykdymai dingo. Kai kurie pavedimai buvo apvalinti iki kainų, kurios kirto kainų skirtumą, todėl už juos teko mokėti takerio, o ne meikerio mokesčius. Dėl to pasikeitė ir tolesnė pozicijų seka, taigi pasikeitė ir vėlesni apsidraudimo bei išėjimo pavedimai. Taisyklė, kuri atrodė kaip metaduomenys, pakeitė visą sandorių seką.

Be to, šis atnaujinimas nebuvo netikėta naujiena, paslėpta diagramoje. Prekybos vieta buvo paskelbusi finansinės priemonės taisyklių pakeitimą ir jo įsigaliojimo laiko žymą. Rinkos duomenis saugojome kruopščiai, bet finansinių priemonių metaduomenys buvo laikomi podėlyje, kuris atnaujinamas paleidžiant sistemą. Atgalinio testavimo sistema kiekvienai istorinei datai naudojo šiandien galiojančias taisykles, o prekyboje imituojant galiojo pasenusios taisyklės, kol procesas nebuvo paleistas iš naujo. Nė viena aplinka neatspindėjo, ką prekybos vieta leido kiekvienu konkrečiu metu.

Kaip atgalinio testavimo metu modeliuoti kainos žingsnio pakeitimus?

Versijuokite finansinių priemonių taisykles pagal jų galiojimo intervalus, kaip ir kitus tam tikru momentu galiojusius įvesties duomenis. Bent jau išsaugokite įsigaliojimo laiką ir pavedimui patikrinti reikalingas taisyklių reikšmes: kainos žingsnį, kiekio žingsnį, minimalų kiekį ir visas kainų ribas. Simuliatorius turėtų įkelti taisyklių rinkinį, galiojusį imituojamo sprendimo priėmimo metu.

Tada aiškiai apibrėžkite pavedimų tvarkymą. Jei tikslinė kaina netinkama, ją atmeskite, apvalinkite pagal dokumentuotą politiką arba perskaičiuokite pagal tinklelį. Užfiksuokite, kuris veiksmas atliktas. Atgalinio testavimo sistema, automatiškai pataisanti kiekvieną pavedimą, gali būti naudinga vertinant konkrečią vykdymo politiką, tačiau neturėtų pateikti tos politikos kaip biržoje įvykdyto pavedimo.

Pasyviems pavedimams kainos atitikimas tinkleliui yra tik pirmoji įvykdymo sąlyga. Vis tiek reikia modeliuoti, ar rinka prekiavo už jūsų kainą, kokia eilė buvo prieš jus, pavedimų atšaukimus ir mokesčių pakopą, kurią būtumėte pasiekę.

Pridėjome dvi patikras. Pirmoji kiekvieną sugeneruotą pavedimą tikrina pagal tuo metu galiojusias finansinės priemonės taisykles ir aiškiai sustabdo procesą, jei kainos ar dydžiai netinkami. Antroji palygina galutinį normalizuotą pavedimą atgalinio testavimo sistemoje ir prekybos imituojant adapteryje: pusę, kainą, kiekį, galiojimo laiką ir mokesčių paskirtį. Jei jie nesutampa, paleidimas nelaikomas palyginamu.

Po to pakartojome antradienio pokyčio scenarijų. Atgalinio testavimo sistema nebeteigė, kad po tinklelio atnaujinimo pavedimai įvykdyti už 42,318.03. Prekyba imituojant ir simuliacija vienodai sprendė dėl kiekvienos netinkamos tikslinės kainos, net jei sprendimas buvo pavedimo nepateikti.

Signalas nesugedo. Paseno jo prielaidos apie objektą, kuriuo jis galėjo prekiauti. Strategija gali prisitaikyti prie naujo kainos žingsnio, tačiau tik tuo atveju, jei tyrimų sistema prekybos vietos taisykles laiko modeliuojamos rinkos dalimi.

biržos taisyklėskainos žingsnispavedimų apvalinimasatgalinis testavimasprekyba imituojant
← Visi įrašai