12. lokakuu 2026 · tutkimus

Purimme ennustemarkkinan backtestin, joka osti väärän sopimuksen

Purimme ennustemarkkinan backtestin, joka osti väärän sopimuksen

Ennustemarkkinan backtestissä voidaan käyttää oikealta näyttävää tickeriä ja oikeaa hintahistoriaa mutta silti väärää sopimusta. Tämä virhe jää helposti huomaamatta, koska markkinoiden nimet ovat lyhyitä, tapahtumasivuja päivitetään ja YES-osuuden hinta näyttää aina luvulta nollan ja yhden väliltä.

Otetaan esimerkiksi kuvitteellinen markkina nimeltä ”Meneekö Clean Transit Act -lakiesitys läpi?” Strategia ostaa YES-osuutta hintaan 0.42 uutissignaalin perusteella. Backtest arvostaa position myöhemmin hintaan 1.00. Ennen kuin luotan tähän voittoon, haluan tietää tarkalleen, mitä sopimus lupasi: minkä lakiesityksen, mitä ”läpi meneminen” tarkoitti, mikä oli määräaika ja mikä taho ratkaisi lopputuloksen.

Otsikko: ”Meneekö Clean Transit Act -lakiesitys läpi?”

Otsikko on näyttötekstiä, ei pysyvä instrumenttitunniste. Kahdella markkinalla voi olla lähes sama sanamuoto, vaikka ne viittaisivat eri lainsäädäntökausiin, muutettuihin lakiesityksiin tai määräaikoihin. Markkinapaikka voi myös muuttaa otsikkoa selventääkseen markkinaa sen ehtoja muuttamatta.

Siksi backtestin pitää yhdistää positio markkinapaikan muuttumattomaan markkina- tai sopimustunnukseen ja säilyttää ehtojen koko teksti sekä sen versio. Jos historiadatassa on vain otsikko ja tickeri, et voi varmistaa, että hintasarja kuuluu sopimukselle, jolla strategian oli tarkoitus käydä kauppaa.

TunnistetietoMitä se yksilöiMitä puuttuminen aiheuttaa
Markkinapaikka ja markkinatunnusTietyn listatun markkinanSamankaltaiset otsikot yhdistyvät toisiinsa
Ehtojen versioOsapuolten hyväksymät ehdotMyöhempi muutos ulotetaan aiempiin kauppoihin
Tulosmerkin tunnusKaupankäynnin kohteena olevan YES- tai NO-vaateenYES- ja NO-hinnat vaihtuvat keskenään tai yhdistyvät
Ratkaisun lähdeTuloksen ratkaisemiseen käytetyn näytönBacktest olettaa päätösvallan olevan muualla

Ehdot: mitä ”läpi meneminen” tarkoittaa?

Oletetaan, että ehdoissa sanotaan lakiesityksen täytyvän mennä läpi edustajainhuoneessa ja senaatissa kesäkuun 30. päivään mennessä sekä tulla presidentin allekirjoittamaksi. Backtest muuttaa vedon, jos se tulkitsee läpimenon kummassa tahansa kamarissa voitoksi. Sama pätee, jos se laskee mukaan samannimisen lakiesityksen seuraavalla lainsäädäntökaudella.

Lue varsinaiset ratkaisukriteerit ikään kuin ne olisivat suoritettavia ehtoja. Kirjaa määräaika ja aikavyöhyke, hyväksyttävä tapahtuma, mahdolliset poikkeukset sekä nimetty ratkaisun lähde. Myös epäselvyydellä on merkitystä: jos markkinapaikan ehdot jättävät uskottavan tilanteen avoimeksi, älä valitse hiljaisesti sitä tulkintaa, joka vastaa toteutunutta lopputulosta.

Tässä työssä on yksi erityisen epädramaattinen vaihe: ehtosivun tallentaminen ennen kuin mitään kiinnostavaa tapahtuu. Vasta ratkaisun jälkeen tallennettu sivu voi näyttää lopullisen sanamuodon, vaikka strategia avasi position aiemman version ollessa voimassa.

Aikajana: milloin strategia olisi voinut tietää?

Oletetaan nyt, että ehdot ovat kunnossa ja uutissignaali syntyy kello 14:05 UTC. Historiallisessa aineistossa näkyy kauppa kello 14:05 hintaan 0.42. Pelkästä aikaleimasta ei selviä, oliko tieto saatavilla ennen kauppaa, olisiko kirjattu hinta ollut yhä saatavilla kaupan jälkeen tai kuvaako aikapalkki tarjousta, kauppaa vai jakson yhteenvetoa.

Pidä signaalin saataville tulon aika erillään markkinatapahtuman ajasta. Sijoita toimeksianto vasta sen jälkeen, kun strategia on ehtinyt laskea signaalin ja lähettää toimeksiannon. Ohuilla markkinoilla seuraava kirjattu kauppa voi olla vasta minuuttien päästä; se ei todista, että toimeksiantosi olisi toteutunut tuohon hintaan.

Hinta: tarjous ei ole toteutunut kauppa

YES hintaan 0.42 tarkoittaa 42 sentin osakehintaa, mutta viimeisimpien kauppojen sarjasta eivät näy osto- ja myyntihintojen ero tai saatavilla oleva määrä. Jos paras myyntitarjous on 0.45 yhteensä 20 osakkeelle, simuloitu 100 osakkeen osto ei voi toteutua kokonaan hintaan 0.42. Toimeksianto saattaa kuluttaa useita tarjouskirjan tasoja, jäädä odottamaan tai jäädä kokonaan toteutumatta.

Ennustemarkkinoiden hinnat houkuttelevat myös kirjanpidolliseen oikopolkuun: 0.42 tulkitaan 42 prosentin todennäköisyydeksi ja unohdetaan, että se on samalla ostoon käytetty rahamäärä. 100 YES-osakkeen positio maksaa $42 ennen kuluja. Jos selvityshinta on $1, bruttotuotto on $100; jos selvityshinta on $0, tuotto on nolla. Kulut, osittaiset toteutukset ja markkinapaikan omat selvityskäytännöt kuuluvat kaikki kirjanpitoon.

$42100 YES-osakkeen bruttokustannus hintaan $0.42
$100bruttoselvitysarvo, jos YES ratkeaa voitoksi
$0bruttoselvitysarvo, jos NO ratkeaa voitoksi

Selvitys: mikä päättää kaupan?

Backtestissä positio suljetaan usein viimeiseen markkinahintaan. Erääntymiseen asti pidetty sopimus kuitenkin maksaa ehtojen mukaisesti, ja sen viimeisin noteerattu hinta voi olla vanhentunut, osto- ja myyntihinnan ero suuri tai hinta kaukana lopullisesta maksusta. Mallinna ratkaisu omana tapahtumanaan: tuloksen, selvitysajan ja rahavirran pitää perustua sopimustietoihin.

Huomioi myös tilanteet, joissa markkina ratkeaa mitätöidyksi tai kiistanalaiseksi, jos markkinapaikan ehdoissa on niille määritelmä. Tällöin panos voidaan palauttaa, maksu voi olla erisuuruinen tai selvitys voi viivästyä. Oletus binäärisestä maksusta ei kata kaikkia ratkaisupolkuja.

Johtopäätös backtestistä

Tässä esimerkissä hyväksyisin raportoidun voiton vasta, kun muuttumaton markkinatunnus, position avaushetkellä voimassa ollut ehtojen versio, YES-tunnus, signaalin saataville tulon aika, toteutettavissa olleet myyntitarjoukset ja määrät, kulut sekä kirjattu selvitys täsmäävät. Jos hinta-arkisto ei mahdollista näitä tarkistuksia, rehellinen tulos on skenaarioiden vaihteluväli tai vahvistamaton tulos.

Tämä voi tuntua tiukalta yhden pienen kaupan kohdalla. Kun sama yhdistämisvirhe toistuu tuhansilla markkinoilla, backtestistä voi tulla tarkka mittaus sopimuksista, joilla strategiasi ei koskaan käynyt kauppaa.

ennustemarkkinatbacktestausmarkkinadatatoimeksiantojen toteutus
← Kaikki kirjoitukset