Minulý měsíc se mě někdo z výzkumného týmu zeptal, proč naši opční agenti pořád odmítají na první pohled naprosto rozumný nápad na long gamma. Signál byl v pořádku. Prognóza volatility taky. Problémem byla dvě pole v datovém feedu a jedno číslo, které v něm vůbec není.
Tady je tedy ten konkrétní objekt, o kterém jsme se přeli. Odpověď tickeru Deribitu, BTC-25SEP26-110000-C, stažená v pondělí v 11:20 UTC, když do expirace zbývalo osmnáct dní. Zastaralá pole jsem vynechal a ponechal všechno podstatné.
{
"instrument_name": "BTC-25SEP26-110000-C",
"index_price": 96412.18,
"underlying_price": 96980.44,
"underlying_index": "SYN.BTC-25SEP26",
"estimated_delivery_price": 96412.18,
"mark_price": 0.0041,
"mark_iv": 42.14,
"best_bid_price": 0.0038, "best_bid_amount": 4.9,
"best_ask_price": 0.0045, "best_ask_amount": 12.1,
"bid_iv": 40.42, "ask_iv": 43.94,
"last_price": 0.0043,
"interest_rate": 0.0,
"open_interest": 812.7,
"greeks": {
"delta": 0.0962, "gamma": 0.0000189,
"vega": 36.77, "theta": -42.91, "rho": 4.61
},
"stats": { "volume": 61.2, "high": 0.0051, "low": 0.0036 }
}
instrument_name: čtyři fakta, jeden řetězec
BTC-25SEP26-110000-C. Podklad BTC, expirace 25. září 2026, strike 110,000, call. Řetězec neříká — a každý nový opční backtest to alespoň jednou pochopí špatně — zbytek specifikace kontraktu: jeden kontrakt představuje 1 BTC podkladového aktiva, prémie se kotuje a platí v BTC a expirace nastává v 08:00 UTC, nikoli v 16:00 místního času.
Právě kotace v BTC je zde hlavní háček. Mark 0.0041 znamená 0.0041 BTC, při aktuálním indexu zhruba $395. Pokud si tento sloupec uložíte jako cenu a později ho spojíte s P&L strategie vedeným v USD, potichu jste vytvořili pozici, jejíž dolarová hodnota se mění podle spotové ceny, i když se opce nezmění. Viděl jsem backtest, ve kterém long-call pozice vydělala v den, kdy BTC klesl, čistě proto, že byla prémie chybně interpretována jako dolarová částka a výzkumník ve skutečnosti držel short pozici v prémii denominované v minci, ale účtoval ji v dolarech. Trvalo nám dva dny, než jsme na to přišli.
index_price vs underlying_price: rozdíl 568 dolarů, ale správná je jen jedna cena
Liší se o $568.26, a není to chyba. index_price je BTC index Deribitu — referenční spotová cena, složená z cen na hlavních burzách, vůči které se kontrakt nakonec vypořádá. underlying_price je cena syntetického forwardu pro konkrétní expiraci, SYN.BTC-25SEP26, odvozená z futures trhu pro stejné datum. Osmnáct dní carry při zhruba 12% anualizaci vám dá těch $568.
Všechna řecká písmena v datech i mark IV se počítají z forwardu. Pokud si implikovanou volatilitu odvodíte sami ze spotové ceny, protože právě tu časovou řadu jste měli načtenou, dostanete pro každý strike jiné číslo a chyba bude systematicky vychýlená: cally budou z hlediska volatility vypadat levněji, než jsou, a puty dráž. U kontraktu s expirací za 18 dní a bází 0.6% byste na tomto striku chybně ocenili mark IV asi o 1.5 bodu. To je víc než většina volatilitních výhod, kolem kterých lidé staví strategie.
interest_rate: 0.0Tím vám Deribit říká, že diskontuje přes forward, nikoli přes úrokovou sazbu. Nehledejte bezrizikovou výnosovou křivku, kterou byste sem dosadili; započítali byste vliv dvakrát.
mark_price a mark_iv: cena bez protistrany
0.0041 BTC. Nikdo za ni nezaplatil. Deribit počítá mark z proložené plochy volatility, ukotvené v knize objednávek, ale vyhlazené napříč striky a expiracemi, aby marže a likvidace neskákaly při každém pohybu jediné široké kotace. Mark se používá pro marži i nerealizované P&L a objevuje se v každém endpointu pozice.
Proto jde o nejlákavější cenu plnění ve výzkumu krypto opcí — a zároveň nejméně správnou. Backtest, který nakupuje za mark a prodává za mark, obchoduje proti vyhlazovacímu spline. Vytvoří Sharpe. Ten Sharpe ale popisuje prokladač plochy a neříká nic o tom, zda jste skutečně mohli obchod uzavřít.
Nakonec jsme zakódovali toto pravidlo: mark slouží pro marži, řízení rizika a vyhodnocení pohybu od středu ke středu. Nikdy se nepoužívá jako cena plnění. Pokud backtest potřebuje cenu plnění a pro daný časový údaj nemáme snímek knihy objednávek, běh označíme jako neoceněný, místo abychom předstírali plnění za mark. Raději ten řádek ztratíme.
best_bid 0.0038 / best_ask 0.0045: spread ve třech jednotkách
Sedm ticků v BTC. To je $67.50 u opce za $395 neboli 17% prémie. Ve volatilitě jde o 3.5 bodu: bid 40.4 proti ask 43.9. Takové číslo vám opční obchodník skutečně uvede, když se zeptáte, jak široký je spread.
Na velikosti záleží stejně jako na cenách: na bidu je 4.9 kontraktů, na asku 12.1. Velikost opčních objednávek na Deribitu se udává v kontraktech, tedy 4.9 BTC podkladu, zhruba $472k nominálně — ale při tomto striku jen 0.47 BTC delty. Pokud vaše strategie potřebuje výraznou gammu, budete potřebovat desítky kontraktů, zatímco viditelná nabídka na nejlepší ceně představuje jen zlomek tohoto objemu. Druhá úroveň bývá obvykle další dva nebo tři ticky daleko. Každý opční backtest s modelem velikosti pozice musí projít knihou objednávek, nebo předpokládat RFQ či blokové ceny; tyto předpoklady vedou k velmi odlišným výsledkům.
last_price: 0.0043 jde o obchod uskutečněný někdy během posledních 24 hodin, možná před devatenácti hodinami při úplně jiné spotové ceně. U instrumentu, se kterým se obchoduje 61 kontraktů denně, je ze své podstaty zastaralý. Nestavte na něm výnosovou řadu.
řecká písmena: pět čísel, čtyři konvence jednotek
Tento blok napáchá víc skrytých škod než celý zbytek dat dohromady, protože každá hodnota je rozměrově správná a žádná není v jednotkách, které byste čekali.
| Pole | Hodnota | Jednotky | Častá chybná interpretace |
|---|---|---|---|
| delta | 0.0962 | BTC podkladového aktiva na kontrakt | Považována za dolarovou deltu |
| gamma | 0.0000189 | Δdelta na změnu podkladu o $1 | Považována za hodnotu na pohyb o 1% |
| vega | 36.77 | USD na 1 bod volatility | Považována za hodnotu na 100% volatility nebo za BTC |
| theta | -42.91 | USD za kalendářní den | Považována za hodnotu za obchodní den |
| rho | 4.61 | USD na 1% změnu sazby | Správně ignorováno |
Delta je v mincích, vega a theta v dolarech a gamma se vztahuje na dolar změny spotové ceny. Smíchání delty denominované v mincích s dolarovým souhrnem rizika je způsob, jak z knihy, která vypadá neutrálně, udělat pozici long 40 BTC. A theta počítaná za kalendářní den škodí víkendovým strategiím: od pátečního závěru do pondělního otevření uběhnou tři dny časového rozpadu, tady asi $129 na kontrakt, a přitom žádná obchodní seance. Pokud backtest postupuje po barech a aplikuje thetu za každý krok, víkendy zmizí a každá strategie s krátkou prémií bude potichu vycházet hůř, než by měla.
open_interest 812.7, volume 61.2: kde se na řetězci skutečně obchoduje
Otevřený zájem 812.7 kontraktů na striku, se kterým se včera obchodovalo 61.2 kontraktu. Je to skutečně aktivní strike — 110,000 je kulaté číslo tři týdny před expirací, přesně tam, kde se soustřeďuje tok objednávek. Posuňte se o dva striky dál na 120,000 a otevřený zájem klesne o řád; přejděte na nekulatý strike s ne-měsíční expirací a najdete instrumenty s bidem, askem o 40% výš a bez jediného obchodu za celý týden.
Backtest celého řetězce, který prochází každý vypsaný instrument, vám ochotně nasimuluje plnění na všech. Nakonec jsme zavedli kombinovanou podmínku: kotovaný spread pod 20% marku, alespoň 1 kontrakt na obou stranách a nenulový objem za předchozích 24 hodin. Za typický den tímto filtrem projde zhruba třetina vypsaného BTC řetězce. Zbývající dvě třetiny jsou místem, kde žije falešná alfa.
Pole, které v datech chybí
Z tohoto objektu se nedozvíte, kolik obchod stojí. Deribit účtuje 0.0003 BTC za opční kontrakt, stejně pro maker i taker — 0.03% podkladového aktiva, nikoli prémie — nejvýše však 12.5% ceny opce. U tohoto kontraktu je to $28.92 za jednu stranu, bez uplatnění stropu, protože 12.5% z 0.0041 je 0.000513 a paušální poplatek je nižší.
Poplatek z nominální hodnoty a prémie závislá na volatilitě znamenají, že náklady jako podíl zaplacené částky prudce rostou, když se vzdalujete od peněz.
Nakoupíte za ask 0.0045 ($434), prodáte za bid 0.0038 ($366) a dvakrát zaplatíte poplatek: celkem $125.80 za celý obchod s kontraktem oceněným markem na $395. Než se dostanete na nulu, musí mít váš názor hodnotu 31% prémie. Právě proto byl nápad na long gamma odmítnut, a se signálem to nemělo nic společného.
Zajímavější je zjistit, kolik stojí delta, protože poplatky se počítají podle počtu kontraktů a počet kontraktů se mění nepřímo úměrně deltě. Pro výpočet předpokládáme konstantní mark IV 42.1% napříč striky (skutečný řetězec má skew a v kryptu se call křídlo obvykle obchoduje nad úrovní ATM, takže tabulka je optimistická):
| Instrument | Mark (BTC) | Delta | Kontrakty na 1 BTC delty | Poplatek za stranu | Náklad na BTC delty |
|---|---|---|---|---|---|
| 97000-C (ATM) | 0.0373 | 0.518 | 1.93 | $28.92 | $55.80 |
| 110000-C | 0.0041 | 0.096 | 10.4 | $28.92 | $301 |
| 120000-C | 0.0004 | 0.013 | 79.4 | $4.82 (se stropem) | $383 |
| BTC perp | — | 1.0 | 1.0 | $48.21 | $48.21 |
Strop 12.5% v posledním řádku odvádí skutečnou práci; bez něj by hluboko OTM křídlo stálo $2,300 na BTC delty a loterijní strategie by byly aritmeticky nemožné, nejen nevýhodné. I se stropem stojí nákup expozice přes strike 120,000 zhruba osmkrát víc než perpetual. Opce nejsou levný způsob, jak vyjádřit názor na směr trhu, a každý backtest, který tvrdí opak, tuto tabulku vynechal.
08:00 UTC, 25. září
Poslední věc, kterou vám ticker neřekne, je způsob ukončení pozice. Deribit vypořádává opce podle 30minutového průměru indexu před 08:00 UTC v den expirace a za kontrakty v penězích účtuje poplatek za dodání 0.00015 BTC, také se stropem 12.5% vypořádací hodnoty.
Pro backtest z toho plynou dva důsledky. Zaprvé, průměrovací okno je skutečné a můžete ho odhadnout špatně: opce, která je v 07:59 $300 v penězích, může při nepříznivém posledním půlhodinovém pohybu vypršet bezcenná. Backtest vypořádávající podle ceny v 08:00 se bude na většině expirací lišit od vašeho demo účtu o pár bazických bodů a u několika expirací výrazně. Zadruhé, poplatek za dodání se platí bez ohledu na to, zda jste o vypořádání stáli. Strategie držená do expirace tak v jednom cyklu zaplatí tři poplatky, zatímco strategie uzavřená v 07:30 zaplatí dva poplatky a spread. Co vyjde levněji, záleží na striku; hranice se pohybuje kolem prémie 0.0012 BTC. Počítáme to pro každou pozici zvlášť, místo abychom zvolili jedno univerzální pravidlo.
Původně jsem chtěl napsat příspěvek o prognózování volatility. Místo toho jsem týden řešil jednotky a stropy poplatků, což zhruba odpovídá správnému poměru lesku a reality ve výzkumu opcí.
Dvacet polí. Dvě ceny, které se záměrně liší, jedna cena, za kterou se nikdy neobchodovalo, řecká písmena ve čtyřech soustavách jednotek a model nákladů ukrytý celý mimo data na stránce dokumentace. Pokud stavíte opční backtest, věnujte první den napsání jediné funkce, která z jednoho takového objektu vytvoří pozici se správně započítanými náklady a jednotkami — spread, poplatek, strop, dodání, mince versus dolary. Každá strategie, kterou napíšete později, zdědí předpoklady této funkce.
← Všechny články

