7. marraskuu 2026 · mikrorakenne

Backtest käytti oikeaa hintaa vääriltä markkinoilta

Backtest käytti oikeaa hintaa vääriltä markkinoilta

Kello 10:14 UTC yksinkertainen läpimurtostrategia osti kryptoperpetuaalin hinnan ylitettyä 20 minuutin huippunsa. Backtestissä toimeksianto toteutui hintaan $64,210. Hinta löytyi datasta, signaalin aikaleima oli oikein ja simuloitu toimeksianto saapui seuraavalla barilla. Olimme vähällä kutsua tulosta puhtaaksi.

Sitten tarkistimme instrumenttitunnukset. Signaali tuli BTCUSDT-perpetuaalista. Toteutushinta tuli BTCUSD-käänteisestä sopimuksesta. Molemmilla käytiin kauppaa lähellä hintaa $64,210, ja molemmat olivat likvidejä markkinoita. Ne olivat silti eri toimeksiantokirjoja, joilla oli eri hinnat, tick-koot, syvyydet ja palkkiorakenteet. Backtest oli yhdistänyt markkinan, johon yksikään treidaaja ei olisi päässyt käsiksi.

Strategia itsessään oli tavanomainen: avaa positio sulkeutumisen ylittäessä liukuvan huipun, sulje positio sulkeutumisen alittaessa liukuvan pohjan ja mitoita kukin positio kiinteän dollarimääräisen riskin mukaan. Ongelma tuli esiin vasta, kun kysyimme täsmällisemmän kysymyksen kuin ”minkä arvoinen BTC oli?” Kysyimme: ”kuinka paljon tätä toimeksiantoa olisi voinut ostaa juuri tällä sopimuksella kyseiseen aikaan?”

Kaavio oli yhdistelmä jo ennen strategian käynnistämistä

Tutkimussyötteemme helpotti pörssien vertailua. Se yhdenmukaisti symbolit ja näytti yhdistetyn hintasarjan. Se oli kätevää markkinoiden tarkasteluun, mutta huono viite toteutukselle. Yhdistelmä voi näyttää parhaan hinnan eri pörsseistä, vaikka strategia voi lähettää toimeksiannon vain yhteen pörssiin.

Läpimurron hetkellä yhdistetyn barin huippu oli $64,205. Valitun sopimuksen viimeisin kauppa oli jo siirtynyt hintaan $64,218. Samaan aikaan välimuistiin tallennettu käänteisen sopimuksen noteeraus näytti yhä myyntihintaa $64,210. Simulaattori käytti läpimurtoon yhtä sarjaa ja houkuttelevaan myyntihintaan toista. Molemmat arvot olivat todellisia. Niiden yhdistelmä oli kuvitteellinen.

SyöteMitä backtest käyttiMitä toimeksianto edellytti
Läpimurron huippuYhdistetty BTC-hintaValitun sopimuksen hintahistoria
Sisääntulon viitehintaVälimuistiin tallennettu käänteisen sopimuksen myyntihintaTuore myyntihinta kaupankäynnin kohteena olevalle instrumentille
ToteutusmääräPyydetty position kokoKullakin hintatasolla saatavilla oleva määrä

Yksi rivi markkinadatataulukossa voi näyttää täydelliseltä, vaikka sen kentät kuvaisivat eri markkinoita. Symbolin alias ei todista, että kahdella instrumentilla olisi yhteinen toimeksiantokirja. Sopimustunnuksen, pörssin, noteerausvaluutan ja aikaleiman on kuljettava mukana signaalin muodostuksessa ja toimeksiannon toteutuksessa.

Toistimme toimeksiannon toimeksiantokirjaa vasten

Ajoimme sisääntulon uudelleen käyttäen valitun perpetuaalin omaa parasta myyntihintaa ja päätöshetkellä saatavilla olleita toimeksiantokirjan päivityksiä. Noteeraus oli tuore, mutta ylimmällä hintatasolla oli vain 0.18 BTC. Simuloitu toimeksiantomme oli 0.50 BTC. Jäljellä oleva 0.32 BTC olisi osunut korkeampiin myyntihintoihin.

$64,218paras myyntihinta toimeksiannon saapuessa
0.18 BTCsaatavilla kyseisellä myyntihinnalla
$64,231volyymipainotettu toistohinta

Korjattu sisääntulo oli $21 BTC:tä kohden kalliimpi kuin ilmoitettu toteutushinta ennen palkkioita. Yksittäisessä kaupassa ero on pieni. Testin aikana strategia kuitenkin teki suurimman osan bruttovoitostaan muutamasta nopeasta läpimurrosta. Kun toistimme nämä sisääntulot oikeita toimeksiantokirjoja vasten, bruttotulos pieneni 31%; taker-palkkiot ja hintavaikutus heikensivät sitä lisää.

Löysimme myös kaksi tapausta, joissa toimeksiantokirjan paras noteeraus saapui signaalin päätöshetken jälkeen. Backtest, joka yhdistää lähimmän aikaleiman perusteella, voi huomaamatta valita tulevan päivityksen. Yhdistämme nyt taaksepäin: noteerauksen on täytynyt olla saatavilla toimeksiannon lähetyshetkellä, ja kirjaamme sen iän. Jos viimeisin käyttökelpoinen noteeraus on liian vanha, simulaattori merkitsee toimeksiannon toteutuskelvottomaksi tai soveltaa nimenomaista vanhentuneen datan sääntöä.

Mitä kaupankäyntikelpoinen hinta edellyttää

Barin päätöskurssi on hyödyllinen signaalin laskemiseen. Se ei osoita, että tietty toimeksianto olisi voitu toteuttaa siihen hintaan. Siihen tarvitaan hinta, joka kuuluu täsmälleen kyseiseen instrumenttiin ja pörssiin, on saatavilla toimeksiannon saapumishetkellä ja jolla vastapuolen määrä riittää pyydettyyn kokoon. Jos data ei vastaa näihin kysymyksiin, rehellinen tulos on vaihteluväli tai puuttuva toteutus, ei keksitty tarkka hinta.

Säilytimme yhdistetyn sarjan markkinatilanteen tarkasteluun ja poistimme sen toteutusketjusta. Signaalit viittaavat nyt valitun sopimuksen omaan historiaan; toimeksiannot toistetaan kyseisen sopimuksen toimeksiantokirjaa vasten, ja palkkiot sekä koko huomioidaan toteutuksen laskennassa. Vähän lisää yhdistelykoodia, ja paljon vähemmän mairitteleva pääomakäyrä.

Läpimurto todella tapahtui. Backtest vain antoi sille paremmat markkinaolosuhteet kuin ne, jotka strategia oli valinnut.

kryptofutuurittoimeksiantokirjatmarkkinadatabacktestaustoteutus
← Kaikki kirjoitukset