2026. szeptember 19. · visszatesztelés

A tickadatás nem menti meg a backtesztedet — a legtöbb stratégiánál inkább ront rajta

A tickadatás nem menti meg a backtesztedet — a legtöbb stratégiánál inkább ront rajta

A bevett tanács így szól: ha hiteles visszatesztet akarsz, szerezz tickadatokat. Szerintem ez a tanács a stratégiák többségére nézve téves, és követése általában ront a visszateszten ahelyett, hogy javítana rajta. Nem azért, mert a tickadat pontatlan — ennél pontosabb adatot nemigen kaphatsz —, hanem mert a legtöbben a felbontással helyettesítik a módszerességet, a kettő pedig nem ugyanaz.

Így néz ki a tipikus hiba. Egy kutató 1 perces gyertyákon épít stratégiát, elér egy neki tetsző Sharpét, aztán valaki — egy mentor, egy fórumbejegyzés vagy a saját kételyei — közli vele, hogy a gyertyákon alapuló visszateszt nem hiteles. Ezért az egész folyamatot újraépíti tickadatokra: minden kötés és minden jegyzéskönyv-frissítés mikroszekundumra pontos időbélyeggel. A visszateszt lelassul, a kód háromszor összetettebbé válik, a Sharpe pedig… alig változik, vagy olyan irányba mozdul, amit senki sem tud megmagyarázni. Mégis élesítik, mert a tickadat módszeresebbnek tűnik, a módszeresség látszata pedig nem azonos a valódi módszerességgel.

Mire jó valójában a tickfelbontás

A tickadat megmutatja minden kötés sorrendjét és árát, valamint — ha fizetsz érte — a teljes ajánlati könyv minden frissítését. Ez valódi információ. Segítségével rekonstruálhatod a sorban elfoglalt helyedet, megbecsülheted a teljesülés valószínűségét egy adott árszinten, és észlelheted a kedvezőtlen szelekciót — vagyis hogy a piac ellened mozdul-e közvetlenül a feltételezett teljesülésed után. Mindez rendkívül fontos, ha a tartási időd másodpercekben mérhető, az előnyöd pedig egy tick töredékében.

A Stratmillnél látott stratégiák többsége — és a lakossági, illetve félprofi kutatók által ténylegesen futtatott stratégiák zöme — percektől napokig tartja a pozíciókat. Ezen az időtávon nem az dönti el a visszateszt hitelességét, hogy modellezted-e az adott percen belüli 40. kötést. Hanem az, hogy megfelelően modellezted-e a spreadet, a finanszírozási rátát, a csúszási görbét, és azt, hogy a limitáras megbízásod mások megbízásai mögött áll a sorban. Mind a négyet elronthatod tickadaton, és mind a négyet jól modellezheted 1 perces gyertyákon. A felbontás és a hitelesség egymástól független.

~24Mkötés/nap, BTCUSDT örökös kontraktus
1,4401 perces gyertya ugyanazon a napon
0.5–1 ticktipikus vételi-eladási ár közötti ugrálási zaj kötésenként
3–5x
ennyivel több mérnöki munka kell egy helyes tickadat-folyamathoz, mint egy gyertyás adatfolyamhoz

Ez utóbbi számot szokták alulértékelni. A tickalapú visszateszt nem „ugyanaz a visszateszt, csak több sorral”. A legtöbb tőzsdén a kötések a beérkezési időbélyeghez képest nem sorrendben érkeznek, utólag javíthatják őket, több matching engine shard között oszlanak meg, és — több olyan platformon is, ahonnan adatot gyűjtöttünk — újracsatlakozáskor néha megduplázódnak vagy teljesen kiesnek. Olyan tickadat-folyamatot építeni, amely valóban pontosabb egy jól felépített gyertyás adatfolyamnál, nem pusztán részletesebb, komoly rendszerfejlesztési munka. A legtöbb csapat ezt nem végzi el. Egyszerűen ráengedik a visszatesztelőt egy szolgáltató tickfájljára, és késznek tekintik a munkát. Így egy ismert és dokumentált közelítésrendszert (OHLCV) egy ismeretlen, dokumentálatlan rendszerre cserélnek — arra, ahogyan a szolgáltató tickadat-egyeztető logikája egy rossz napon éppen működik.

A zaj, amiért fizetsz

Van egy második költség is, amely kevésbé mérnöki, inkább statisztikai jellegű. Az egyedi kötések ára felváltva ugrál a vételi és az eladási ár között — ezt nevezik vételi-eladási ár közötti ugrálásnak, és a piaci mikrostruktúra szakirodalma már az 1980-as évek óta ismert jelenségként tartja számon. Ha a jelzésed néhány másodpercnél gyorsabban működik, a tickalapú visszateszt olyan mintázatot láttathat veled, ami valójában csak ez az árugrálás. Láttam, ahogy egy kutató gyönyörű átlaghoz visszatérési mintát talált kötésenkénti adatokon, amely még 5 másodperces gyertyákra aggregálva is azonnal eltűnt, mert a mintát valójában az árugrálás okozta.

Egy általam ismert kvant — korábban market makinggel foglalkozott, most egy kisebb kriptóportfóliót kezel — így fogalmazta meg: „A tickadat nagyító. Ha az előnyödre irányítod, remek. Ha a zajodra, hat hónapot töltesz majd azzal, hogy gyönyörűen modellezd a zajt.” Most szinte mindent 1 másodperces vagy 1 perces gyertyákon tesztel vissza, és csak egy konkrét kérdés miatt vált tickadatra: „vajon ez a limitáras megbízás tényleg teljesült volna?” Ez a teljesülési valószínűség kérdése, nem a jelzésé.

Ez a helyes megközelítés, és a tickadat hívei többnyire éppen ezt hagyják ki. A tickadat hiteles használata nem azt jelenti, hogy az egész stratégiádat azon futtatod, hanem hogy célzottan, arra az egy-két kérdésre használod, amelyre a gyertyás adat tényleg nem ad választ.

Amikor a kritikusoknak igazuk van

Mindezzel együtt vannak stratégiák, amelyeknél a tickadat elengedhetetlen, és túlzás lenne ennek ellenkezőjét állítani. Ha market makinghez hasonló stratégiát futtatsz — mindkét oldalra jegyzel árat, tickről tickre kezeled a készletet, és számít, hányadik vagy a sorban egy adott árszinten —, a gyertyás adat egyáltalán nem képes leírni a problémádat. A stratégia teljes gazdasági működése a percen belül zajlik, nem perceken át. Ugyanez igaz a helyszínek közötti, késleltetésérzékeny statisztikai arbitrázsra, ahol a kérdés szó szerint az, hogy „melyik kötés történt előbb”, valamint a nagy méretű opciós market makingre, ahol a kötés utáni néhány száz milliszekundumnyi kedvezőtlen szelekció az egész játék. Ezekben az esetekben a gyertyás visszateszt nem egyszerűsítés, hanem kategóriahiba: nem a stratégiád kisebb felbontású változatát teszteled, hanem egy másik stratégiát, amelynek történetesen ugyanaz a neve.

Stratégia időtávjaAmit a gyertyás adat nem mutat megSzükséges a tickadat?
Market making / soralapúTeljesülési valószínűség, kedvezőtlen szelekció, sorban elfoglalt helyIgen — elengedhetetlen
Késleltetés / helyszínek közötti arbitrázsA kötések sorrendje, melyik platform mozdult előbbIgen
Napon belüli momentum, átlaghoz visszatérés (percek–órák)A gyertyán belüli teljesülés időzítése, spreadköltségCsak a teljesülési valószínűséghez, a jelzéshez nem
Swing / többnapos, irányított opciós stratégiaSzinte semmi lényegesetNem — a gyertyák elegendők, és gyakran tisztábbak
Ha egyetlen mondatban nem tudod megfogalmazni, hogy a tickadat milyen kérdésre ad választ, amelyre a gyertyás adat a te konkrét stratégiád esetében nem, akkor még nincs szükséged tickadatra. Jobb teljesülési modellt kell készítened a már meglévő gyertyás adataidhoz.

Tehát nem azt állítom, hogy „a tickadat rossz”. Hanem azt, hogy gyakran azért nyúlunk hozzá, mert így elkerülhetünk egy nehezebb, kevésbé látványos kérdést: helyes a költségmodellem? Helyes a teljesülési feltételezésem? Tényleg teljesült volna ez a megbízás, vagy olyan áron feltételezem a teljesülést, amelyet a könyv valójában sosem kínált? Ezekre a kérdésekre 1 perces, sőt akár 1 másodperces gyertyákon is választ kaphatsz, ha őszintén számolsz a sorban elfoglalt hellyel és a spreaddel. A tickadat pontosabb választ ad, többszörös mérnöki költséggel, olyan stratégiáknál, ahol ez a többletpontosság semmit sem változtat a következtetésen. A többletmunkát ott végezd el, ahol az időtáv valóban megköveteli, máshol pedig hagyd ki — ez jobban hasznosítja a kutatócsapat idejét, mint ha automatikusan a legfinomabb felbontású adatot választanánk, csak mert az pontosabbnak tűnik.

tickadatokpiaci mikrostruktúravisszatesztelésadatmérnökségkriptofutures
← Összes bejegyzés