Lähetit minulle tuottokäyrän ja kauppalokin ja kysyit, onko tulos liian hyvä ollakseen totta. Lyhyt vastaus: se ei ole selvästi aito eikä selvästi väärä, ja saat asian selville noin päivän työllä. Pidempi vastaus seuraa, sillä diagnoosi on tärkeämpi kuin tuomio.
Sinulla on 15 minuutin keskiarvoon palautuva signaali Binance-pörssin BTCUSDT- ja ETHUSDT-perpetuaalisopimuksille: hinnan z-arvo suhteessa 96 kynttilän keskiarvoon, ääripäiden vastainen positio ja pito 2–8 kynttilää. Backtest kattaa ajan helmikuusta 2024 kesäkuuhun 2026. Sharpe 2.9 kulumallisi jälkeen. Kun jaoit tuloksen vuorokauden minuuttien mukaan, 71% siitä osui niihin kolmeen 15 minuutin aikaväliin, joihin kuuluvat 00:00, 08:00 ja 16:00 UTC.
Tiedät jo, miksi se herättää epäilyksiä. Kerron, miksi se ei myöskään ole kokonaan epäilyttävä.
Rahoituskello on todellinen ilmiö, joka todella liikuttaa hintaa
Binance selvittää perpetual-rahoituksen klo 00:00, 08:00 ja 16:00 UTC. Jokainen selvityshetkellä avoinna oleva positio maksaa rahoitusta tai saa sitä. Kyseessä on kiinteästi ajastettu, kaikkien tiedossa oleva kassavirta, joka synnyttää todellista tilausvirtaa. Se ei ole data-artefakti, vaan jotain, mitä treidaajat oikeasti tekevät.
Virralla on oma muotonsa. Rahoitusmaksuhetkeä edeltävien kymmenen–kolmenkymmenen minuutin aikana positiot, joiden haltijat eivät halua maksaa, suljetaan tai suojataan. Jos rahoitusmaksu on jaksolta +0.04 %, long-positio, jonka haltija aikoo joka tapauksessa poistua positiosta, suljetaan ennen rahoitusmaksuhetkeä eikä sen jälkeen, ja basis-treidaaja, jolla on short-perpetuaali, pitää position mielellään rahoitusmaksuhetken yli. Tämä on epäsymmetristä painetta, jolla on määräaika. Heti rahoitusmaksuhetken jälkeen osa tästä virrasta palaa — rahoitusmaksua vältelleet long-treidaajat avaavat positioitaan uudelleen — ja syntyy osittainen käänne.
Kun siis keskiarvoon palautuva signaali laukeaa klo 23:52 ja positio suljetaan klo 00:12, se osuu täsmälleen ennakoitavan likviditeettitapahtuman kohdalle. Osa tuotostasi johtuu luultavasti kalenterin sanelemasta mekaanisesta liikkeestä tapahtuvasta palautumisesta. Se on todellinen markkinamikrorakenteen ilmiö, ja sitä on esiintynyt vuosien ajan.
Ennen kuin uskoisin noin suurta lukua, haluaisin kuitenkin tietää seuraavat asiat.
6 tarkistusta siinä järjestyksessä kuin itse tekisin ne
Aloita halvimmasta, sillä useimmat tällaiset strategiat kaatuvat toisessa tai kolmannessa tarkistuksessa.
- Lasketaanko rahoituksen P&L kahteen kertaan? Jos toimeksiantojen täyttömoottorisi soveltaa rahoitusta avoimiin positioihin ja hintasarjasi perustuu mark-hintaan eikä viimeiseen kauppahintaan, saatat maksaa tai saada rahoituksen kahdesti: kerran erikseen ja toisen kerran mark-hinnan lähentymisen kautta. Tulosta kunkin kaupan raaka rahoituksen kassavirta ja vertaa silmämääräisesti kymmentä havaintoa pörssin historiallisen rahoitusdatan rajapintaan.
- Mihin aikaleimaan rahoitusrivisi viittaa? Binancen rahoituskorkojen historiatiedoissa fundingTime on selvityshetki. Jotkin datantoimittajat aikaleimaavat saman rivin sovellettavan jakson alkuun. Jos aikaleima on sinulla kahdeksan tuntia pielessä, strategiasi on käyttänyt tulevaisuuden tietoa. Tämä on yleisin tapa, jolla olen nähnyt tekaistun rahoitustuoton syntyvän, ja se tuottaa täsmälleen tällaisen tulosprofiilin: tuotot keskittyvät selvityspalkkeihin, merkit ovat oikein ja tulos näyttää upealta.
- Mitä spreadille tapahtuu klo 00:00:00? Hae order book -dataa, älä kynttilädataa. 1 minuutin kynttilässä spread ei näy, mutta selvitystä ympäröivinä sekunteina se voi keskitason pörssissä kasvaa 3–5-kertaiseksi. Jos toteutuksesi mallinnetaan keskihintaan tai sulkuhintaan, oletat saavasi spreadin, jota ei ollut saatavilla.
- Toimiiko se vain kahdessa muussa selvitysajankohdassa? Jaa kolme aikaikkunaa erikseen. Klo 00:00 UTC:n tilausvirta eroaa klo 08:00:n (suunnilleen Aasian markkinoiden avautuminen) ja klo 16:00:n (Yhdysvaltain iltapäivä) virrasta. Jos kaikki tuotto kertyy yhdestä niistä, tapahtumia on noin 300 eikä 900, ja Sharpe pitää laskea uudelleen tämän määrän pohjalta.
- Toimiiko se pörssissä, jossa rahoitus selvitetään eri aikataulun mukaan? Tämä on hyvä tapaus. Aja sama signaali pörssissä, jossa rahoitus selvitetään tunnin välein tai eri aikataulun mukaan. Jos vaikutus johtuu rahoituksesta, sen pitäisi seurata kyseisen pörssin kelloa. Jos signaali laukeaa edelleen klo 00:00 UTC pörssissä, jossa rahoitusta ei selvitetä klo 00:00 UTC, olet löytänyt datankäsittelyputkesta keskiyöartefaktin, et rahoitusvaikutusta.
- Kuinka suuri osa tuotosta syntyy ensimmäisten ja viimeisten 90 sekunnin aikana? Jos koko tuotto kertyy alle kahden minuutin aikaikkunassa, 15 minuutin kynttilät ovat liian karkeita, jotta tulohinnan voisi arvioida rehellisesti. Oleta silloin, että mallintamasi täyttöhinta on aikaikkunan paras mahdollinen hinta eikä se, jonka itse saisit.
Tekisin viidennen tarkistuksen ensin, jos minulla olisi vain tunti aikaa. Se on selkeä luonnollinen koe eikä vaadi uutta infrastruktuuria, vain toisen datalähteen.
Mitä selvitysikkuna oikeasti maksaa
Oletetaan, että vaikutus on todellinen ja läpäiset kaikki 6 tarkistusta. Lasketaan nyt sen kustannus kunnolla, sillä mallintamasi kauppa ei ole sama kuin se, jonka saisit toteutettua.
Tässä vertailu 20 minuutin edestakaisesta kaupasta hiljaisena tuntina ja selvityshetken yli ulottuvana kauppana USDⓈ-M-perpetualissa, kun sekä positio avataan että suljetaan taker-toimeksiannolla ja kaupan koko on $50k:
| Hiljainen tunti (esim. 03:20 UTC) | Klo 00:00 UTC:n yli | |
|---|---|---|
| Taker-palkkio, edestakainen kauppa | 0.09% | 0.09% |
| Tyypillinen spread-kustannus | ~0.4 bp | 1.5-3 bp |
| Slippage $50k:n kaupalle | ~0.5 bp | 2-6 bp |
| Maksettu/saatu rahoitus | 0 | ±1 – ±4 bp (koko jakso) |
| Realistiset kokonaiskulut | ~10 bp | 13-19 bp ennen rahoitusta |
Rahoitusrivi on kiinnostava, ja siksi painotan ensimmäistä tarkistusta. Jos pidät position selvityshetken yli, maksat koko jakson rahoituksen riippumatta siitä, kuinka kauan pidit positiota. Kahdentoista sekunnin altistus klo 23:59:54 maksaa sinulle täyden 8 tunnin rahoituksen. Strategia, jonka keskimääräinen pitoaika on 20 minuuttia ja joka osuu mark-hinnan asettumishetkeen, maksaa 20 minuutin kaupasta 8 tunnin rahoituksen. Kulusi on laskettava näin, ei suhteutettava pitoaikaan.
Läheinen sudenkuoppa: jos vältät selvityshetken kokonaan — suljet position klo 23:58 ja avaat sen uudelleen klo 00:02 — olet kaksinkertaistanut palkkiotapahtumien määrän, ja strategiasi koko ajatus perustuu nyt siihen, että 2 ylimääräistä taker-toteutusta maksaa vähemmän kuin yksi rahoitusmaksu. Joskus näin on. Laske se täsmällisesti sen sijaan, että antaisit backtestin ratkaista asian puolestasi.
Markkinatilannetta koskeva kysymys, jota et ole vielä esittänyt
Otosjaksosi on helmikuusta 2024 kesäkuuhun 2026. Rahoitus ei pysynyt samassa markkinatilanteessa koko ajan. Oli pitkiä jaksoja, jolloin 8 tunnin korko pysyi 0.01%:n alarajalla eikä kenelläkään ollut syytä muuttaa positioitaan selvityksen lähestyessä. Toisina viikkoina korko oli päivien ajan vähintään 0.05%, ja selvitystä edeltävä tilausvirta oli rajua.
Ryhmittele tulos kaupan ajankohdan vallitsevan rahoituskoron mukaan, esimerkiksi neljään ryhmään koron itseisarvon perusteella. Jos tuotto syntyy rahoitusvirrasta, sen pitäisi kasvaa suunnilleen monotonisesti |funding|-arvon kasvaessa. Kun rahoitus on lähellä nollaa, myös tuoton pitäisi olla lähellä nollaa; korkean rahoituksen aikana tuoton pitäisi olla korkea. Jos tuotto sen sijaan pysyy tasaisena ryhmästä toiseen tai, mikä pahempaa, keskittyy matalan rahoituksen ryhmään, olet liittänyt rahoitustarinan johonkin muuhun ilmiöön.
Pidän tästä testistä, koska se antaa kumottavissa olevan ennusteen, joka seuraa omasta selityksestäsi. Et kysy ”toimiiko se edelleen”, vaan ”toimiiko se sillä perusteella, jonka esitin”.
Mitä itse tekisin strategialla
Jos se läpäisee tarkistukset: pienennä sitä. Strategian realistinen versio ei ole 900 kauppaa vuodessa 15 minuutin aikavälillä, vaan muutama sata tarkoin valittua tapahtumaa, joiden tulologiikka määritellään sekunnin tarkkuudella ja täyttömalli rakennetaan order bookin tilannekuvista, ei kynttilädatasta. Se on pienempi, rumempi ja helpompi perustella. Se on myös versio, jonka tulokset voivat vastata paperikaupankäynnissä havaittuja tuloksia. Vain paperikaupankäynnissä selviää, saavatko oletetut toimeksiannot todella täytön.
Jos se kaatuu toiseen tarkistukseen eli aikaleiman siirtymään, älä harmittele liikaa. Kaikille käy niin ainakin kerran. Lue datanlataajasi koodi huolellisesti sen sijaan, että vain korjaisit aikasiirtymän. Jos rahoitusdatan aikaleima on siirtynyt, myös open interest -data voi olla siirtynyt, ja se kannattaa selvittää ennen seuraavaa ideaa.
Vielä yksi asia, jonka moni jättää tekemättä. Kirjaa kuusi tarkistusta ja niiden tulokset strategian yhteyteen, mitä ikinä löydätkin. Kuuden kuukauden päästä sinä tai joku muu kehittää rakenteeltaan samanlaisen signaalin, saa yhtä kauniin käyrän ja käy saman keskustelun alusta. Pysyvä arvo on tässä diagnoosissa. Strategia ei välttämättä ole.
← Kaikki kirjoitukset


