26. lokakuu 2026 · data

Miksi backtestini korvaa jatkuvasti optiodatansa?

Miksi backtestini korvaa jatkuvasti optiodatansa?

Optiobacktesti voi muuttua, vaikka strategiakoodiin ei koskettaisi riviäkään. Datantoimittaja korjaa virheellisen noteerauksen, lisää myöhässä saapuneen kaupan, päivittää sopimusmetadataa tai muuttaa ristikkäisten markkinoiden suodatustaan. Ajet samat päivämäärät uudelleen ja saat eri toteutuksen, eri position, ehkä eri Sharpen. Kyse ei välttämättä ole strategiavirheestä. Strategiaa on testattu muuttunutta aineistoa vasten.

Jotta optiobacktesti olisi toistettavissa, käsittele markkinadataa versioituna syötteenä. Kirjaa käyttämäsi tilannekuva, säilytä kunkin päätöksen taustalla olleet raak havainnot ja vertaa muuttuneita tuloksia sopimus- ja aikaleimatasolla ennen kuin luotat koontitulokseen.

Miksi optiobacktestini muuttui, vaikka koodi pysyi samana?

Optiotietueet ovat poikkeuksellisen herkkiä korjauksille, koska sopimuksen näennäinen kaupattavuus riippuu useista yhdessä muuttuvista kentistä: bidistä, askista, kokoluokista, kohde-etuuden hinnasta, erääntymisestä, toteutushinnasta sekä sopimuksen kertoimesta tai toimitettavasta omaisuudesta. Korjattu noteeraus voi muuttaa näennäisen tilaisuuden ristikkäiseksi markkinaksi. Metadatan korjaus voi muuttaa position kertoimen merkitystä.

Kuvitellaan strategia, joka ostaa osto-option, kun ask on alle $2.00. Ensimmäisessä datalatauksessa kello 10:14 noteeraus on ask $1.95, bid $1.90 ja koko 5. Myöhempi datantoimittajan päivitys muuttaa askin arvoon $2.05 viivästyneen pörssiviestin täsmäytyksen jälkeen. Yksi havainto kääntää signaalin. Jos kyseinen sopimus oli strategian ainoa kauppa sinä päivänä, maltillinen datakorjaus voi hallita päivän tuottoa.

Myös noteerausten suodatus vaikuttaa. Datantoimittajat voivat poistaa vanhentuneita noteerauksia, karsia ristikkäisiä markkinoita tai normalisoida aikaleimoja eri tavoin. Käytännöt voivat olla järkeviä, mutta ne ovat osa aineiston identiteettiä. ”SPY-optiot tammikuusta maaliskuuhun” ei määritä toistettavaa historiaa.

Mikä on optiodatan versio?

Dataversio on niiden historiallisten havaintojen täsmällinen versio, joka oli käytettävissä tietyssä tutkimusajossa. Tallenna datantoimittajan ja aineiston nimi, noutoaika, päivämääräväli, skeeman versio sekä kaikki siivous- ja suodatussäännöt. Jos datantoimittaja tarjoaa tilannekuvatunnuksia tai versioiden aikaleimoja, tallenna myös ne.

Säilytä jokaisesta simuloidusta päätöksestä riittävästi jäljitettävyystietoa, jotta voit vastata seuraaviin kysymyksiin: mitä sopimusta tarkasteltiin, mikä noteeraus valittiin, milloin noteeraus julkaistiin tai vastaanotettiin ja millä säännöllä se hyväksyttiin? Sekä raakatietueella että johdetulla tietueella on merkitystä. Siivottu NBBO ilman lähteen aikaleimoja voi peittää sen, oliko noteeraus vanhentunut tai saapuiko se vasta simuloidun päätöksen jälkeen.

Säilytettävä tietoMiksi sillä on merkitystäEsimerkki
Lähteen tilannekuvaYksilöi ajossa käytetyn historianDatantoimittajan version tunnus ja noutoaikaleima
Noteerauksen alkuperätiedotSelittää, miksi kyseinen markkinatieto valittiinPörssi, tapahtuma-aika, vastaanottoaika, bid/ask ja koot
SopimusehdotMäärittää, mitä optio edustiToteutushinta, erääntyminen, kerroin ja toimitettava omaisuus
SiivouskäytäntöKertoo, mitkä havainnot jätettiin poisVanhentumiskynnys ja ristikkäisten noteerausten käsittely

Miten tarkistan, muuttiko datantoimittajan päivitys tuloksiani?

Aja sama strategia ja kokoonpano molempia tilannekuvia vasten. Vertaa ensin hyväksyttyjen havaintojen ja sopimusten määriä päivittäin. Vertaa sitten päätöksiä ja toteutuksia: mitkä signaalit ilmestyivät tai katosivat, mikä noteeraus muuttui ja muuttiko uusi tietue mallinnettua toteutushintaa.

Älä tyydy kokonaistuottoon. Seuraa kauppojen määrän, avaus- ja sulkuhintojen, hylättyjen signaalien sekä vain yhdessä dataversiossa esiintyvien kauppojen P&L-osuuden muutoksia. Ajon Sharpe voi pysyä samankaltaisena, vaikka yksittäiset kaupat vaihtuvat; päätunnusluku ei kerro, että sen taustalla oleva historia muuttui.

2vertailtavaa dataversiota
4säilytettävää jäljitettävyyskenttää
1kauppa voi heilauttaa pientä otosta

Pidä strategia, kulut ja toteutusoletukset auditointia varten samoina. Jos muutat useita asioita kerralla, et tiedä, johtuiko ero datantoimittajan korjauksesta vai omasta kokeilustasi.

Pitäisikö minun aina käyttää uusinta optiohistoriaa?

Käytä uusinta historiaa, kun tavoitteena on hyödyntää datantoimittajan tämänhetkistä parasta rekonstruktiota. Säilytä vanha tilannekuva, kun sinun täytyy toistaa aiempi tulos tai selvittää, mitä tutkimusjärjestelmäsi tiesi tuolloin. Nämä vastaavat eri kysymyksiin.

Point-in-time-tutkimuksessa korjattu tietue voi olla nyt tarkempi mutta silti sellainen, jota strategialla ei silloin ollut käytettävissään. Säilytä julkaisu- ja vastaanottoajat aina kun mahdollista; muussa tapauksessa kuvaa rajoite selkeästi. Nykyhetkestä tehty rekonstruktio ei automaattisesti vastaa historiallista tietojoukkoa.

Kun optiobacktesti muuttuu, ensimmäinen kysymys pitäisi olla ”Mitkä havainnot muuttuivat?” Kysymys ”Kumpi ajo on oikea?” tulee vasta, kun pystyt vastaamaan siihen.

Mitä minun pitäisi tallentaa jokaisen backtestin yhteydessä?

Tallenna tulosten viereen tiivis manifesti: datantoimittaja ja tilannekuva, noutoaika, skeeman ja siivouksen versiot, sopimusmetadatan lähde, strategian commit, toteutusoletukset ja ajon kokoonpano. Linkitä jokainen kauppa sen perusteena olleisiin noteeraustietueisiin.

Pieni tietue muuttaa arvoituksellisen uudelleenajon tarkasteltavaksi eroksi. Optiohistoriaa korjataan jatkossakin. Tutkimusprosessisi pitäisi tehdä jokainen korjaus näkyväksi, jotta parempi arkisto parantaa aineistoa kirjoittamatta koetta hiljaisesti uudelleen.

optiodatapoint-in-time-databacktestingdata engineering
← Kaikki kirjoitukset