Bulan lalu, seseorang daripada pasukan penyelidikan bertanya kepada saya mengapa ejen opsyen kami asyik menolak idea long-gamma yang nampak munasabah. Isyaratnya baik. Ramalan volnya baik. Masalahnya ialah dua medan dalam suapan data pasaran dan satu angka yang langsung tiada dalam suapan itu.
Jadi, inilah objek sebenar yang menjadi perbahasan kami. Respons ticker Deribit, BTC-25SEP26-110000-C, diambil pada 11:20 UTC pada hari Isnin ketika kontrak berbaki lapan belas hari. Saya telah membuang medan yang sudah lapuk dan mengekalkan semua yang penting.
{
"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: empat fakta, satu rentetan
BTC-25SEP26-110000-C. BTC sebagai aset asas, tamat tempoh pada 25 September 2026, strike 110,000, call. Perkara yang tidak dinyatakan oleh rentetan ini, dan yang sekurang-kurangnya sekali pasti tersilap dalam setiap backtest opsyen baharu, ialah spesifikasi kontrak selebihnya: satu kontrak bersamaan 1 BTC aset asas, premium disebut harga dan dibayar dalam BTC, dan tamat tempoh pada 08:00 UTC, bukannya 16:00 waktu tempatan mana-mana tempat.
Disebut harga dalam BTC ialah perkara yang mudah memerangkap anda. Harga tanda 0.0041 bermaksud 0.0041 BTC, kira-kira $395 pada indeks. Jika anda menyimpan lajur itu sebagai harga lalu mencantumkannya kemudian dengan P&L strategi dalam USD, tanpa sedar anda telah membina posisi yang nilai dolarnya bergerak mengikut harga spot walaupun opsyen itu tidak berubah. Saya pernah melihat backtest yang menunjukkan kaki long-call mendapat untung pada hari BTC jatuh, semata-mata kerana premium dalam BTC dianggap sebagai dolar dan penyelidik itu sebenarnya short premium berdenominasi syiling dalam kerangka perakaunan dolar. Kami mengambil masa dua hari untuk menemuinya.
index_price berbanding underlying_price: beza $568, tetapi hanya satu yang tepat
Kedua-duanya berbeza sebanyak $568.26 dan itu bukan ralat. index_price ialah indeks BTC Deribit — rujukan spot, gabungan beberapa bursa utama dan nilai yang menjadi asas penyelesaian akhir kontrak. underlying_price ialah harga forward sintetik untuk tempoh tamat kontrak itu, SYN.BTC-25SEP26, yang diperoleh daripada pasaran niaga hadapan bagi tarikh sama. Carry selama lapan belas hari pada kadar tahunan kira-kira 12% menghasilkan beza $568 itu.
Setiap Greek dalam payload, termasuk mark IV, dikira berdasarkan forward. Jika anda mengira semula volatiliti tersirat sendiri menggunakan spot kerana itulah siri yang kebetulan anda muatkan, anda akan mendapat angka berbeza bagi setiap strike, dan ralatnya cenderung ke arah tertentu: call nampak lebih murah dari segi vol berbanding harga sebenarnya, manakala put nampak lebih mahal. Bagi kontrak 18 hari dengan asas 0.6%, anda akan tersilap mengira mark IV kira-kira satu setengah mata pada strike ini. Itu lebih besar daripada kebanyakan kelebihan vol yang menjadi asas strategi orang ramai.
interest_rate: 0.0 bermaksud Deribit memberitahu anda bahawa diskaun dibuat melalui forward, bukannya kadar faedah. Jangan cari keluk kadar bebas risiko untuk digunakan; anda akan mengiranya dua kali.
mark_price dan mark_iv: harga tanpa pihak lawan
0.0041 BTC. Tiada sesiapa membayar harga itu. Deribit mengira mark daripada permukaan vol terlaras, berpandukan buku pesanan tetapi dilicinkan merentas strike dan tarikh luput supaya margin dan pembubaran tidak berubah mendadak apabila satu sebut harga yang luas bergerak. Mark digunakan untuk margin anda, P&L belum direalisasi anda dan setiap endpoint posisi.
Sebab itulah ia harga isian yang paling menggoda dalam penyelidikan opsyen kripto, dan paling tidak tepat. Backtest yang membeli pada mark dan menjual pada mark sebenarnya berdagang dengan spline pelicinan. Ia akan menghasilkan Sharpe. Nilai Sharpe itu menggambarkan pemadan permukaan tersebut dan langsung tidak memberitahu sama ada anda boleh membuat transaksi.
Peraturan yang akhirnya kami masukkan ke dalam kod: mark digunakan untuk margin, risiko dan atribusi mid-to-mid. Ia tidak sekali-kali digunakan sebagai harga isian. Jika backtest memerlukan harga isian dan tiada snapshot buku pesanan untuk cap masa itu, larian ditandakan sebagai tidak berharga dan bukannya diisi pada mark. Kami lebih rela kehilangan baris itu.
best_bid 0.0038 / best_ask 0.0045: spread dalam tiga unit
Lebar tujuh tick dari segi BTC. Itu bersamaan $67.50 untuk opsyen berharga $395, atau 17% daripada premium. Dari segi vol, spreadnya 3.5 mata, 40.4 bid berbanding 43.9 ask — angka yang akan disebut oleh pedagang opsyen apabila anda bertanya selebar mana spread sesuatu instrumen.
Saiz sama pentingnya dengan harga: 4.9 kontrak pada bid, 12.1 pada ask. Saiz opsyen Deribit dikira dalam kontrak, jadi 4.9 BTC aset asas, kira-kira $472k nilai nosional — tetapi hanya 0.47 BTC delta pada strike ini. Jika strategi anda memerlukan gamma yang ketara, anda perlukan puluhan kontrak, sedangkan saiz yang kelihatan pada harga terbaik cuma sebahagian kecil daripadanya. Aras kedua biasanya dua atau tiga tick lagi jauhnya. Mana-mana backtest opsyen yang memodelkan saiz perlu melaksanakan pesanan mengikut buku atau mengandaikan harga RFQ/blok, dan kedua-dua andaian itu menghasilkan jawapan yang sangat berbeza.
last_price: 0.0043 ialah dagangan yang berlaku pada suatu masa dalam 24 jam terakhir, mungkin sembilan belas jam lalu ketika harga spot sangat berbeza. Pada instrumen yang didagangkan sebanyak 61 kontrak sehari, data itu sememangnya lapuk. Jangan bina siri pulangan daripadanya.
Greeks: lima angka, empat konvensyen unit
Blok ini menyebabkan lebih banyak kerosakan senyap berbanding seluruh payload yang lain, kerana setiap nilainya betul dari segi dimensi tetapi tiada satu pun menggunakan unit yang anda jangkakan.
| Medan | Nilai | Unit | Salah tafsir lazim |
|---|---|---|---|
| delta | 0.0962 | BTC aset asas bagi setiap kontrak | Dianggap sebagai delta dolar |
| gamma | 0.0000189 | Δdelta bagi setiap pergerakan $1 pada aset asas | Dianggap bagi setiap pergerakan 1% |
| vega | 36.77 | USD bagi setiap 1 mata vol | Dianggap bagi setiap vol 100%, atau dalam BTC |
| theta | -42.91 | USD bagi setiap hari kalendar | Dianggap bagi setiap hari dagangan |
| rho | 4.61 | USD bagi setiap kadar 1% | Diabaikan, dengan betul |
Delta dalam syiling, vega dan theta dalam dolar, gamma bagi setiap dolar pergerakan spot. Mencampurkan delta berdenominasi syiling ke dalam agregat risiko berdenominasi dolar boleh membuatkan buku yang nampak neutral rupa-rupanya long 40 BTC. Theta yang dikira bagi setiap hari kalendar pula memerangkap strategi hujung minggu: posisi dari penutupan Jumaat hingga pembukaan Isnin menanggung susut nilai tiga hari, kira-kira $129 bagi setiap kontrak di sini, walaupun tiada sesi dagangan. Jika backtest anda bergerak mengikut bar dan mengenakan theta bagi setiap langkah, hujung minggu hilang daripada kiraan dan setiap strategi premium short nampak diam-diam lebih buruk daripada keadaan sebenar.
open_interest 812.7, volume 61.2: keadaan sebenar rantaian opsyen
Lapan ratus kontrak open interest pada strike yang didagangkan sebanyak enam puluh satu kontrak semalam. Ini strike yang aktif dan benar-benar didagangkan — 110,000 ialah angka bulat dengan baki tiga minggu, tepat di tempat aliran tertumpu. Bergerak dua strike lagi ke 120,000 dan open interest merosot sepuluh kali ganda; pergi ke strike bukan bulat pada tarikh luput bukan bulanan, anda akan menemui instrumen dengan bid, ask berjarak empat puluh peratus dan tiada dagangan selama seminggu.
Backtest seluruh rantaian yang mengulang setiap instrumen tersenarai akan mengisi pesanan anda pada semuanya tanpa masalah. Kami akhirnya menggunakan syarat gabungan sebagai penapis: spread sebut harga di bawah 20% mark, sekurang-kurangnya 1 kontrak pada kedua-dua belah, dan volum bukan sifar dalam 24 jam sebelumnya. Pada hari biasa, kira-kira satu pertiga daripada rantaian BTC tersenarai melepasi penapis ini. Alpha palsu bersembunyi dalam baki dua pertiga.
Medan yang tiada dalam payload
Tiada apa-apa dalam objek ini yang memberitahu kos dagangan. Deribit mengenakan 0.0003 BTC bagi setiap kontrak opsyen, sama ada maker atau taker — 0.03% daripada aset asas, bukannya premium — dengan had 12.5% daripada harga opsyen. Bagi kontrak ini, jumlahnya $28.92 setiap sisi sebelum had dikenakan, kerana 12.5% daripada 0.0041 ialah 0.000513 dan yuran tetap itu lebih kecil.
Yuran dikira daripada nilai nosional, manakala premium bergantung pada vol; akibatnya, kos sebagai bahagian daripada jumlah yang anda bayar meningkat mendadak apabila strike semakin jauh out of the money.
Beli pada ask 0.0045 ($434), jual pada bid 0.0038 ($366), bayar yuran dua kali: $125.80 untuk satu pusingan bagi kontrak yang ditandakan pada $395. Pandangan anda perlu bernilai 31% daripada premium sebelum anda pulang modal. Itulah sebab keseluruhan idea long-gamma itu ditolak, dan isyaratnya langsung tiada kaitan.
Lebih menarik lagi jika kita tanya kos bagi setiap delta, memandangkan yuran berubah mengikut bilangan kontrak dan bilangan kontrak berubah secara songsang dengan delta. Untuk pengiraan ini, mark IV dikekalkan rata pada 42.1% merentas strike (rantaian sebenar mempunyai skew, dan dalam kripto wing call biasanya didagangkan di atas ATM, jadi jadual ini memberikan anggaran yang optimistik):
| Instrumen | Mark (BTC) | Delta | Kontrak bagi setiap 1 BTC delta | Yuran/sisi | Kos bagi setiap BTC delta |
|---|---|---|---|---|---|
| 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 (dihadkan) | $383 |
| BTC perp | — | 1.0 | 1.0 | $48.21 | $48.21 |
Had 12.5% itu memberi kesan ketara pada baris terbawah; tanpa had tersebut, wing jauh akan menelan kos $2,300 bagi setiap BTC delta dan strategi tiket loteri mustahil dari segi matematik, bukannya sekadar tidak berbaloi. Walaupun dengan had itu, mendapatkan pendedahan melalui strike 120,000 menelan kos kira-kira lapan kali ganda caj perpetual. Opsyen bukan cara murah untuk mengambil posisi arah, dan mana-mana backtest yang mengatakan sebaliknya tidak memasukkan jadual ini.
08:00 UTC, 25 September
Perkara terakhir yang tidak diberitahu ticker ialah bagaimana posisi itu berakhir. Deribit menyelesaikan opsyen berdasarkan purata indeks selama 30 minit menjelang 08:00 UTC pada hari tamat tempoh, dan mengenakan yuran penyerahan 0.00015 BTC bagi kontrak in-the-money, juga dihadkan kepada 12.5% daripada nilai penyelesaian.
Dua kesannya terhadap backtest. Pertama, tempoh purata itu benar-benar penting dan anda boleh tersilap mengiranya: opsyen yang berada $300 in the money pada 07:59 boleh tamat tanpa nilai jika pergerakan setengah jam terakhir buruk, dan backtest yang menyelesaikan opsyen berdasarkan harga pada 08:00 akan berbeza beberapa mata asas daripada akaun simulasi anda bagi kebanyakan tarikh luput, serta jauh lebih berbeza bagi beberapa tarikh. Kedua, yuran penyerahan dikenakan sama ada anda mahukan penyelesaian itu atau tidak; jadi strategi yang memegang posisi hingga tamat tempoh membayar tiga yuran setiap kitaran, manakala strategi yang menutup posisi pada 07:30 membayar dua yuran serta spread. Mana yang lebih murah bergantung pada strike, dan titik peralihannya sekitar premium 0.0012 BTC. Kami mengiranya bagi setiap posisi dan bukannya menetapkan satu peraturan umum.
Versi tulisan ini yang saya mahu hasilkan sebenarnya tentang ramalan vol. Sebaliknya, saya menghabiskan seminggu mengurus unit dan had yuran — kira-kira begitulah nisbah daya tarikan dengan realiti yang sepatutnya dalam penyelidikan opsyen.
Dua puluh medan. Dua harga yang berbeza secara sengaja, satu harga yang tidak pernah didagangkan, Greeks dalam empat sistem unit, dan model kos yang langsung tiada dalam payload, sebaliknya tersembunyi pada halaman dokumentasi. Jika anda sedang membina backtest opsyen, luangkan hari pertama untuk menulis satu fungsi yang menukar salah satu objek ini menjadi posisi yang menggunakan denominasi betul dan mengambil kira semua kos — spread, yuran, had, penyerahan, syiling berbanding dolar. Setiap strategi yang anda tulis selepas itu mewarisi andaian fungsi tersebut.
← Semua catatan


