Prejšnji mesec me je nekdo iz raziskovalne ekipe vprašal, zakaj naši opcijski agenti vztrajno zavračajo na videz povsem razumno zamisel o dolgi gammi. Signal je bil dober. Napoved volatilnosti je bila dobra. Težava sta bili dve polji v podatkovnem toku trga in ena številka, ki je v njem sploh ni.
Tukaj je torej dejanski objekt, o katerem smo se prepirali. Odgovor Deribitovega tickerja za BTC-25SEP26-110000-C, zajet ob 11:20 UTC nekega ponedeljka, ko je do izteka ostalo še osemnajst dni. Zastarela polja sem odstranil in ohranil vse, kar je pomembno.
{
"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: štiri dejstva, en niz
BTC-25SEP26-110000-C. Osnovni instrument BTC, datum izteka 25. september 2026, izvršilna cena 110,000, call. Niz ne pove še nečesa, kar vsak nov opcijski backtest vsaj enkrat razume napačno: preostalih podrobnosti pogodbe. Ena pogodba pomeni 1 BTC osnovnega instrumenta, premija je kotirana in plačana v BTC, iztek pa je ob 08:00 UTC, ne ob 16:00 po katerem koli lokalnem času.
Kotacija v BTC je tu ostra past. Mark 0.0041 pomeni 0.0041 BTC, kar pri indeksni ceni znaša približno $395. Če ta stolpec shranite kot ceno in ga pozneje združite s strategijskim P&L, izraženim v USD, ste neopazno ustvarili pozicijo, katere dolarska vrednost se spreminja skupaj s promptno ceno, čeprav se vrednost opcije ne. Videl sem backtest, v katerem je dolga call pozicija ustvarila dobiček na dan, ko je BTC padel, izključno zato, ker je raziskovalec premijo razumel kot dolarje in je bil v resnici kratek v premiji, denominirani v kovancih, z računovodskim okvirom v dolarjih. Za odkritje smo potrebovali dva dni.
index_price in underlying_price: razlika 568 dolarjev, pravilen pa je samo eden
Razlika med njima je $568.26, kar ni napaka. index_price je Deribitov BTC-indeks — referenčna promptna cena, sestavljena iz cen večjih borz, in vrednost, glede na katero se pogodba na koncu poravna. underlying_price je cena sintetičnega terminskega instrumenta za ta konkretni iztek, SYN.BTC-25SEP26, izpeljana iz terminskega trga za isti datum. Osemnajst dni prenosa pozicije pri približno 12% letni stopnji prinese teh $568.
Vse grške črke v podatkovnem paketu in mark IV so izračunani na podlagi terminske cene. Če implicitno volatilnost izračunate sami na podlagi promptne cene, ker ste slučajno naložili to časovno vrsto, boste za vsako izvršilno ceno dobili drugačno številko, napaka pa bo sistematično usmerjena: calli bodo glede na volatilnost videti cenejši, kot so, puti pa dražji. Pri pogodbi z 18-dnevnim rokom in 0.6% osnovo bi mark IV za to izvršilno ceno napačno ovrednotili za približno poldrugo točko. To je več kot večina robov v volatilnosti, okoli katerih ljudje snujejo strategije.
interest_rate: 0.0Deribit vam s tem sporoča, da diskontiranje izvede prek terminske cene in ne prek obrestne mere. Ne iščite netvegane krivulje, ki bi jo lahko uporabili; tako bi isto stvar upoštevali dvakrat.
mark_price in mark_iv: cena brez nasprotne stranke
0.0041 BTC. Tega ni nihče plačal. Deribit izračuna mark na podlagi prilagojene površine volatilnosti, vezane na knjigo naročil, a zglajene med izvršilnimi cenami in izteki, da se kritje in likvidacije ne spreminjajo sunkovito, ko se premakne ena sama široka kotacija. Mark se uporablja za vaše kritje in nerealizirani P&L ter se prikaže v vsakem končnem podatkovnem viru pozicij.
Zato je v raziskavah kripto opcij najbolj mamljiva in najbolj napačna cena za izvršitev. Backtest, ki kupuje po marku in prodaja po marku, trguje proti zglajevalnemu zleznemu polinomu. Izračunal bo Sharpe. Ta Sharpe opisuje prilagajanje površine in ne pove ničesar o tem, ali bi lahko dejansko sklenili posel.
Pravilo, ki smo ga na koncu vgradili: mark je namenjen kritju, tveganju in pripisu donosa od srednje do srednje cene. Nikoli ni cena za izvršitev. Če backtest potrebuje ceno izvršitve, za ta časovni žig pa ni posnetka knjige naročil, se zagon označi kot neovrednoten, namesto da bi se uporabil mark. Raje izgubimo vrstico.
best_bid 0.0038 / best_ask 0.0045: razpon v treh enotah
Sedem tikov razlike, izraženo v BTC. To je $67.50 pri opciji, vredni $395, oziroma 17% premije. Izraženo v volatilnosti je to 3.5 točke: povpraševanje 40.4 proti ponudbi 43.9. To je številka, ki vam jo bo dejansko navedel opcijski trgovec, če ga vprašate, kako širok je razpon.
Količine so enako pomembne kot cene: povpraševanje za 4.9 pogodbe, ponudba za 12.1. Količine pri Deribitovih opcijah so izražene v pogodbah, torej gre za 4.9 BTC osnovnega instrumenta oziroma približno $472k nominalne vrednosti — a le 0.47 BTC delte pri tej izvršilni ceni. Če vaša strategija potrebuje pomembno gammo, potrebuje več deset pogodb, vidna knjiga naročil na najboljši ceni pa ponuja le del tega. Druga raven je običajno še dva ali tri tike stran. Vsak opcijski backtest z modelom velikosti pozicije mora preiskati knjigo naročil ali predpostaviti ceno za RFQ oziroma blokovno trgovanje, ti predpostavki pa dajeta zelo različne rezultate.
last_price: 0.0043je posel, ki se je zgodil nekje v zadnjih 24 urah, morda pred devetnajstimi urami pri povsem drugačni promptni ceni. Instrument trguje z 61 pogodbami na dan, zato je posel po zasnovi zastarel. Iz njega ne sestavljajte časovne vrste donosov.
grške črke: pet številk, štiri konvencije enot
Ta sklop povzroči več tihe škode kot preostali podatkovni paket skupaj, ker je vsaka vrednost dimenzijsko pravilna, nobena pa ni izražena v enotah, ki bi jih pričakovali.
| Polje | Vrednost | Enote | Pogosta napačna razlaga |
|---|---|---|---|
| delta | 0.0962 | BTC osnovnega instrumenta na pogodbo | Razume se kot dolarska delta |
| gamma | 0.0000189 | Δdelta na $1 spremembe cene osnovnega instrumenta | Predpostavi se, da velja za premik za 1% |
| vega | 36.77 | USD na 1 točko volatilnosti | Predpostavi se, da velja za 100% volatilnosti ali da je izražen v BTC |
| theta | -42.91 | USD na koledarski dan | Predpostavi se, da velja za trgovalni dan |
| rho | 4.61 | USD na 1% obrestne mere | Pravilno prezrto |
Delta je izražena v kovancih, vega in theta v dolarjih, gamma pa na dolar spremembe promptne cene. Mešanje delte, denominirane v kovancih, z dolarskim agregatom tveganja je razlog, da je knjiga na videz nevtralna, v resnici pa imate dolgo pozicijo v 40 BTC. Theta na koledarski dan je past za vikend strategije: pozicija od petkovega zaprtja do ponedeljkovega odprtja nosi tri dni časovnega razkroja, tukaj približno $129 na pogodbo, čeprav vmes ni nobene trgovalne seje. Če backtest koraka po svečkah in theta obračuna za vsak korak, vikendi izginejo, vse strategije s kratko premijo pa se neopazno izkažejo za slabše, kot so v resnici.
open_interest 812.7, volume 61.2: kje se na verigi dejansko trguje
Odprta pozicija v višini osemsto pogodb pri izvršilni ceni, po kateri se je včeraj trgovalo z enašestdesetimi pogodbami. To je dejavna, likvidna izvršilna cena — 110,000 je okrogla številka tri tedne pred iztekom, natanko tam, kjer se skoncentrira tok naročil. Premaknite se dve izvršilni ceni navzven do 120,000 in odprta pozicija pade za red velikosti; pomaknite se do neokrogle izvršilne cene pri izteku, ki ni mesečni, in našli boste instrumente s povpraševanjem, ponudbo, ki je od njega oddaljena za štirideset odstotkov, ter brez poslov v enem tednu.
Backtest, ki zajame celotno verigo in iterira čez vsak kotirani instrument, vas bo brez težav izvršil pri vseh. Na koncu smo uporabili skupni pogoj: kotirani razpon pod 20% mark vrednosti, vsaj 1 pogodba na obeh straneh in nezanemarljiv promet v zadnjih 24 urah. Na običajen dan ta pogoj izpolnjuje približno tretjina kotirane BTC-verige. V preostalih dveh tretjinah se skriva lažni alfa donos.
Polje, ki ga v podatkovnem paketu ni
Nič v tem objektu vam ne pove, koliko stane posel. Deribit zaračuna 0.0003 BTC na opcijsko pogodbo, enako za maker in taker naročila — 0.03% osnovnega instrumenta, ne premije — z zgornjo mejo pri 12.5% cene opcije. Pri tej pogodbi znaša provizija $28.92 na stran pred omejitvijo, saj je 12.5% od 0.0041 enako 0.000513, pavšalna provizija pa je nižja.
Ker se provizija obračuna na nominalno vrednost, premija pa na podlagi volatilnosti, strošek kot delež plačanega zneska skokovito naraste, ko se pomikate iz denarja.
Kupite po ponudbi pri 0.0045 ($434), prodate po povpraševanju pri 0.0038 ($366) in dvakrat plačate provizijo: skupaj $125.80 za sklenitev in zaprtje pogodbe, označene z vrednostjo $395. Vaša napoved mora biti vredna 31% premije, da dosežete ničlo. Prav zato je bila zamisel o dolgi gammi zavrnjena, signal pa s tem ni imel nič opraviti.
Zanimiveje postane, če vprašate, koliko stane delta, saj so provizije sorazmerne s številom pogodb, število pogodb pa je obratno sorazmerno z delto. Za izračun predpostavimo, da je mark IV pri vseh izvršilnih cenah nespremenjen in znaša 42.1% (dejanska veriga ima asimetrijo, v kriptu pa se z calli na zunanjem robu običajno trguje nad ATM, zato je ta tabela optimistična):
| Instrument | Mark (BTC) | Delta | Pogodbe na 1 BTC delte | Provizija na stran | Strošek na BTC delte |
|---|---|---|---|---|---|
| 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 (omejeno) | $383 |
| BTC perp | — | 1.0 | 1.0 | $48.21 | $48.21 |
Omejitev pri 12.5% v spodnji vrstici dejansko opravi svoje; brez nje bi globoka zunanja cena stala $2,300 na BTC delte, strategije z loterijskim izplačilom pa bi bile računsko nemogoče, ne zgolj slabe. Tudi z omejitvijo je nakup izpostavljenosti prek izvršilne cene 120,000 približno osemkrat dražji kot pri perpetualu. Opcije niso poceni način izražanja smernega pogleda, vsak backtest, ki trdi nasprotno, pa je izpustil to tabelo.
08:00 UTC, 25. september
Zadnje, česar vam ticker ne pove, je, kako se pozicija konča. Deribit opcije poravna glede na 30-minutno povprečje indeksa pred 08:00 UTC na dan izteka in za pogodbe v denarju zaračuna strošek poravnave 0.00015 BTC, prav tako omejen na 12.5% vrednosti ob poravnavi.
Za backtest sta pomembni dve posledici. Prvič, povprečenje v tem časovnem oknu je resnično in pri njem se lahko zmotite: opcija, ki je ob 07:59 za $300 v denarju, se lahko poravna brez vrednosti, če je bila zadnja pol ure neugodna. Backtest, ki se poravna po vrednosti ob 08:00, se bo z vašim papirnim računom pri večini iztekov razlikoval za nekaj bazičnih točk, pri nekaterih pa za veliko. Drugič, strošek poravnave se zaračuna ne glede na to, ali ste poravnavo želeli, zato strategija, ki pozicijo drži do izteka, v enem ciklu plača tri provizije, strategija, ki jo zapre ob 07:30, pa dve proviziji in razpon. Katera je cenejša, je odvisno od izvršilne cene; meja je nekje pri premiji 0.0012 BTC. Strošek izračunamo za vsako pozicijo posebej, namesto da bi določili enotno pravilo.
Različica te objave, ki sem jo želel napisati, bi bila o napovedovanju volatilnosti. Namesto tega sem teden dni posvetil enotam in zgornjim mejam provizij, kar je približno pravo razmerje med glamurjem in resničnostjo pri raziskovanju opcij.
Dvajset polj. Dve ceni, ki se namenoma ne ujemata, ena cena, po kateri se ni nikoli trgovalo, grške črke v štirih sistemih enot in model stroškov, ki živi povsem zunaj podatkovnega paketa, na strani dokumentacije. Če postavljate opcijski backtest, prvi dan namenite pisanju ene same funkcije, ki enega od teh objektov pretvori v v celoti ovrednoteno pozicijo s pravilnimi enotami — z razponom, provizijo, omejitvijo, poravnavo ter razlikovanjem med kovanci in dolarji. Vsaka strategija, ki jo napišete zatem, bo podedovala predpostavke te funkcije.
← Vse objave


