Jatkuva futuurisarja yhdistää peräkkäiset erääntyvät sopimukset yhdeksi historiaksi. Voit käyttää sitä signaalien tutkimiseen, mutta kaupankäynnin tuloksen laskeminen suoraan sarjan hinnanmuutoksista voi synnyttää voittoja ja tappioita jokaisessa rollauksessa. Sarjasta ei käy ilmi, mitä sopimusta omistit.
Otetaan erityisen armoton esimerkki: NYMEXin WTI-raakaöljy 20. huhtikuuta 2020. Toukokuun sopimuksen selvityshinta oli −37.63 dollaria barrelilta. Kesäkuun sopimuksen hinta oli 20.43 dollaria. Molemmat hinnat olivat todellisia. Myös niiden välinen 58.06 dollarin ero oli todellinen. Toukokuun vaihtaminen kesäkuuhun kaaviossa ei kuitenkaan tuottanut tätä erotusta pitkälle positiolle.
Puretaan tämä liitos osiin. Nämä ovat historiallisia selvityshintoja; alla olevissa kuvitteellisissa kirjanpitoesimerkeissä niitä käytetään laskutoimituksen havainnollistamiseen, ei väitteenä siitä, että toimeksianto olisi voinut toteutua niihin.
CLK20 ja CLM20: tunnukset, jotka kaavio jätti pois
| Kenttä | Toukokuun sopimus | Kesäkuun sopimus |
|---|---|---|
| Sopimustunnus | CLK20 | CLM20 |
| Toimituskuukausi | Toukokuu 2020 | Kesäkuu 2020 |
| Selvityshinta 20. huhtikuuta, dollaria barrelilta | −37.63 | 20.43 |
| Sopimuksen koko | 1,000 barrelia | 1,000 barrelia |
Kuukauden koodi on tärkeämpi kuin tunnuksen alkuosa. K tarkoittaa toukokuuta, M kesäkuuta. Sopimuksilla oli eri toimitusvelvoitteet ja eri hinnat. Toukokuun sopimus oli lähellä erääntymistään poikkeuksellisen kovan varastointipaineen keskellä. Kesäkuun sopimus ulotti toimituksen kuukaudella pidemmälle.
Datatoimittajan jatkuva symboli kätkee tämän eron mukavan tiiviiseen muotoon. Pidän tiiviistä symboleista, kunnes ne ovat ainoa tunniste kaupankäyntilokissa. Sitten virheenjäljitys alkaa muistuttaa arkeologiaa, vain huonommalla kahvilla.
Yhtä yleispätevää jatkuvaa aikasarjaa ei myöskään ole. Datatoimittaja voi vaihtaa sopimusta kiinteä määrä arkipäiviä ennen erääntymistä, volyymin risteyskohdassa tai jonkin muun aikataulun mukaan. Monissa aikasarjoissa oli jo siirrytty pois toukokuun sopimuksesta ennen 20. huhtikuuta. Esimerkissämme nämä kaksi selvityshintaa liitetään tarkoituksella yhteen, jotta virhe näkyy; kyse ei ole väitteestä, että jokin tietty toimittaja olisi tehnyt rollauksen näin.
1,000 barrelia: jokaisen hinnan taustalla oleva kerroin
Tavallinen NYMEXin WTI-futuurisopimusvastaa 1,000 barrelia. Siksi 1 dollarin hinnanmuutos muuttaa yhden sopimuksen pitkän position arvoa 1,000 dollarilla. 0.01 dollarin hintapykälä vastaa 10 dollaria.
Kun yhden sopimuksen positio pysyy ennallaan, peruslaskutoimitus on seuraava:
gross_pnl = contracts × 1,000 × (ending_price − starting_price)
Tämä pätee myös nollan alapuolella. Prosentuaaliset tuotot futuurien noteeratusta hinnasta ovat silloin paljon vähemmän hyödyllisiä: nollan ylitys voi tehdä niistä määrittelemättömiä tai kääntää niiden näennäisen merkityksen päinvastaiseksi. Strategian tuotot pitäisi laskea tilin oman pääoman ja kassavirtojen kirjaustavan perusteella. Noteerattu barrelinhinta ei ole strategiaan sidottu pääoma.
58.06 dollaria: epäjatkuvuus sarjojen liitoskohdassa
Oletetaan, että naiivi moottori näkee toukokuun selvityshinnan ja sitä seuraavan kesäkuun selvityshinnan ja soveltaa kaavaa ikään kuin kaupankäynnin kohde ei olisi vaihtunut:
invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
= $58,060
Tässä vertailussa mikään ei liikkunut ajassa. Nämä ovat kahden sopimuksen hinnat samalta kaupankäyntipäivältä. Moottori tulkitsee sopimusten välisen hintaeron virheellisesti pitoajan tuotoksi.
Todellisessa päiväkohtaisessa liitoksessa eilisen vanhan sopimuksen hinta ja tämän päivän uuden sopimuksen hinta sisältävät myös tavanomaisen markkinaliikkeen. Siksi virhettä on vaikeampi havaita. Kirjattu muutos yhdistää vanhan sopimuksen hinnanmuutoksen ja sopimusten välisen eron vaihtohetkellä.
Myöskään 58,060 dollarin vähentäminen oletettuna käteisenä maksettavana ”rollauskustannuksena” ei korjaa mallia. Futuurien ostamisesta ei makseta koko noteerattua nimellisarvoa. Yhden sopimuksen sulkeminen ja toisen avaaminen aiheuttaa positiomuutoksia, realisoitunutta tai selvitettyä P&L:ää, palkkioita, toteutuksesta syntyviä vaikutuksia ja vakuusvaatimuksia. Hintatasojen välinen ero ei automaattisesti ole käteismenoa.
+58.06: historiaan tehty takautuva oikaisu
Yhdessä yleisessä jatkuvan sarjan muodostustavassa rollauksen hintaero lisätään aiempiin hintoihin. Tällä menetelmällä toukokuun −37.63 muuttuu 20.43:ksi, joten kesäkuuhun siirrytään ilman hyppäystä. Myös saman historiajakson aiemmat havainnot nousevat 58.06:lla.
| Muodostustapa | Mitä tässä liitoskohdassa tapahtuu | Vaikutus tutkimukseen |
|---|---|---|
| Oikaisematon | 58.06 dollarin ero säilyy | Indikaattorit voivat tulkita sopimusvaihdon markkinaliikkeeksi |
| Additiivinen takautuva oikaisu | Lisätään 58.06 vanhempaan jaksoon | Jakson sisäiset dollarimääräiset muutokset säilyvät; historialliset tasot ja prosenttimuutokset muuttuvat |
| Suhteellinen takautuva oikaisu | Kerrotaan vanhempi jakso luvulla 20.43 / −37.63, noin −0.543 | Negatiivinen kerroin kääntää jakson sisäisten hinnanmuutosten merkin |
Viimeinen rivi selittää, miksi en hyväksy ilmaisua ”suhteellisesti oikaistu” täydelliseksi datamäärittelyksi. Menetelmä, joka toimii järkevästi vain positiivisilla hinnoilla, vaatii selkeän toimintatavan nollan ja negatiivisten hintojen varalle.
Additiivisella oikaisulla on omat seurauksensa. Signaali, joka ostaa alle kiinteän 30 dollarin rajan, voi muuttua, kun myöhemmät rollaukset kirjoittavat aiempia hintatasoja uusiksi. Nopean ja hitaan liukuvan keskiarvon erotukseen perustuva signaali voi säilyä muuttumattomana, jos sama additiivinen muutos kohdistuu molempiin aikaikkunoihin. Oikaisurajan ylittävät aikaikkunat on tutkittava erikseen.
Tallenna oikaisumenetelmä, rollausaikataulu ja dataversio tutkimustuloksen yhteydessä. Jos signaalit reagoivat oikaistuihin hintatasoihin, rakenna historia uudelleen kunkin päätöshetken käytettävissä olleen tiedon perusteella. Nykyinen lataus voi sisältää rollauksista tehtyjä oikaisuja, joita ei päätöshetkellä vielä ollut tapahtunut.
Kaksi toimeksiantoriviä, jotka jatkuvasta kaaviosta puuttuvat
Tässä on tarkoituksella yksinkertaistettu kirjanpitolaskelma. Oletetaan, että yksi toukokuun sopimus merkittiin ennen rollausta hintaan −30.00. Oletetaan, että toukokuun sopimus suljetaan ja kesäkuun sopimus avataan yllä oleviin historiallisiin selvityshintoihin, minkä jälkeen kesäkuun sopimus merkitään hintaan 21.00. Oletetut toteutushinnat havainnollistavat kirjanpitoa.
| Kirjaustapahtuma | Laskelma | Brutto-P&L |
|---|---|---|
| Suljetaan yksi toukokuun pitkä sopimus hintaan −37.63 | 1,000 × (−37.63 − (−30.00)) | −$7,630 |
| Avataan yksi kesäkuun pitkä sopimus hintaan 20.43 | Ei hinnanmuutosta avaushetkellä | $0 |
| Merkitään kesäkuun sopimus hintaan 21.00 | 1,000 × (21.00 − 20.43) | +$570 |
| Yhteensä | Ennen toteutuskuluja ja palkkioita | −$7,060 |
58.06 dollarin ero ei näy missään erillisenä tulona tai kuluna. Päivittäinen variaatiomarginaali määrittää, milloin futuurien P&L siirtyy käteiseksi; se ei luo samasta P&L:stä toista kopiota.
Todellinen rollaus voidaan toteuttaa kalenterispread-toimeksiannolla kahden erillisen toimeksiannon sijaan. Simulaattorin pitäisi mallintaa oletettu toteutustapa, toteutushinnat ja kulut mukaan lukien, ja säilyttää taustalla kunkin sopimuksen positiot erillisinä.
Hyväksymistarkistukseni on yksinkertainen: jokaisen futuurikaupan P&L-dollarimäärän täytyy täsmätä nimettyyn sopimukseen, määrään, kertoimeen ja kahteen kyseiseen sopimukseen kuuluvaan hintaan. Haluan myös rollauspäätöksen aikaleiman ja sen perusteena käytetyt tiedot. Volyymiin perustuva sääntö, joka käyttää tämän päivän päättyneen istunnon volyymia, ei voi käydä kauppaa huomaamatta aiemmin saman istunnon aikana.
Piirrä jatkuva hintaviiva taustaksi. Piirrä sen alle tosiasiassa hallussa olleet sopimukset ja merkitse jokainen siirtymä. Jos pääomakäyrä hyppää siirtymäkohdassa, tarkistan ensimmäiseksi nuo kaksi toimeksiantoriviä.
← Kaikki kirjoitukset


