Model Heston dan Volatility Smile dalam Opsyen
Satu angka volatiliti tidak mencukupi untuk menetapkan harga rantaian opsyen. Ketahui bagaimana model Heston membenarkan varians berubah dan kesan setiap parameter terhadap smile.
Model Heston dan Volatiliti
Model Heston ialah model penetapan harga opsyen yang menganggap volatiliti sebagai rawak dan bukannya tetap. Ia mempunyai dua komponen bergerak: harga saham dan varians harga tersebut, yang masing-masing mempunyai kejutan rawak tersendiri. Sumber rawak kedua itulah yang membolehkan sesuatu model menghasilkan volatility smile. Volatiliti malar tunggal, iaitu andaian dalam Black-Scholes, hanya mampu melukis garis rata merentasi harga strike, sedangkan tiada rantaian opsyen yang pernah menunjukkan keadaan rata.
Mengapa satu angka volatiliti tidak sesuai untuk rantaian opsyen
Implied volatility ialah input volatiliti yang menjadikan formula penetapan harga menghasilkan harga dagangan sebenar sesuatu opsyen. Jika diterbalikkan bagi setiap kontrak, seperti yang diperincikan dalam halaman kami mengenai cara implied volatility dikira, satu tarikh luput akan menghasilkan keluk merentasi harga strike dan bukannya satu tahap sahaja. Panel di bawah mengambil setiap kontrak SPY dengan tempoh matang dua puluh hingga empat puluh lima hari bagi separuh pertama tahun dua ribu dua puluh enam, menyusunnya mengikut jalur dua peratus berdasarkan jarak antara harga strike dengan harga spot, serta mengira purata implied volatility dalam setiap jalur.
SQL tepat di sebalik setiap nombor
WITH
(
SELECT avg(implied_volatility)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.01
) AS atm_iv
SELECT
concat(if(m_bucket > 0, '+', ''), toString(m_bucket), '%') AS moneyness,
round(avg(iv) * 100, 2) AS iv_pct,
round((avg(iv) - atm_iv) * 100, 2) AS iv_vs_atm_pts,
count() AS contracts
FROM
(
SELECT
implied_volatility AS iv,
toInt16(round((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50) * 2) AS m_bucket
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.12
)
GROUP BY m_bucket
HAVING count() >= 100
ORDER BY m_bucketJalur -12%, iaitu harga strike yang jauh di bawah harga spot, mencatatkan purata implied volatility sebanyak 28.05%, iaitu 11.61 mata volatiliti lebih tinggi daripada purata at-the-money bagi tempoh yang sama. Jalur +12% di sebelah call pula mencatatkan purata 15.56%. Jalur-jalur di antara kedua-duanya membentuk keluk yang menjadi asal usul nama kesan tersebut, dan kecondongan sisinya dikenali sebagai volatility skew. Model dengan satu parameter volatiliti tidak mempunyai tetapan untuk mencapai keadaan ini: setiap harga strike dinilai berdasarkan satu taburan bagi harga pada tarikh luput, dan dengan menterbalikkan model tersebut, ia akan menghasilkan angka yang sama pada setiap harga strike, mengikut pembinaannya.
Perubahan yang dibawa oleh model Heston
Heston mengekalkan kejutan rawak saham dan menambah proses kedua untuk varians. Dalam bentuk kata-kata dan bukannya simbol:
- Pergerakan saham bagi tempoh serta-merta yang seterusnya ialah aliran ditambah kejutan rawak, yang diskalakan mengikut punca kuasa dua varians semasa.
- Pergerakan varians ialah tarikan ke arah tahap jangka panjang pada kelajuan tetap, ditambah kejutan tersendiri, yang diskalakan mengikut parameter vol-of-vol dan punca kuasa dua varians semasa.
- Kedua-dua kejutan tersebut berkorelasi, dengan nombor antara negatif satu dan satu.
Penskalaan punca kuasa dua itu merupakan bentuk Cox-Ingersoll-Ross, dan ia melakukan satu tugas yang perlu diketahui: kejutan varians mengecil ke arah sifar apabila varians menghampiri sifar, yang menghalang varians daripada menjadi negatif. Apabila dua kali ganda kelajuan didarabkan dengan varians jangka panjang melebihi kuasa dua vol-of-vol, satu syarat yang dinamakan sempena Feller, varians kekal positif sepenuhnya.
Varians itu sendiri tidak boleh diperhatikan. Rakan sejawatannya yang tersirat boleh diperhatikan, dan ia tidak kekal statik. Panel di bawah memplotkan implied volatility at-the-money bagi dua nama, satu bacaan bagi setiap sesi, sepanjang suku kedua tahun 2026.
SQL tepat di sebalik setiap nombor
SELECT
toString(date) AS session_date,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_atm_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_atm_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
AND date BETWEEN '2026-04-01' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.05
GROUP BY date
HAVING countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY dateSPY membuka tetingkap pada 20.39% pada 2026-04-01 dan menutupnya pada 14.45% pada 2026-06-30. NVDA bergerak daripada 36.83% kepada 38.22% sepanjang 62 sesi yang sama. Tiada satu pun garis yang kekal statik, dan tiada satu pun yang melencong jauh: kedua-duanya bergerak secara rawak dan terus kembali ke kawasan sekitar. Penetapan harga bagi kedua-dua hujung gambaran tersebut memerlukan tahap permulaan ditambah tahap jangka panjang dengan kelajuan bagi tarikan antara kedua-duanya.
Kesan setiap parameter Heston terhadap permukaan
Purata kembali ke tahap asal dan tahap jangka panjang membentuk struktur tempoh
Nilai opsyen bergantung pada purata varians yang dijangkakan sepanjang hayatnya, bukan pada varians hari ini. Bagi kontrak yang tamat tempoh minggu depan, varians hari ini mendominasi purata tersebut; bagi kontrak yang tamat tempoh dalam setahun, tahap jangka panjang pula yang mendominasi. Parameter kelajuan menetapkan seberapa pantas jangkaan bergerak di antara kedua-duanya, yang menentukan betapa curam cerun volatiliti tersirat dari bahagian hadapan kalendar ke bahagian belakang.
SQL tepat di sebalik setiap nombor
SELECT
tenor,
round(avgIf(implied_volatility, underlying_symbol = 'SPY') * 100, 2) AS spy_iv_pct,
round(avgIf(implied_volatility, underlying_symbol = 'NVDA') * 100, 2) AS nvda_iv_pct
FROM
(
SELECT
implied_volatility,
underlying_symbol,
days_to_expiry,
multiIf(
days_to_expiry <= 7, '1 to 7 days',
days_to_expiry <= 21, '8 to 21 days',
days_to_expiry <= 45, '22 to 45 days',
days_to_expiry <= 90, '46 to 90 days',
days_to_expiry <= 180, '91 to 180 days',
'181 to 365 days') AS tenor
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'NVDA')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 365
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.02
)
GROUP BY tenor
HAVING countIf(underlying_symbol = 'SPY') > 0
AND countIf(underlying_symbol = 'NVDA') > 0
ORDER BY min(days_to_expiry)Kontrak SPY yang hampir dengan harga semasa (near-the-money) dalam baldi 1 to 7 days mencatatkan purata 17.05% sepanjang separuh pertama tahun 2026, berbanding 18.77% dalam baldi 181 to 365 days. NVDA mencatatkan 41.22% dan 44.94% merentasi dua baldi yang sama. Model satu angka meletakkan harga bagi setiap tenor berdasarkan volatiliti yang sama. Heston memberikan tahap tersendiri kepada bahagian hadapan dan belakang, dengan parameter kelajuan mengawal bentuk di antaranya. Lebih banyak lengkung ini terdapat pada halaman struktur tempoh IV kami.
Volatiliti bagi volatiliti membengkokkan senyuman (smile)
Volatiliti bagi volatiliti ialah volatiliti bagi varians itu sendiri. Jika ditetapkan kepada sifar, varians akan mengikut laluan yang lancar: struktur tempoh masih boleh mempunyai cerun, tetapi senyuman merentasi harga strike akan menjadi rata. Jika ditingkatkan, taburan harga pada tarikh tamat tempoh akan mendapat lebih pemberat pada kedua-dua hujung (tails), yang mengangkat harga strike yang jauh dari harga semasa melebihi harga strike yang berhampiran dengannya. Sejauh mana varians bergerak dalam praktiknya berbeza mengikut aset asas, dan panel di bawah mengukur pergerakan tersebut secara langsung.
SQL tepat di sebalik setiap nombor
SELECT
symbol,
round(min(daily_iv) * 100, 2) AS low_iv_pct,
round(max(daily_iv) * 100, 2) AS high_iv_pct,
round((max(daily_iv) - min(daily_iv)) * 100, 2) AS swing_pts
FROM
(
SELECT
underlying_symbol AS symbol,
date,
avg(implied_volatility) AS daily_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.05
GROUP BY symbol, date
)
GROUP BY symbol
ORDER BY swing_pts DESCAMZN meliputi julat terluas dalam panel: volatiliti tersirat at-the-money serendah 28.21% dan setinggi 74.42%, dengan perbezaan 46.22 mata volatiliti sepanjang enam bulan. KO meliputi julat paling sempit, pada 10.75 mata. Vega, iaitu sensitiviti harga terhadap volatiliti yang ditakrifkan oleh halaman vega kami, mengukur tahap permukaan tersebut. Di bawah volatiliti stokastik, dua kontrak dengan vega yang sepadan boleh berkelakuan berbeza apabila bentuk permukaan berubah dan bukannya tahapnya.
Korelasi mencondongkan senyuman menjadi skew
Korelasi antara kejutan saham dan kejutan varians mengubah senyuman simetri menjadi senyuman yang tidak seimbang. Di bawah korelasi negatif, laluan di mana saham jatuh adalah laluan di mana varians meningkat, dan hujung kiri taburan pada tarikh tamat tempoh membawa lebih banyak pemberat berbanding hujung kanan. Volatiliti tersirat pada bahagian put kemudiannya diletakkan pada harga yang lebih tinggi berbanding volatiliti tersirat pada bahagian call pada jarak yang sama dari harga semasa.
SQL tepat di sebalik setiap nombor
SELECT
underlying_symbol AS symbol,
round(avgIf(iv, ratio <= 0.95) * 100, 2) AS otm_put_iv_pct,
round(avgIf(iv, ratio >= 1.05) * 100, 2) AS otm_call_iv_pct,
round((avgIf(iv, ratio <= 0.95) - avgIf(iv, ratio >= 1.05)) * 100, 2) AS put_minus_call_pts
FROM
(
SELECT
underlying_symbol,
implied_volatility AS iv,
toFloat64(strike_price) / toFloat64(underlying_close) AS ratio
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO')
AND date BETWEEN '2026-01-02' AND '2026-06-30'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.20
)
GROUP BY underlying_symbol
HAVING countIf(ratio <= 0.95) > 0
AND countIf(ratio >= 1.05) > 0
ORDER BY put_minus_call_pts DESCSepanjang separuh pertama tahun 2026, SPY menunjukkan jurang terluas dalam panel: kontrak yang ditetapkan sekurang-kurangnya lima peratus di bawah harga semasa mencatatkan purata 27% berbanding 14.76% bagi kontrak yang ditetapkan sekurang-kurangnya lima peratus di atas, dengan perbezaan 12.23 mata volatiliti. Pada hujung satu lagi, MSFT mencatatkan 3.9 mata pada ukuran yang sama. Satu parameter korelasi bagi setiap aset asas adalah apa yang merangkumi keseluruhan julat kecondongan tersebut.
Varians permulaan menetapkan tahap
Parameter kelima ialah varians yang menjadi titik permulaan model hari ini. Ia menaikkan atau menurunkan keseluruhan permukaan tanpa mengubah bentuknya dengan ketara, itulah sebabnya ia paling kerap diselaraskan semula: ia memastikan model kekal pada tahap pasaran semasa sementara empat parameter yang lain membawa geometri tersebut.
Apa yang dibeli oleh model, dan kosnya
Pembelian ini merupakan satu permukaan yang melengkung ke dua arah daripada lima angka yang boleh ditafsirkan, dengan harga yang ditentukan dengan pantas. Heston menilai opsyen Eropah melalui fungsi ciri dan satu kamiran berangka, tanpa memerlukan simulasi, yang menjadikan proses pemadanan keseluruhan rantaian dalam sekelip mata sesuatu yang praktikal. Kosnya perlu dinyatakan dengan jelas.
- Lima parameter tersebut ditentukur, dipadankan dengan harga opsyen yang diperhatikan dan bukannya diukur daripada mana-mana perkara lain.
- Penentukuran ialah satu gambaran pada satu masa. Jika dipadankan semula esok, angka-angka tersebut akan berubah, yang bermaksud pemalar model ini tidak bersifat malar.
- Satu set parameter jarang dapat memadankan setiap tarikh luput secara serentak. Lengkung senyuman (smile) yang diperhatikan pada tempoh yang sangat singkat melengkung lebih tajam daripada yang mampu dilakukan oleh proses varians ini.
- Harga di pasaran mempunyai jurang. Varians dan harga spot kedua-duanya bergerak secara berterusan di sini, dan sesuatu jurang perlu diserap oleh angka-angka yang telah dipadankan.
Satu peringatan penting bagi pembaca yang datang dari halaman volatiliti. Proses varians menerangkan dinamik yang menentukan harga opsyen, iaitu objek yang berbeza daripada volatiliti yang akan direalisasikan oleh sesuatu saham. Jarak antara kedua-duanya adalah subjek bagi volatiliti tersirat berbanding volatiliti direalisasi.
Di mana model masih terlepas
Terdapat peluasan bagi setiap jurang tersebut. Bates mengekalkan varians Heston dan menambah lonjakan (jumps) pada proses harga, yang menjadikan lengkung smile bagi tempoh singkat lebih curam. Model volatiliti kasar (rough volatility) mengekalkan varians rawak dan menukar pemacu kepada laluan yang lebih kasar berbanding pergerakan Brownian standard, sekali gus memadankan tempoh yang sangat singkat dengan lebih tepat. Kedua-duanya tidak menghapuskan masalah penentukuran (calibration): kedua-duanya menambah parameter yang perlu disesuaikan dengan sesuatu momen dan diselaraskan semula selepas itu.
Soalan Lazim
Apakah model Heston dalam istilah mudah?
Ia merupakan model penetapan harga opsyen yang mana volatiliti adalah rawak. Varians mengikuti laluannya sendiri dengan tarikan ke arah tahap jangka panjang, dan kerawakannya berkorelasi dengan saham, yang membolehkan model tersebut menetapkan harga bagi volatility smile yang melengkung dan bukannya garis rata.
Mengapakah Black-Scholes memberikan volatility smile yang rata?
Ia mengandaikan satu volatiliti malar, yang menetapkan satu taburan bagi harga pada tarikh luput. Setiap strike ditetapkan harganya daripada taburan yang sama, dan menyongsangkan formula tersebut akan memberikan kembali volatiliti yang sama pada setiap strike. Garis rata itu adalah hasil daripada andaian, bukan penemuan tentang pasaran.
Apakah maksud lima parameter Heston?
Varians permulaan menetapkan tahap permukaan hari ini. Varians jangka panjang menetapkan ke mana varians ditarik dari semasa ke semasa, dan kelajuan mean-reversion menetapkan seberapa pantas tarikan itu bertindak. Vol of vol menetapkan kelengkungan smile, dan korelasi antara kedua-dua kejutan itu menetapkan kecondongannya.
Adakah model Heston menepati harga opsyen sebenar?
Ia menepati bahagian tengah permukaan tipikal dengan rapat dan menghadapi kesukaran pada bahagian tempoh yang sangat singkat, di mana smile yang diperhatikan melengkung dengan lebih tajam daripada yang dibenarkan oleh proses variansnya. Parameter yang disesuaikan juga berubah dari satu hari ke hari berikutnya, yang menjadikan penentukuran sebagai latihan berulang dan bukannya pengukuran sekali sahaja.
Setiap panel di atas disertakan dengan SQL yang menghasilkannya, sedia untuk dihalakan semula kepada nama lain atau tetingkap lain. Untuk bertanya salah satu soalan ini dalam bahasa Inggeris mudah terhadap data opsyen, buka terminal Strasmore.