13. september 2026 · tehingute täitmine

Kui palju latentsust peaksid lisama järeltesti? Mõõtsime enda puhul iga millisekundi

Kui palju latentsust peaksid lisama järeltesti? Mõõtsime enda puhul iga millisekundi

Neli arvu, kõik mõõdetud meie enda paberkaubanduse süsteemis: üks strateegia, 1-minutilised BTCUSDT tähtajatud lepingute signaalid, 31 päeva ja 1,418 orderit. Mediaanaeg küünla sulgumisest orderi börsipoolse kinnituseni: 195 ms. 99. protsentiil: 2,970 ms. Mediaan 1% minutite hulgas, kus realiseeritud volatiilsus oli suurim: 840 ms. Ja latentsuskonstant, mis oli suurema osa eelmisest aastast järeltesti seadistuses: 0.

195 msmediaan küünla sulgumisest orderi kinnituseni
2,970 msp99 samal teekonnal
840 msmediaan kõige volatiilsemal 1% minutitel

Kolm neist arvudest on igavad. Kõik teavad, et null on vale, kõik asendavad selle varem või hiljem millegagi ning see miski on peaaegu alati konstant, mille keegi kõhutunde järgi valis. 100 ms, 250 ms, „oleme konservatiivsed, paneme 500”. Tegelikult loeb 840, sest see näitab, et latentsus sõltub turuolukorrast, ning turuolukorrad, kus latentsus hüppeliselt kasvab, on samad olukorrad, kus su signaal arvab, et on midagi leidnud.

Kuhu need 195 millisekundit kuluvad

Siin on täielik eelarve, mõõdetud etappide kaupa, kasutades igas punktis monotoolse kella ajatemplitega märgendeid. Server on AWS-i eksemplar piirkonnas ap-northeast-1, samas piirkonnas kauplemiskoha otspunktidega. Mitteko-lokatsiooniga tavakasutaja seadistuse kohta on see ligikaudu parim võimalik.

Etapp p50 p95 p99
Küünla sulgumine → WS-i kline-closed sündmuse saabumine 128 ms 402 ms 1,940 ms
Parsimine + tunnuste oleku uuendamine 3 ms 9 ms 28 ms
Otsus: mudeli hindamine + riskikontrollid 11 ms 22 ms 60 ms
Orderi esitamine → börsi kinnitus 47 ms 180 ms 1,100 ms
Otsast lõpuni (mõõdetud, mitte kokku liidetud) 195 ms 690 ms 2,970 ms

Enne huvitava osa juurde asumist tasub tähele panna kaht asja. Esiteks mediaanid ei liitu: 128 + 3 + 11 + 47 = 189, mõõdetud otsast lõpuni mediaan aga on 195. Protsentiile ei saa liita. Kui koostad latentsushinnangu etappide p99-de summana, saad 3,128 ms, samas kui tegelik p99 on 2,970. Siin on see piisavalt lähedal, kuid kui etapid on vastassuunas korreleeritud, võib tulemus olla täiesti vale. Mõõda kogu teekonda.

Teiseks vaata ülemist rida. Kaks kolmandikku mediaanlatentsusest kulub sellele, et börsilt jõuaks teade küünla sulgumise kohta sinuni. Mitte võrgule, mitte sinu koodile ega orderi suunamisele. Kauplemiskoht koondab tehingud kline-küünlaks, otsustab, et minut on läbi, ja edastab selle. Enne edastamist on järjekord, mida jagad kõigi teiste sama voo tellijatega.

840

Jaota kõik need 1,418 orderit signaali tekitanud minuti realiseeritud volatiilsuse järgi jaotusklassidesse ning jaotus muutub hoopis teistsuguseks.

Signaaliküünla volatiilsusklass Ordereid Otsast lõpuni p50 Otsast lõpuni p99
Alumine kvartiil 201 141 ms 488 ms
Kaks keskmist kvartiili 796 183 ms 1,210 ms
Ülemine kvartiil 407 312 ms 2,880 ms
Kõigi minutite ülemine 1% 14 840 ms 4,100 ms

Kõik etapid aeglustuvad korraga ja seetõttu kuhjub mõju. Kauplemiskoha koondamis- ja edastusjärjekorda koormab sobitusmootor: minut, mille jooksul tehakse 11,000 tehingut, jõuab kohale hiljem kui minut, mil tehakse 600. Samal ajal töötleb sinu protsess rohkem orderbooki sügavuse uuendusi ja tehingute andmeid, nii et tavaliselt 3 ms kestev tunnuste uuendamine võtab 28 ms. REST-orderite teekond konkureerib kõigi teiste paanikaga ning aeg-ajalt näed 503-t ja korduskatset, mis läheb maksma terve sekundi. Meie valimi signaaliküünla tehingute arvu ja otsast lõpuni latentsuse korrelatsioonikordaja oli 0.41. Mitte üüratu. Piisav, et konstant tuksi keerata.

Ja esialgse sõela läbivad strateegiad on valdavalt need, mis kauplevad läbimurdeid, pöördeid, hinnahälbeid ja likvideerimisahelaid. Need käivituvad just selles jaotusklassis, kus latentsus on kõige suurem. Momentum-signaal, mis käivitub ainult siis, kui minutis toimus 40 bps suurune liikumine, on struktuurselt seadistatud nii, et seda teenindab alati sinu süsteemi kõige aeglasem versioon.

Kulutasime kunagi terve päeva, et uurida 3.6-sekundilist viivitust, mis ilmnes ligikaudu igal ööl samal ajal. Süüdlane oli logrotate: see kopeeris ja tühjendas 2 GB faili samal EBS-kettal, kuhu protsess kirjutas, ning peatas sündmuste tsükli. Turg polnud süüdi. Mõõda kõigepealt, alles siis süüdista turu mikrostruktuuri.

Mida see täitmisega teeb

Ootamise ajal hind liigub. Juhuslikul minutil oli keskmine ebasoodne hinnaliikumine meie 195 ms mediaanlatentsuse jooksul signaali suuna suhtes umbes 1.1 bps. Ülemise kvartiili minutitel, mil latentsus oli 312 ms, oli see 5.8 bps. Ülemise 1% minutitel, mil latentsus oli 840 ms, oli ebasoodne hinnanihe ligikaudu 14 bps enne, kui order üldse orderiraamatusse jõudis.

BTC tähtajatutel lepingutel spread siin peaaegu ei mõjuta: 84,000 hinnaga noteeringu puhul on üks hinnasamm 0.012 bps, seega tuleb kahju ebasoodsast hinnanihkest, mitte spreadi ületamise kulust. Liigu sama strateegiaga keskmise turuväärtusega tähtajatu lepingu juurde ja teine tegur ärkab ellu: meie valimis kasvas parima ostu- ja müügihinna vahe rahulikel minutitel 1.4 bps-lt ülemise kvartiili minutitel 6.2 bps-ni ning selle hinnataseme sügavus kahanes üle poole. Maksad korraga hinnanihke, laiema spreadi ja väiksema sügavuse eest, sest neid põhjustab sama tegur.

Kui mängisime samad 31 päeva uuesti läbi, kasutades fikseeritud 200 ms asemel küünlapõhist tingimuslikku latentsust, halvenes järeltesti keskmine sisenemishind 3.1 bps võrra, peaaegu täielikult 9% tehingutes. Järeltesti ja paberkaubanduse sisenemishindade erinevus vähenes 4.2 bps-lt 0.9 bps-ni. Selle strateegia IS Sharpe langes 1.7-lt 1.1-ni — see on aus tulemus, mis oli tegelik kogu aeg.

Mida siis seadistusse panna

Mitte üht skalaarväärtust. Nüüd teeme nii:

  1. Vali valimist, ära määra fikseeritud väärtust. Vali iga simuleeritud orderi latentsus empiirilisest jaotusest, mis arvestab selle küünla aktiivsust — tehingute arvust ja absoluuttootlusest piisab, mõlemad on tavalises kline-küünlas juba olemas. Sobita mudel iga kauplemiskoha ja orderitüübi jaoks eraldi ning sobita see kord kuus uuesti.
  2. Säilita jaotuse saba. Ära sobita lognormaaljaotust ja pea tööd lõpetatuks; p99 peitub kordustormides ja GC-pausides, mida ükski sujuv jaotus ei jäljenda. Me kasutame empiirilisi kvantiile ning võtame p95-st kõrgema saba uuesti valimisse.
  3. Latentsus kehtib ka tühistamistele. Stopi asendamisel või riskimaanduse orderi tühistamisel kehtib sama viivitus ning kiirel turul võistleb tühistamine orderi täitumisega. Kui sinu simulaator tühistab kohe, on su riskimudel väljamõeldis.
  4. Lisa aegunud signaali kontroll ja simuleeri seda. Meie süsteem jätab kõrvale iga signaali, mille küünal on saabumise hetkeks vanem kui 1.5 sekundit. See on tegelik käitumine, millel on tegelik hind — see eemaldab tehinguid märkamatult ning järeltest peab eemaldama täpselt samad tehingud.
  5. Kalibreeri paberkaubanduse järgi uuesti. Paberkaubandusest saad tegeliku võrdlusmaterjali. Salvesta iga orderi puhul ajatemplid kõigist neljast etapist ja võrdle jaotusi igal nädalal simulaatori eeldustega.

Sama probleem esineb ka teistes varaklassides. USA aktsiad: konsolideeritud andmevoog lisab maakleri viivitusele enda koondamisviivituse, mis kasvab sõnumisageduse surve all samal struktuursel põhjusel. Prognoositurud: enamik kauplemiskohti võimaldab orderi esitamist ainult REST-i kaudu ning oleme mõõtnud alla 100 ms mediaane, mis venivad mitme sekundini, kui tulemuse selgumise sündmus saabub ja kõik üritavad korraga turule jõuda. Krüptooptsioonid: noteering, mille alusel hinda arvutad, võib olla täpselt sel minutil, kui alusvara liikus, kaks sekundit vana.

Üldine viga on käsitleda täitmise parameetrit sõltumatu konstandina, kuigi see sõltub samast muutujast, mis juhib su signaali. Tasud käituvad etteaimatavalt, rahastamine käitub etteaimatavalt, latentsus mitte. Kui sellest kõigest ühe arvu meelde jätad, siis jäta meelde suhe: meie p99 on mediaanist 15 korda suurem ja meie signaalid saabuvad ebaproportsionaalselt sageli p99 lähedal.

Lisa need neli mõõtepunkti. See võtab pärastlõuna ja annab su strateegia kohta rohkem teada kui järjekordne nädal parameetrite otsimist.

latentsusjäreltestiminepaberkaubandustehingute täitminekrüptofutuurid
← Kõik postitused