Harga Kontrak Acara sebagai Kebarangkalian
Kontrak acara membayar $1 atau $0, jadi harganya mencerminkan kebarangkalian. Ketahui sebab Yes dan No berharga lebih $1 serta cara mengasingkan spread.
Harga kontrak acara mencerminkan kebarangkalian dengan spread yang mengelilinginya. Kontrak itu membayar $1.00 jika hasil yang dinyatakan berlaku dan $0.00 jika tidak berlaku. Bayaran tetap itu yang menjadikan pengiraan tersebut berfungsi: 30 sen bagi kontrak yang membayar satu dolar bermaksud pasaran menganggarkan kebarangkalian kira-kira 30%. Untuk membaca angka itu dengan tepat, buat satu pelarasan bagi spread dan satu lagi bagi mekanisme penyelesaian di sebalik kontrak tersebut.
Apakah yang dinyatakan oleh harga kontrak peristiwa tentang kebarangkalian
Segala-galanya berpunca daripada pembayaran. Beli kontrak Yes pada harga p dan anda menerima $1.00 jika hasilnya diselesaikan sebagai Yes, dan tiada apa-apa jika diselesaikan sebagai No. Selepas banyak ulangan, purata pembayaran ialah kebarangkalian sebenar bagi Yes. Jika anda membayar tepat pada kadar kebarangkalian itu, anda pulang modal. Harga yang dibayar ialah kebarangkalian pulang modal, sebab itu satu angka berfungsi sebagai kedua-duanya.
Empat istilah, ditakrifkan sekali:
- Kontrak Yes: membayar $1.00 jika hasil berlaku, dan $0.00 jika tidak.
- Kontrak No: membayar $1.00 jika hasil tidak berlaku. Yes dan No ialah dua sisi bagi satu syiling.
- Penyelesaian: saat kontrak diselesaikan dan satu pihak menerima bayaran dolar tersebut.
- Sumber penyelesaian: laporan atau suapan yang dinamakan sebagai asas penyelesaian kontrak. Bayaran dibuat berdasarkan perkara yang dinyatakan oleh sumber itu, bukan berdasarkan perkara yang sebenarnya berlaku.
Sebutharga kontrak peristiwa bukan sebahagian daripada set data yang digunakan di sebalik halaman ini. Setiap panel di bawah mengukur pengiraan aritmetik yang sama apabila ia boleh diukur secara langsung, iaitu dalam opsyen ekuiti AS tersenarai. Delta call option bergerak antara 0 hingga 1 dan menganggar kebarangkalian pasaran bahawa kontrak tamat dalam keadaan menguntungkan, iaitu soalan binari yang sama seperti yang ditanya oleh kontrak peristiwa: berada di atas paras pada tarikh penyelesaian, atau tidak. Delta ialah anggaran kebarangkalian dan bersifat neutral risiko, bukannya ramalan. Kedua-dua had ini dapat dilihat dalam panel-panel tersebut. Panduan delta opsyen menerangkan ukuran itu sendiri.
Mengapa Yes dan No berjumlah lebih daripada $1?
Yes dan No yang sepadan meliputi keseluruhan ruang hasil, dan tepat satu daripadanya akan membayar. Dalam rantaian opsyen, pasangan yang sama ialah call dan put pada satu strike serta satu tarikh luput: call tamat in the money di atas strike, manakala put tamat in the money di bawahnya. Jumlah kebarangkalian kedua-duanya mestilah 100%. Berikut ialah pasangan itu merentas satu rantaian SPY pada satu hari, dikelompokkan dalam jalur 2% di sekitar harga spot.
SQL tepat di sebalik setiap nombor
WITH chain AS (
SELECT strike_price,
toFloat64(any(underlying_close)) AS spot,
avgIf(delta, delta > 0) AS call_delta,
avgIf(-delta, delta < 0) AS put_delta_abs,
countIf(delta > 0) AS calls,
countIf(delta < 0) AS puts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date = toDate('2026-06-30')
AND expiration_date = toDate('2026-07-31')
AND iv_converged = 1
AND volume > 0
GROUP BY strike_price
HAVING calls > 0 AND puts > 0
),
banded AS (
SELECT toInt32(round(100 * (toFloat64(strike_price) / spot - 1) / 2) * 2) AS band,
call_delta,
put_delta_abs
FROM chain
)
SELECT concat(if(band > 0, '+', ''), toString(band), '% vs spot') AS strike_vs_spot,
round(100 * avg(call_delta), 1) AS yes_prob_pct,
round(100 * avg(put_delta_abs), 1) AS no_prob_pct,
round(100 * avg(call_delta + put_delta_abs), 1) AS pair_total_pct,
count() AS strikes
FROM banded
WHERE abs(band) <= 8
GROUP BY band
ORDER BY bandPada -8% vs spot, bahagian call menunjukkan 91.6% manakala bahagian put menunjukkan 7.8%, dengan jumlah pasangan sebanyak 99.5%. Di hujung tangga yang satu lagi, +6% vs spot, kedua-duanya menunjukkan 3.6% dan 82.5%, dengan jumlah 86.2%. Kesemua 8 jalur berada dalam lingkungan pembundaran 100%. Garis mendatar merentas carta itu ialah kekangan yang terpakai kepada setiap pasaran binari. Kedudukan agregat pada kedua-dua bahagian inilah yang dikira oleh nisbah put call.
Nilai model berfungsi seperti sepatutnya. Sebut harga tidak semestinya begitu. Katakan sesuatu kontrak mempunyai bid 62 dan ask 66, manakala bahagian No mempunyai bid 36 dan ask 40. Jika anda membeli Yes pada 66 dan No pada 40, anda telah membayar $1.06 untuk kedudukan yang dijamin menghasilkan $1.00. Jika anda menjual kedua-duanya pada harga bid, anda menerima 98 sen berbanding liabiliti $1.00. Jurang 6 sen antara kedua-dua ask itu ialah overround, iaitu jumlah yang disebut oleh pedagang sukan sebagai vig. Jumlah itu ialah bayaran kepada venue dan market maker kerana menyediakan kecairan tersebut. Halaman bid ask spread menerangkan sebab jurang itu wujud.
Pengiraan de-vig, langkah demi langkah
Dua harga yang disebut dimasukkan. Dua kebarangkalian saksama yang jumlahnya satu diperoleh.
- Ambil harga pertengahan bagi setiap sisi. Harga pertengahan Ya ialah 64 sen, manakala harga pertengahan Tidak ialah 38 sen.
- Jumlahkan kedua-duanya. Jumlah keseluruhan buku ialah 102 sen.
- Bahagikan setiap harga pertengahan dengan jumlah tersebut. 64 / 102 ialah 62.7%. 38 / 102 ialah 37.3%.
- Semak jumlahnya. Kedua-duanya kini berjumlah 100%.
Penskalaan semula itulah maksud de-vig, dan kaedahnya sama seperti normalisasi yang digunakan oleh petaruh terhadap odds perpuluhan.
Sekarang gunakan kaedah itu pada pasaran yang spreadnya lebih kecil. Kontrak yang sama disebut pada 63 bid dan 64 ask, manakala Tidak berada pada 36 bid dan 37 ask. Harga pertengahan ialah 63.5 dan 36.5, jumlah keseluruhan buku tepat 100 sen, dan kebarangkalian selepas de-vig ialah 63.5%. Kedua-dua jawapan itu, iaitu 62.7% berdasarkan pasaran dengan spread besar dan 63.5% berdasarkan pasaran dengan spread kecil, berbeza kurang daripada satu mata peratusan. Namun, julat munasabah di sekelilingnya tidak sama. Sebarang kebarangkalian antara bid 62 sen dan ask 66 sen selaras dengan sebut harga yang spreadnya besar. Oleh itu, pasaran dengan spread 4 sen hanya menetapkan odds dalam lingkungan kira-kira 4 mata peratusan, tidak lebih daripada itu. Menulis “62.7%” berdasarkan pasaran dengan spread 4 sen memberikan tiga digit ketepatan yang sebenarnya tidak terkandung dalam pasaran tersebut. Lebar spread menentukan tahap ketepatan.
Adakah harga 30% bermakna perkara itu berlaku 30% daripada masa?
Kalibrasi ialah ujiannya: kumpulkan semua kontrak yang harga pasarannya hampir 30%, kemudian hitung kekerapan perkara itu berlaku. Semua kontrak call SPY yang direkodkan sejak Januari 2022, diambil kira-kira 30 hari sebelum tamat tempoh, disusun mengikut kelompok kebarangkalian tersirat dan dibandingkan dengan sama ada SPY ditutup melebihi harga strike tersebut pada tarikh tamat tempoh.
SQL tepat di sebalik setiap nombor
WITH px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2022-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
),
snap AS (
SELECT ticker AS contract,
argMin(delta, abs(days_to_expiry - 30)) AS implied_prob,
toFloat64(any(strike_price)) AS strike,
any(expiration_date) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2022-01-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 25 AND 35
AND iv_converged = 1
AND volume > 0
AND delta > 0.02
AND delta < 0.98
GROUP BY contract
)
SELECT multiIf(implied_prob < 0.10, '2-10%',
implied_prob < 0.20, '10-20%',
implied_prob < 0.30, '20-30%',
implied_prob < 0.40, '30-40%',
implied_prob < 0.50, '40-50%',
implied_prob < 0.60, '50-60%',
implied_prob < 0.70, '60-70%',
implied_prob < 0.80, '70-80%',
implied_prob < 0.90, '80-90%',
'90-98%') AS implied_bucket,
count() AS contracts,
round(100 * avg(implied_prob), 1) AS implied_prob_pct,
round(100 * avg(close_px > strike), 1) AS finished_above_pct
FROM snap
INNER JOIN px ON px.session = snap.expiry
GROUP BY implied_bucket
ORDER BY implied_prob_pctLajur tersirat meningkat sepanjang susunan itu mengikut pembinaan. Lajur terealisasi ialah bahagian yang tidak diketahui oleh sesiapa terlebih dahulu. Pada bahagian bawah, kelompok 2-10% mencatat purata tersirat 4.7% merentas 4276 kontrak dan berakhir melebihi harga strike masing-masing sebanyak 4.9% daripada masa. Pada bahagian atas, 90-98% mencatat purata 94.3% dan berakhir melebihi harga strike sebanyak 97.8%. Bahagian terealisasi di bahagian bawah susunan jauh lebih rendah daripada bahagian terealisasi di bahagian atas. Itulah gambaran kalibrasi apabila hubungan itu secara kasar bertahan.
Dua peringatan penting terpakai pada mana-mana jadual seperti ini. Tempoh pemerhatian penting: sampel yang kebanyakannya meliputi tempoh kenaikan harga akan meningkatkan lajur terealisasi bagi setiap kelompok call, manakala tempoh yang berbeza akan mengubah ukuran yang sama. Delta pula menunjukkan kebarangkalian yang menjadikan penetapan harga itu konsisten secara dalaman, bukan kebarangkalian yang dipercayai oleh mana-mana peramal. Rantaian yang sama menetapkan harga bagi keseluruhan taburan, bukan satu ambang sahaja (pergerakan yang dijangka).
Jika dihadkan kepada kontrak yang dianggap pasaran seperti lambungan syiling, iaitu hampir 50 sen bagi setiap dolar, merentas enam nama yang dikenali ramai:
SQL tepat di sebalik setiap nombor
WITH px AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'XOM')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2023-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, session
),
snap AS (
SELECT underlying_symbol AS symbol,
ticker AS contract,
argMin(delta, abs(days_to_expiry - 30)) AS implied_prob,
toFloat64(any(strike_price)) AS strike,
any(expiration_date) AS expiry
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'XOM')
AND date >= toDate('2023-01-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 25 AND 35
AND iv_converged = 1
AND volume > 0
AND delta BETWEEN 0.40 AND 0.60
GROUP BY symbol, contract
)
SELECT snap.symbol AS symbol,
count() AS contracts,
round(100 * avg(implied_prob), 1) AS implied_prob_pct,
round(100 * avg(close_px > strike), 1) AS finished_above_pct
FROM snap
INNER JOIN px ON px.ticker = snap.symbol AND px.session = snap.expiry
GROUP BY symbol
ORDER BY finished_above_pct DESCKebarangkalian tersirat berada hampir 50% dalam setiap baris mengikut pembinaan. Lajur terealisasi pula tersebar: SPY berakhir melebihi harga strike sebanyak 68.4% daripada masa merentas 4785 kontrak, berbanding 49.9% bagi XOM. 6 nama, satu kebarangkalian tersirat yang sama dan julat hasil sebenar yang luas. Harga hampir 50 sen menggambarkan kebarangkalian pasaran. Namun, setiap kontrak secara individu tetap diselesaikan pada $1.00 atau $0.00.
Apakah titik pulang modal bagi kontrak bernilai $0.70?
Kontrak yang dibeli pada harga 70 sen membayar $1.00 jika Yes dan tiada bayaran jika No. Keuntungan ialah 30 sen, kerugian ialah 70 sen, dan kebarangkalian pulang modal tepat sama dengan harga kontrak. Pada kebarangkalian sebenar 70%, kedudukan itu ibarat lambungan syiling, tetapi dengan langkah tambahan. Di atas 70%, pengiraan memihak kepada pembeli. Di bawah paras itu, pengiraan memihak kepadanya. Semua ini belum mengambil kira kos.
Kos mengubah paras itu secara tidak seimbang. Jika kos pergi balik sebanyak satu sen ditambah kepada kontrak bernilai 70 sen, titik pulang modal berubah daripada 70% kepada kira-kira 71%. Perubahan itu kecil berbanding saiz kedudukan. Jika sen yang sama ditambah kepada kontrak bernilai 5 sen, titik pulang modal meningkat daripada 5% kepada 6%. Ini menghapuskan satu perlima daripada kelebihan teori. Yuran tetap paling menjejaskan pertaruhan jangka panjang yang paling murah kerana yuran itu membentuk bahagian terbesar daripada harga yang dibayar. Jenis pesanan memberi kesan yang sama. Melangkaui spread bermakna membayar harga ask penuh. Sebaliknya, pesanan limit yang dibiarkan menunggu berada pada harga yang anda tetapkan dan mungkin tidak pernah dilaksanakan (pesanan market berbanding pesanan limit).
Mengapa hasil yang hampir pasti didagangkan pada harga $0.97?
Hasil yang tiada siapa pertikaikan masih jarang didagangkan pada harga $1.00. Empat faktor terkandung dalam tiga sen terakhir itu:
- Nilai masa wang. Dolar tersebut hanya diterima pada tarikh penyelesaian. Membayar 97 sen hari ini untuk menerima $1.00 dalam tempoh tiga bulan memberikan pulangan atas modal, dan wang tunai itu mempunyai kegunaan lain (menempatkan wang tunai tidak digunakan).
- Risiko sumber penyelesaian. Kontrak diselesaikan berdasarkan laporan sumber yang dinamakan, mengikut jadual yang ditetapkan oleh sumber tersebut. Semakan, kelewatan dan bahasa yang tidak jelas masih boleh menimbulkan risiko walaupun hasilnya telah dipersetujui.
- Spread itu sendiri. Pasaran yang disebut pada bida 96 dan permintaan 98 mempunyai harga pertengahan 97 sen, tetapi tiada dagangan pada harga 97. Dari segi peratusan, spread lazimnya paling lebar di bahagian hujung.
- Risiko ekor. Perkataan “pasti” sering digunakan secara longgar. Kontrak diselesaikan berdasarkan takrif dalam buku peraturan.
Konvergensi ini boleh diukur. Ambil call options SPY yang berharga hampir seperti lambungan syiling sebulan sebelum tamat tempoh, bahagikan mengikut hasil akhirnya, kemudian perhatikan purata kebarangkalian tersirat pada enam titik semakan.
SQL tepat di sebalik setiap nombor
WITH px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session,
argMax(toFloat64(close), window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-06-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session
),
coin_flips AS (
SELECT ticker AS contract
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date >= toDate('2025-06-01')
AND expiration_date <= toDate('2026-06-30')
AND days_to_expiry BETWEEN 28 AND 32
AND iv_converged = 1
AND volume > 0
AND delta > 0
GROUP BY contract
HAVING avg(delta) BETWEEN 0.35 AND 0.65
),
obs AS (
SELECT g.days_to_expiry AS dte,
g.delta AS implied_prob,
if(px.close_px > toFloat64(g.strike_price), 1, 0) AS finished_above
FROM global_markets.options_greeks AS g
INNER JOIN coin_flips AS c ON g.ticker = c.contract
INNER JOIN px ON px.session = g.expiration_date
WHERE g.underlying_symbol = 'SPY'
AND g.date >= toDate('2025-06-01')
AND g.expiration_date <= toDate('2026-06-30')
AND g.iv_converged = 1
AND g.volume > 0
AND g.delta > 0
AND (g.days_to_expiry BETWEEN 28 AND 32
OR g.days_to_expiry BETWEEN 19 AND 23
OR g.days_to_expiry BETWEEN 12 AND 16
OR g.days_to_expiry BETWEEN 6 AND 8
OR g.days_to_expiry BETWEEN 3 AND 4
OR g.days_to_expiry <= 1)
)
SELECT multiIf(dte >= 28, '30 days out',
dte >= 19, '21 days out',
dte >= 12, '14 days out',
dte >= 6, '7 days out',
dte >= 3, '3 days out',
'1 day out') AS checkpoint,
round(100 * avgIf(implied_prob, finished_above = 1), 1) AS eventual_yes_pct,
round(100 * avgIf(implied_prob, finished_above = 0), 1) AS eventual_no_pct,
count() AS contract_days
FROM obs
GROUP BY checkpoint
HAVING countIf(finished_above = 1) > 0 AND countIf(finished_above = 0) > 0
ORDER BY avg(dte) DESCPada 30 days out, kontrak yang akhirnya ditutup melebihi harga strike mempunyai purata kebarangkalian tersirat sebanyak 52.6%, berbanding 47.8% bagi kontrak yang tidak berbuat demikian. Menjelang 1 day out, dua kumpulan yang sama menunjukkan bacaan 79.8% dan 14.4%. Perbezaan itu ditentukan berdasarkan hindsight. Tiada siapa yang membaca rantaian opsyen pada titik semakan pertama dapat membezakan kedua-dua kumpulan tersebut. Itulah keadaan yang sentiasa dihadapi oleh kontrak acara yang masih aktif. Kepastian hanya tiba pada tarikh penyelesaian, dan harga bergerak ke arah itu secara beransur-ansur. Peraturan penyelesaian menentukan detik yang tepat: opsyen diselesaikan AM berbanding PM menunjukkan betapa pentingnya perincian masa itu, manakala volatiliti tersirat ialah jawapan rantaian yang sama terhadap persoalan saiz, bukan arah.
Nota data dan batasan
Delta ialah ukuran pengganti bagi harga Yes, bukan objek yang sama. Delta menghampiri kebarangkalian neutral risiko untuk tamat dalam keadaan in the money dan berbeza sedikit daripada kebarangkalian model bagi acara yang sama. Hasil di sini membandingkan harga penutupan sesi biasa pada tarikh tamat tempoh dengan harga strike. Ini menghampiri nilai penyelesaian tanpa mengulangi nilai penyelesaian rasmi. Setiap panel opsyen menapis berdasarkan volatiliti tersirat yang telah mencapai konvergensi dan volum bukan sifar bagi kontrak tersebut pada tarikh berkenaan. Oleh itu, kontrak yang kurang aktif tidak termasuk dalam sampel. Setiap kontrak dimasukkan sekali sahaja ke dalam panel kalibrasi, pada petikan yang paling hampir dengan 30 hari sebelum tamat tempoh.
Soalan Lazim tentang Penentuan Harga Kontrak Peristiwa
Adakah harga kontrak peristiwa sama dengan kebarangkalian?
Harga itu ialah kebarangkalian dengan dua pelarasan. Sebut harga tersebut merangkumi spread yang dikenakan oleh venue dan market maker. Ia juga menetapkan harga bagi satu dolar yang diterima pada penyelesaian, bukannya hari ini. Jika kedua-dua faktor ini dikeluarkan, bakinya ialah anggaran pasaran terhadap kebarangkalian hasil tersebut.
Apakah kesan proses de-vig terhadap pasaran dua hala?
Proses ini menskalakan semula harga pertengahan Yes dan No supaya jumlahnya menjadi 100%. Tambahkan harga pertengahan Yes dan No, kemudian bahagikan setiap satu dengan jumlah tersebut. Harga Yes sebanyak 64 sen bersama harga No sebanyak 38 sen menghasilkan jumlah 102 sen. Selepas de-vig, pasangan itu menjadi 62.7% dan 37.3%.
Mengapakah harga Yes dan No berjumlah lebih daripada satu dolar?
Salah satu daripada kedua-duanya pasti membayar $1.00. Oleh itu, pasangan tanpa geseran sepatutnya berharga tepat $1.00 secara keseluruhan. Lebihan sen pada bahagian ask ialah overround, iaitu hasil spread yang terbina dalam pasaran dua hala. Jika kedua-dua belah dijual, hasilnya pula kurang daripada satu dolar, mencerminkan jurang yang sama secara terbalik.
Adakah kontrak yang berharga 90 sen gagal sekali dalam setiap sepuluh kali?
Secara kasar, ya, jika pasaran dikalibrasi dengan baik merentas banyak kontrak yang serupa. Dalam panel SPY di atas, bucket 90-98% mempunyai purata kebarangkalian tersirat sebanyak 94.3% dan ditutup melepasi strike sebanyak 97.8% daripada keseluruhan masa. Namun, satu kontrak tetap diselesaikan pada satu dolar atau sifar.
Sejauh manakah spread yang lebar mengubah kebarangkalian tersirat?
Kira-kira sebesar lebar spread tersebut. Pasaran dengan spread 1 sen menetapkan kebarangkalian dalam lingkungan satu mata peratusan. Pasaran dengan spread 4 sen meninggalkan julat selebar 4 mata peratusan. Setiap kebarangkalian dalam julat itu selaras dengan sebut harga tersebut.
Setiap angka di atas datang daripada pertanyaan tersimpan berdasarkan data kontrak yang disenaraikan. SQL di sebalik setiap panel boleh dibuka dengan satu klik. Jalankan pengiraan de-vig yang sama pada rantaian kontrak langsung di terminal Strasmore.