A folytonos határidős adatsor egymás után egy lejáró kontraktusokat kapcsol össze egyetlen idősorrá. Ezt az idősor jelzések kutatására használhatod, de ha közvetlenül az árfolyamváltozásokból számolod a kereskedési P&L-t, minden kontraktusváltásnál nyereséget és veszteséget gyárthatsz. Az adatsorból nem derül ki, melyik kontraktust tartottad.
Vegyünk egy különösen szélsőséges példát: a NYMEX WTI nyersolajat 2020. április 20-án. A májusi kontraktus elszámolóára hordónként −37.63 dollár volt. A júniusié +20.43 dollár. Mindkét ár valódi volt. A köztük lévő 58.06 dolláros különbség is. De attól, hogy a grafikon májusról júniusra váltott, egy long pozíció még nem kereste meg ezt az összeget.
Bontsuk szét ezt az összefűzést. Ezek historikus elszámolóárak; az alábbi hipotetikus könyvelési példák az aritmetikát szemléltetik velük, és nem azt állítják, hogy ezekre az árakra ténylegesen teljesülhetett volna egy megbízás.
CLK20 és CLM20: az azonosítók, amelyeket a grafikon elhagyott
| Mező | Májusi kontraktus | Júniusi kontraktus |
|---|---|---|
| Kontraktusazonosító | CLK20 | CLM20 |
| Szállítási hónap | 2020. május | 2020. június |
| Április 20-i elszámolóár, dollár/hordó | −37.63 | 20.43 |
| Kontraktusméret | 1,000 hordó | 1,000 hordó |
A hónapot jelölő betű fontosabb, mint a ticker előtagja. A K májust, az M júniust jelöli. Ezeknek a kontraktusoknak eltérő szállítási kötelezettsége és eltérő ára volt. A májusi lejárata közeledett, miközben rendkívüli tárolási nehézségek alakultak ki. A júniusi még egy hónap haladékot adott.
A szolgáltató folytonos szimbóluma kellemesen tömör formába rejti ezt a különbséget. Szeretem a tömör szimbólumokat, amíg nem csak ez az egyetlen azonosító marad a kereskedési naplóban. Onnantól a hibakeresés régészetre kezd hasonlítani, csak a kávé rosszabb.
Ráadásul nincs egyetlen univerzális folytonos adatsor. Egy szolgáltató a lejárat előtt meghatározott számú munkanappal, a forgalom keresztezésekor vagy más ütemezés szerint válthat kontraktust. Sok adatsor már április 20. előtt kilépett a májusi kontraktusból. A példánk szándékosan fűzi össze ezt a két elszámolóárat, hogy láthatóvá tegye a hibát; nem állítjuk, hogy bármelyik konkrét szolgáltató így váltott volna.
1,000 hordó: az egyes árak mögötti szorzó
A szabványos NYMEX WTI határidős kontraktus1,000 hordót képvisel. Így 1 dolláros elmozdulás 1,000 dollárral változtatja meg az 1 kontraktusnyi long pozíció értékét. Egy 0.01 dolláros tick 10 dollár.
Változatlan, 1 kontraktusnyi pozíciónál az alapképlet:
gross_pnl = contracts × 1,000 × (ending_price − starting_price)
Ez nulla alatti áraknál is működik. A jegyzett határidős árfolyam százalékos hozama viszont sokkal kevésbé hasznos: a nullán való áthaladás miatt meghatározatlanná válhat, vagy megfordulhat a látszólagos jelentése. A stratégia hozamát a számla saját tőkéjéből és a pénzáramlás elszámolási módjából kell levezetni. A hordónkénti jegyzett ár nem azonos a stratégiába fektetett tőkével.
58.06 dollár: az ugrás az összefűzésnél
Tegyük fel, hogy egy naiv motor a májusi elszámolóár után a júniusiét látja, és úgy alkalmazza a képletet, mintha közben nem változott volna meg az instrumentum:
invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
= $58,060
Ebben az összehasonlításban semmi sem mozdult az időben. Ez a két kontraktus ugyanazon kereskedési nap árai. A motor két kontraktus közötti árkülönbséget nézett tartási időszak alatt elért nyereségnek.
A napi összefűzésnél a régi kontraktus tegnapi ára és az új kontraktus mai ára a szokásos piaci mozgást is tartalmazza. Ettől nehezebb észrevenni a hibát. A rögzített változás a régi kontraktus ármozgását és a váltáskor fennálló kontraktusok közötti különbséget vegyíti össze.
Az sem javítja ki a modellt, ha állítólagos, 58,060 dolláros „váltási költségként” vonod le ezt az összeget. A határidős ügyleteket nem a teljes jegyzett névérték kifizetésével vásároljuk meg. Egy kontraktus lezárása és egy másik megnyitása pozícióváltozással, realizált vagy elszámolt P&L-lel, díjakkal, végrehajtási hatásokkal és letéti követelményekkel jár. Az árszintek közötti különbség önmagában nem jelent készpénzkiadást.
+58.06: a múltba visszaírt visszaigazítás
A folytonos adatsorok egyik gyakori előállítási módja a váltási réssel növeli a korábbi árakat. E megközelítés szerint a májusi −37.63 értéke 20.43-ra változik, így ugrás nélkül találkozik a júniusi árral. Ugyanebben a historikus szakaszban a korábbi megfigyelések is 58.06-tal emelkednek.
| Előállítási mód | Mi történik ennél az összefűzésnél | Következmény a kutatásra |
|---|---|---|
| Kiigazítatlan | Az 58.06 dolláros rés megmarad | A mutatók piaci elmozdulásként értelmezhetik a kontraktusváltást |
| Additív visszaigazítás | 58.06 hozzáadása a korábbi szakaszhoz | A szakaszon belüli dollárváltozások megmaradnak; a historikus szintek és a százalékos változások eltolódnak |
| Arányos visszaigazítás | A korábbi szakasz szorzása ezzel: 20.43 / −37.63, hozzávetőleg −0.543 | A negatív szorzó megfordítja a szakaszon belüli ármozgások előjelét |
Az utolsó sor miatt nem fogadom el önmagában teljes adatleírásként az „arányosan kiigazított” megjelölést. Annak a módszernek, amely kizárólag pozitív áraknál működik ésszerűen, egyértelmű szabályt kell adnia a nulla és a negatív árak kezelésére is.
Az additív kiigazításnak is vannak következményei. Ha egy jelzés akkor vesz, amikor az ár egy rögzített 30 dolláros küszöb alatt van, a döntés megváltozhat, amikor a későbbi kontraktusváltások átírják a korábbi árszinteket. A gyors és a lassú mozgóátlag különbségén alapuló jelzés változatlan maradhat egy mindkét idősorra egyformán érvényes additív eltolás mellett. A kiigazítási határt átlépő idősorokat külön kell megvizsgálni.
A kutatási eredménnyel együtt őrizd meg a kiigazítási módszert, a váltások ütemezését és az adatverziót. A kiigazított árszintekre érzékeny jelzéseknél állítsd elő újra az egyes döntési dátumokon elérhető adatsort. A most letöltött adatok olyan korábbi kiigazításokat is tartalmazhatnak, amelyeket csak később bekövetkezett váltások indokoltak.
A folytonos grafikonról hiányzó 2 megbízási sor
Íme egy szándékosan leegyszerűsített napló. Tegyük fel, hogy a váltás előtt 1 májusi kontraktus értéke −30.00 volt. Azt is tegyük fel, hogy a májusi kontraktust a fenti historikus elszámolóáron zártuk, a júniusit pedig ezen az áron nyitottuk meg, majd a júniusi kontraktust 21.00-n értékeltük. Ezek a feltételezett teljesülések könyvelési példaként szolgálnak.
| Naplóesemény | Számítás | Bruttó P&L |
|---|---|---|
| 1 májusi long lezárása −37.63-on | 1,000 × (−37.63 − (−30.00)) | −$7,630 |
| 1 júniusi long megnyitása 20.43-on | Belépéskor nincs ármozgás | $0 |
| A júniusi kontraktus értékelése 21.00-on | 1,000 × (21.00 − 20.43) | +$570 |
| Összesen | Végrehajtási költségek és díjak előtt | −$7,060 |
Az 58.06 dolláros rés sehol sem jelenik meg önálló bevételként vagy költségként. A napi változó letét határozza meg, mikor kerül a határidős P&L a készpénzbe; nem hozza létre ugyanannak a P&L-nek egy második példányát.
A tényleges kontraktusváltás két külön megbízás helyett naptári spreadre szóló megbízással is végrehajtható. A szimulátornak az általa feltételezett mechanizmust kell modelleznie, a teljesülésekkel és díjakkal együtt, miközben megőrzi az egyedi kontraktuspozíciókat.
Az elfogadási ellenőrzésem egyszerű: a határidős kereskedés minden dollárnyi P&L-jének egyeztethetőnek kell lennie egy név szerint azonosított kontraktussal, mennyiséggel, szorzóval és ugyanahhoz a kontraktushoz tartozó két árral. A kontraktusváltásról szóló döntés időpontját és bemenő adatait is látni akarom. Egy mai lezárt kereskedési nap forgalmára épülő szabály nem hajthat végre észrevétlenül korábban, ugyanazon a napon.
A folytonos adatsort háttérként ábrázold. Alatta jelenítsd meg a ténylegesen tartott kontraktusokat, és jelöld meg minden váltás helyét. Ha a saját tőke görbéje valamelyik váltásnál megugrik, először ezt a 2 megbízási sort nézem meg.
← Összes bejegyzés


