Kontinuální řada futures spojuje navazující kontrakty, kterým končí platnost, do jediné historie. Tuto historii můžete použít k výzkumu signálů, ale přímý výpočet obchodního P&L ze změn jejích cen může při každém rolování vykouzlit zisky i ztráty. Z řady nepoznáte, který kontrakt jste drželi.
Podívejme se na obzvlášť neúprosný příklad: ropu WTI na NYMEX z 20. dubna 2020. Květnový kontrakt se vypořádal na záporných $37.63 za barel. Červnový na kladných $20.43. Obě ceny byly skutečné. Skutečný byl i rozdíl $58.06 mezi nimi. Přechodem grafu z květnového na červnový kontrakt však dlouhá pozice tento rozdíl nevydělala.
Pojďme si toto spojení rozebrat. Jde o historické vypořádací ceny; níže uvedené hypotetické příklady účtování je používají k předvedení výpočtu, nikoli jako tvrzení, že by se za tyto ceny daly provést příkazy.
CLK20 a CLM20: identifikátory, které graf zahodil
| Údaj | Květnový kontrakt | Červnový kontrakt |
|---|---|---|
| Identifikátor kontraktu | CLK20 | CLM20 |
| Měsíc dodání | květen 2020 | červen 2020 |
| Vypořádací cena 20. dubna, dolary za barel | −37.63 | 20.43 |
| Velikost kontraktu | 1,000 barelů | 1,000 barelů |
Kód měsíce je důležitější než prefix tickeru. K označuje květen, M červen. Tyto kontrakty měly odlišné dodací závazky i různé ceny. Květnový se blížil expiraci v době mimořádného tlaku na skladovací kapacity. Červnový nabízel další měsíc.
Symbol kontinuální řady od poskytovatele tento rozdíl schovává za příjemně stručné označení. Stručná označení mám rád, dokud nejsou jediným identifikátorem v obchodním záznamu. Pak ladění připomíná archeologii, jen s horší kávou.
Neexistuje ani jediná univerzální kontinuální historie. Poskytovatel může rolovat pevný počet pracovních dnů před expirací, při překřížení objemů nebo podle jiného harmonogramu. Mnoho historických řad přešlo z květnového kontraktu už před 20. dubnem. Náš příklad záměrně spojuje tyto 2 vypořádací ceny, aby byla chyba vidět; netvrdíme tím nic o rolování konkrétního poskytovatele.
1,000 barelů: násobitel, který stojí za každou cenou
Standardní futures kontrakt na WTI na NYMEXpředstavuje 1,000 barelů. Pohyb o $1 proto změní hodnotu dlouhé pozice v 1 kontraktu o $1,000. Jeden tick o $0.01 odpovídá $10.
Základní výpočet pro nezměněnou pozici v 1 kontraktu je:
gross_pnl = contracts × 1,000 × (ending_price − starting_price)
Výpočet funguje i při cenách pod nulou. Procentní výnosy počítané z kotované ceny futures jsou mnohem méně užitečné: přechod přes nulu je může učinit nedefinovanými nebo obrátit jejich zdánlivý význam. Výnosy strategie by se měly odvíjet od vlastního kapitálu účtu a zvolené konvence peněžních toků. Kotovaná cena za barel není kapitál vložený do strategie.
$58.06: skok v místě spojení
Představme si, že naivní engine uvidí vypořádací cenu květnového kontraktu a po ní cenu červnového a použije vzorec, jako by se instrument nezměnil:
invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
= $58,060
V tomto srovnání se v čase nic nepohnulo. Jde o ceny 2 kontraktů ze stejné obchodní seance. Engine zaměnil rozdíl cen mezi kontrakty za zisk z doby držení pozice.
Při skutečném denním spojení obsahují včerejší cena starého kontraktu a dnešní cena nového kontraktu také běžný pohyb trhu. Chyba se tím hůře odhaluje. Zaznamenaná změna kombinuje pohyb starého kontraktu s rozdílem mezi kontrakty v okamžiku přechodu.
Model neopraví ani odečtení $58,060 jako domnělých peněžních „nákladů na rolování“. Futures se nekupují zaplacením celé jejich kotované nominální hodnoty. Uzavření jednoho kontraktu a otevření jiného znamená změnu pozic, realizované nebo vypořádané P&L, poplatky, dopady provedení a požadavky na marži. Rozdíl mezi cenovými úrovněmi kontraktů není automaticky peněžním výdajem.
+58.06: zpětná úprava zapsaná do historie
Jedna z běžných metod sestavení kontinuální řady přičte rozdíl při rolování k dřívějším cenám. Podle této konvence se květnová cena −37.63 změní na 20.43 a na červnovou naváže bez skoku. O 58.06 se zvýší i dřívější pozorování ve stejném historickém úseku.
| Metoda sestavení | Co se stane v místě spojení | Důsledek pro výzkum |
|---|---|---|
| Bez úpravy | Rozdíl $58.06 zůstane | Indikátory mohou přechod mezi kontrakty vyhodnotit jako pohyb trhu |
| Aditivní zpětná úprava | Ke staršímu úseku se přičte 58.06 | Dolarové změny uvnitř úseku zůstávají zachovány; historické úrovně a procentní změny se posunou |
| Poměrová zpětná úprava | Starší úsek se vynásobí poměrem 20.43 / −37.63, přibližně −0.543 | Záporný faktor obrátí znaménko cenových změn uvnitř úseku |
Právě proto mi označení „upraveno poměrem“ nestačí jako úplná specifikace dat. Metoda, která dává smysl při výhradně kladných cenách, potřebuje výslovně stanovený postup pro ceny kolem nuly a pod ní.
Aditivní úprava má své vlastní důsledky. Signál, který nakupuje pod pevnou hranicí $30, se může změnit, když pozdější rolování přepíše dřívější úrovně. Signál založený na rozdílu rychlého a pomalého klouzavého průměru může být vůči společnému aditivnímu posunu invariantní, pokud se obě okna posunou stejně. Okna překračující hranici úpravy je třeba prověřit zvlášť.
U výsledku výzkumu uchovávejte metodu úpravy, harmonogram rolování i verzi dat. U signálů citlivých na upravené úrovně rekonstruujte historii dostupnou k jednotlivým datům rozhodnutí. Aktuální stažená data mohou obsahovat úpravy z rolování, ke kterému v danou chvíli ještě nedošlo.
2 řádky příkazů, které v kontinuálním grafu chybí
Tady je záměrně zjednodušená evidence. Předpokládejme, že 1 květnový kontrakt byl před rolováním oceněn na −30.00. Předpokládejme, že k prodeji květnového kontraktu i nákupu červnového došlo za výše uvedené historické vypořádací ceny a poté byl červnový kontrakt oceněn na 21.00. Tyto předpokládané realizační ceny slouží k ilustraci účtování.
| Událost v evidenci | Výpočet | Hrubé P&L |
|---|---|---|
| Uzavření 1 dlouhé pozice v květnovém kontraktu za −37.63 | 1,000 × (−37.63 − (−30.00)) | −$7,630 |
| Otevření 1 dlouhé pozice v červnovém kontraktu za 20.43 | Při otevření nedošlo k pohybu ceny | $0 |
| Ocenění červnového kontraktu na 21.00 | 1,000 × (21.00 − 20.43) | +$570 |
| Celkem | Před náklady na provedení a poplatky | −$7,060 |
Rozdíl $58.06 se nikde neobjevuje jako samostatný výnos ani výdaj. Denní variační marže určuje, kdy se P&L z futures promítne do hotovosti; nevytváří jeho druhou kopii.
Skutečné rolování může proběhnout prostřednictvím příkazu na kalendářní spread namísto 2 samostatných příkazů. Simulátor by měl zachytit zvolený mechanismus včetně předpokládaných realizačních cen a poplatků a zároveň evidovat jednotlivé pozice v kontraktech.
Moje kontrolní podmínka je prostá: každý dolar obchodního P&L z futures musí být přiřaditelný ke konkrétnímu kontraktu, množství, násobiteli a 2 cenám, které patří k tomuto kontraktu. Chci také znát časové razítko rozhodnutí o rolování a jeho vstupy. Pravidlo založené na objemu, které využívá dnešní objem za dokončenou seanci, nemůže nenápadně obchodovat dříve během téže seance.
Kontinuální křivku zobrazte pro kontext. Pod ní zakreslete skutečně držené kontrakty a vyznačte každý přechod. Pokud křivka vlastního kapitálu při přechodu poskočí, nejdřív se podívám na ty 2 řádky příkazů.
← Všechny články


