12. oktober 2026 · raziskave

Razstavili smo backtest napovednega trga, ki je kupil napačno pogodbo

Razstavili smo backtest napovednega trga, ki je kupil napačno pogodbo

Backtest napovednega trga lahko uporabi oznako, ki je videti prava, pravo zgodovino cen in napačno pogodbo. To napako zlahka spregledamo, saj so imena trgov kratka, strani dogodkov se posodabljajo, delež YES pa je vedno videti kot cena med nič in ena.

Vzemimo hipotetični trg z oznako »Ali bo zakon o čistem prometu sprejet?« Strategija po novici kupi YES po 0.42. Backtest pozneje ovrednoti pozicijo pri 1.00. Preden temu dobičku zaupam, želim natančno vedeti, kaj je pogodba obljubljala: za kateri zakon je šlo, kaj je štelo kot »sprejet«, kakšen je bil rok in kateri vir je odločil o izidu.

Naslov: »Ali bo zakon o čistem prometu sprejet?«

Naslov je prikazno besedilo, ne pa stabilen identifikator instrumenta. Dva trga lahko uporabljata skoraj enako besedilo, a se nanašata na različni zakonodajni obdobji, spremenjene predloge ali roke. Borza lahko naslov spremeni zaradi jasnosti, ne da bi spremenila pogoje pogodbe.

Zato naj backtest pozicijo veže na nespremenljivi ID trga ali pogodbe pri borzi ter shrani celotno besedilo pravil in njegovo različico. Če zgodovinski podatki vsebujejo le naslov in oznako, ne moreš potrditi, da časovna vrsta cen pripada pogodbi, s katero je strategija nameravala trgovati.

Polje identiteteKaj določaKaj gre narobe, če manjka
Borza in ID trgaDoločen trg, uvrščen v ponudboPodobni naslovi se združijo
Različica pravilPogoje, s katerimi so se udeleženci strinjaliPoznejša sprememba se uporabi za pretekle posle
ID žetona izidaTrženi zahtevek YES ali NOCeni YES in NO se zamenjata ali združita
Vir poravnaveDokaz, uporabljen za določitev izidaBacktest predpostavi drug pristojni vir

Pravila: kaj pomeni »sprejet«?

Recimo, da pravila določajo, da mora biti zakon sprejet v predstavniškem domu in senatu do 30. junija, nato pa ga mora podpisati predsednik. Backtest, ki uspeh pripiše že sprejetju v katerem koli od obeh domov, je spremenil stavo. Enako velja za primer, ki upošteva istoimenski zakon v naslednjem zakonodajnem obdobju.

Dejanska merila za razrešitev izida obravnavaj kot pogoje za izvajanje. Zabeleži rok in časovni pas, dogodek, ki šteje, morebitne izjeme in imenovani vir za razrešitev. Pomembna je tudi dvoumnost: če pravila borze dopuščajo scenarij brez jasnega izida, ne izberi potihem razlage, ki se ujema z zgodovinskim izidom.

Pri tem delu je čudovito nezanimiven korak: shraniti stran s pravili, še preden se zgodi kaj zanimivega. Stran, zajeta šele po razrešitvi izida, lahko prikazuje končno besedilo, medtem ko je strategija vstopila po prejšnji različici.

Časovnica: kdaj je strategija lahko vedela?

Zdaj predpostavimo, da so pravila ustrezna in se je signal iz novic sprožil ob 14:05 UTC. Zgodovinski vir pravi, da se je posel zgodil ob 14:05 po ceni 0.42. Ta časovni žig sam po sebi ne pove, ali je bila informacija na voljo pred poslom, ali je bilo zabeleženo ceno mogoče doseči po njem ali pa stolpec predstavlja kotacijo, posel ali povzetek intervala.

Čas, ko signal postane na voljo, loči od časa tržnega dogodka. Nato naročilo oddaj šele, ko bi ga strategija lahko izračunala in poslala. Na nelikvidnem trgu je naslednji zabeleženi posel lahko šele čez nekaj minut; to ne dokazuje, da bi bilo tvoje naročilo izvršeno po tej ceni.

Cena: kotacija ni izvršitev

YES po 0.42 pomeni ceno 42 centov na delež, vendar časovna vrsta zadnjih poslov prikrije razpon in razpoložljivo količino. Če je najboljša prodajna cena 0.45 za 20 deležev, simuliranega nakupa 100 deležev ni mogoče v celoti izvršiti po 0.42. Naročilo lahko porabi več ravni knjige naročil, čaka ali ostane neizvršeno.

Cene na napovednih trgih vabijo tudi k računovodski bližnjici: 0.42 obravnavamo kot 42-odstotno verjetnost in pozabimo, da gre hkrati za začetni denarni vložek. Pozicija 100 deležev YES stane $42 pred provizijami. Če se poravna na $1, je bruto izplačilo $100; če se poravna na $0, je nič. Provizije, delne izvršitve in posebnosti poravnave na posamezni borzi sodijo v evidenco poslov.

$42bruto strošek za 100 deležev YES po $0.42
$100bruto vrednost poravnave, če se izid YES potrdi
$0bruto vrednost poravnave, če se izid NO potrdi

Poravnava: kaj zaključi posel?

Backtest pogosto zaključi pozicijo pri zadnji tržni ceni. Toda pogodba, ki jo držimo do razrešitve izida, izplača znesek v skladu s pravili, njena zadnja kotirana cena pa je lahko zastarela, ima širok razpon ali se močno razlikuje od končnega izplačila. Razrešitev modeliraj kot samostojen dogodek: izid, čas poravnave in denarni tok naj izhajajo iz zapisa pogodbe.

Upoštevaj tudi trg, na katerem je izid neveljaven ali sporen, če pravila borze tak izid opredeljujejo. V tem primeru se lahko vložek vrne, izplača drugačen znesek ali pa je potrebna zamuda. Predpostavka binarnega izplačila ne zajame vseh načinov razrešitve.

Sklep o backtestu

V tem primeru bi prijavljeni dobiček sprejel šele po preverjanju nespremenljivega ID-ja trga, različice pravil, ki je veljala ob vstopu, žetona YES, časa, ko je signal postal na voljo, izvršljivih prodajnih cen in količin, provizij ter zabeležene poravnave. Če arhiv cen teh preverjanj ne omogoča, je pošten rezultat razpon scenarijev ali nepreverjen izid.

Za en majhen posel se to morda sliši strogo. Če isto napako pri združevanju podatkov ponovimo na tisočih trgih, lahko backtest postane natančna meritev pogodb, s katerimi naša strategija nikoli ni trgovala.

napovedni trgibacktestingtržni podatkiizvrševanje
← Vse objave