19. september 2026 · testiranje za nazaj

Podatki o posameznih poslih ne bodo rešili vašega backtesta — pri večini strategij ga poslabšajo

Podatki o posameznih poslih ne bodo rešili vašega backtesta — pri večini strategij ga poslabšajo

Običajen nasvet se glasi: če želite pošten backtest, potrebujete podatke o posameznih poslih. Mislim, da je ta nasvet za večino strategij napačen in da ravnanje po njem backtest običajno poslabša, namesto da bi ga izboljšalo. Ne zato, ker bi bili ti podatki nenatančni — natančnejši so od vsega drugega, kar lahko dobite — temveč zato, ker večina ljudi z njimi ločljivost zamenja za metodološko doslednost, to pa ni isto.

Takole pride do težave. Raziskovalec zgradi strategijo na 1-minutnih svečah, dobi Sharpe, ki mu je všeč, nato pa mu nekdo — mentor, objava na forumu ali lastni dvom — pove, da je backtest nepošten, ker temelji na svečah. Zato celoten cevovod znova zgradi na podatkih o posameznih poslih: vsak posel, vsaka posodobitev kotacij, s časovnim žigom na mikrosekundo natančno. Backtest se upočasni, koda postane trikrat bolj zapletena, Sharpe pa ... se komaj premakne ali pa se premakne v smer, ki je nihče ne zna pojasniti. Kljub temu ga objavijo, ker se jim podatki o posameznih poslih zdijo bolj metodološko dosledni, občutek doslednosti pa ni isto kot dejanska doslednost.

Kaj vam dejansko prinese ločljivost na ravni posameznih poslov

Podatki o posameznih poslih pokažejo zaporedje in ceno vsakega posla ter (če za to plačate) vsako posodobitev knjige naročil. To so resnične informacije. Omogočajo vam, da rekonstruirate mesto v čakalni vrsti, ocenite verjetnost izvršitve na določeni cenovni ravni in zaznate neugodno selekcijo — ali se trg premakne proti vam takoj po vaši hipotetični izvršitvi. Vse to je izjemno pomembno, če je obdobje držanja pozicije merjeno v sekundah, vaša prednost pa v delčkih tiktaka.

Toda večina strategij, ki jih vidimo pri Stratmill — in večina strategij, ki jih dejansko uporabljajo mali vlagatelji ter raziskovalci na pol profesionalni ravni — drži pozicije od nekaj minut do več dni. Pri takem časovnem horizontu poštenosti backtesta ne določa to, ali ste modelirali 40. posel v določeni minuti. Odločilno je, ali ste pravilno modelirali razmik med nakupno in prodajno ceno, obrestno mero financiranja, krivuljo zdrsa in dejstvo, da vaše limitno naročilo v čakalni vrsti stoji za naročili drugih. Na podatkih o posameznih poslih lahko vse štiri stvari modelirate napačno, na 1-minutnih svečah pa pravilno. Ločljivost in poštenost nista povezani.

~24Mposlov/dan, BTCUSDT perp
1,4401-minutnih sveč v istem dnevu
0.5–1 tiktakobičajen šum zaradi nihanja med nakupno in prodajno ceno pri vsakem izpisu
3–5xveč inženirskega dela za pravilen cevovod podatkov o posameznih poslih v primerjavi s cevovodom za sveče

Prav zadnjo številko ljudje premalo upoštevajo. Backtest na ravni posameznih poslov ni le »isti backtest z več vrsticami«. Na večini borz posli prispejo v vrstnem redu, ki se ne ujema s časovnim žigom njihovega zajema, pozneje jih popravijo, razdelijo se med več drobcev ujemalnega mehanizma, na nekaterih platformah, s katerih smo zajemali podatke, pa se ob ponovni povezavi včasih podvojijo ali povsem izpustijo. Zgraditi cevovod za podatke o posameznih poslih, ki je dejansko zanesljivejši od dobro zasnovanega cevovoda za sveče, namesto zgolj podrobnejši, je pravi sistemski projekt. Večina ekip se ga ne loti. Backtester povežejo z datoteko s podatki o posameznih poslih od ponudnika in razglasijo delo za končano. Tako znan in dokumentiran nabor približkov (OHLCV) zamenjajo za neznan in nedokumentiran nabor: karkoli ponudnikov mehanizem za usklajevanje poslov naredi na slab dan.

Za kakšen šum plačujete

Drugi strošek je manj povezan z inženirskim delom in bolj s statistiko. Izpisi posameznih poslov nihajo med nakupno in prodajno ceno — temu pravimo nihanje bid-ask, v literaturi o mikrostrukturi trga pa je ta znani pojav opisan že od 1980-ih. Če vaš signal deluje hitreje kot v nekaj sekundah, lahko zaradi backtesta na ravni posameznih poslov v šumu vidite strukturo, čeprav gre zgolj za to nihanje. Spremljal sem raziskovalca, ki je v podatkih vsakega posameznega posla našel čudovit vzorec povratka k povprečju, ta pa je izginil takoj, ko je podatke združil v 5-sekundne sveče, ker je bil vzorec le posledica nihanja bid-ask.

Kvantičar, ki ga poznam — nekdanji vzdrževalec trga, zdaj vodi manjši kripto portfelj — mi je to opisal takole: »Podatki o posameznih poslih so povečevalno steklo. Če z njim pogledate svojo prednost, odlično. Če z njim pogledate svoj šum, boste šest mesecev čudovito modelirali prav ta šum.« Zdaj skoraj vse testira na 1-sekundnih ali 1-minutnih svečah, na podatke o posameznih poslih pa preide samo pri konkretnem vprašanju: »Bi se to limitno naročilo dejansko izvršilo?« To je vprašanje o verjetnosti izvršitve, ne o signalu.

Takšna ločitev je smiselna, večina zagovornikov podatkov o posameznih poslih pa jo spregleda. Poštena uporaba teh podatkov ne pomeni, da na njih poganjate celotno strategijo, temveč da jih ciljno uporabite za eno ali dve vprašanji, na kateri podatki o svečah res ne morejo odgovoriti.

Kdaj imajo kritiki prav

Ob vsem tem obstajajo strategije, pri katerih so podatki o posameznih poslih nujni, in pretiraval bi, če bi trdil drugače. Če izvajate strategijo, podobno vzdrževanju trga — kotirate na obeh straneh, sproti upravljate zalogo in vam je pomembno mesto v čakalni vrsti pri določeni cenovni ravni — podatki o svečah vašega problema sploh ne morejo predstaviti. Celotna ekonomika take strategije se odvija znotraj minute, ne med minutami. Enako velja za statistično arbitražo med platformami, občutljivo na zakasnitev, kjer se dobesedno sprašujete »kateri posel se je zgodil prvi«, in za vzdrževanje trga pri opcijah z velikimi pozicijami, kjer je ključnih nekaj sto milisekund neugodne selekcije po sklenjenem poslu. V takih režimih testiranje na svečah ni poenostavitev, temveč napaka v kategoriji — ne testirate manj podrobne različice svoje strategije, ampak drugo strategijo, ki si z resnično deli le ime.

Časovni horizont strategijeKaj podatki o svečah zakrijejoSo podatki o posameznih poslih nujni?
Vzdrževanje trga / strategije na podlagi čakalne vrsteVerjetnost izvršitve, neugodna selekcija, mesto v čakalni vrstiDa — nujni so
Arbitraža z nizko zakasnitvijo / med platformamiZaporedje poslov, katera platforma se je premaknila prvaDa
Znotnevdnevni momentum, povratek k povprečju (minute–ure)Čas izvršitve znotraj sveče, strošek razmikaSamo za vprašanje verjetnosti izvršitve, ne pa za signal
Večdnevne pozicije, usmerjene strategije z opcijamiSkoraj nič bistvenegaNe — sveče zadostujejo in so pogosto preglednejše
Če ne morete v enem stavku povedati, na katero vprašanje v vaši konkretni strategiji odgovorijo podatki o posameznih poslih, sveče pa ne, jih še ne potrebujete. Potrebujete boljši model izvršitev za podatke o svečah, ki jih že imate.

Trditev torej ni, da so podatki o posameznih poslih slabi. Gre za to, da je poseganje po njih pogosto način, kako se izogniti težjemu in manj privlačnemu vprašanju: Ali je moj model stroškov pravilen? So moje predpostavke o izvršitvah pravilne? Bi se to naročilo dejansko izvršilo ali predpostavljam izvršitev po ceni, ki je knjiga naročil v resnici ni nikoli ponujala? Na ta vprašanja lahko odgovorite s 1-minutnimi ali celo 1-sekundnimi svečami, če pošteno upoštevate mesto v čakalni vrsti in razmik med nakupno in prodajno ceno. Podatki o posameznih poslih omogočajo natančnejše odgovore, a zahtevajo večkrat toliko inženirskega dela; pri strategijah, za katere ta dodatna natančnost ne spremeni sklepa. Dodatni trud vložite tam, kjer ga zahteva časovni horizont, drugje pa ga prihranite — raziskovalna ekipa bo svoj čas bolje porabila tako kot pa z izbiro najpodrobnejših razpoložljivih podatkov zgolj zato, ker se zdijo bolj metodološko dosledni.

podatki o posameznih poslihmikrostruktura trgatestiranje za nazajpodatkovno inženirstvokripto terminske pogodbe
← Vse objave