مدل هستون و تحلیل پدیده لبخند نوسان
یک عدد واحد برای نوسانپذیری قادر به قیمتگذاری کل زنجیره اختیار معامله نیست. در این مطلب بررسی میکنیم که چگونه مدل هستون با متغیر ساختن واریانس، پدیده لبخند نوسان را تبیین میکند.
مدل هستون و پویایی نوسانات
مدل هستون یک مدل قیمتگذاری اختیار معامله است که نوسان را نه بهعنوان یک متغیر ثابت، بلکه بهعنوان یک متغیر تصادفی در نظر میگیرد. این مدل از دو جزء متحرک تشکیل شده است: قیمت سهام و واریانس آن قیمت، که هر کدام دارای شوک تصادفی مختص به خود هستند. همین منبع دوم تصادفی بودن است که به مدل اجازه میدهد تا پدیده «لبخند نوسان» (volatility smile) را ایجاد کند. فرض نوسان ثابت که در مدل بلک-شولز (Black-Scholes) وجود دارد، تنها قادر است خطی صاف در میان قیمتهای اعمال (strike prices) ترسیم کند، در حالی که هیچ زنجیره اختیار معاملهای در واقعیت چنین رفتاری ندارد.
چرا یک عدد واحد برای نوسانپذیری، کل زنجیره اختیار را پوشش نمیدهد
نوسانپذیری ضمنی (Implied Volatility) همان ورودی نوسانپذیری است که باعث میشود فرمول قیمتگذاری، قیمتی را ارائه دهد که اختیار در بازار با آن معامله میشود. اگر این محاسبه را قرارداد به قرارداد معکوس کنید، همانطور که در صفحه نحوه محاسبه نوسانپذیری ضمنی توضیح دادهایم، یک تاریخ انقضا بهجای یک سطح واحد، منحنیای را در میان قیمتهای اعمال (Strike) مختلف نشان میدهد. پنل زیر تمام قراردادهای SPY با 20 تا 45 روز باقیمانده تا انقضا در نیمه اول سال 2026 را بررسی کرده، آنها را در بازههای 2 درصدی بر اساس فاصله قیمت اعمال تا قیمت نقدی (Spot) دستهبندی میکند و میانگین نوسانپذیری ضمنی را در هر بازه محاسبه مینماید.
کد دقیق SQL پشت هر عدد
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_bucketبازه -12%، که قیمتهای اعمال آن بسیار پایینتر از قیمت نقدی است، میانگین نوسانپذیری ضمنی 28.05% را ثبت کرد که 11.61 واحد نوسانپذیری بالاتر از میانگین «در قیمت» (at-the-money) برای همان بازه زمانی است. بازه +12% در سمت اختیار خرید (Call) بهطور میانگین 15.56% بود. بازههای میانی، منحنیای را ترسیم میکنند که این اثر به نام آن شناخته میشود و تمایل جانبی آن انحراف نوسانپذیری (volatility skew) نام دارد. مدلی که تنها یک پارامتر نوسانپذیری دارد، هیچ ابزاری برای دستیابی به این واقعیت ندارد: در چنین مدلی، هر قیمت اعمال بر اساس یک توزیع واحد برای قیمت در زمان انقضا قیمتگذاری میشود و معکوس کردن آن مدل، طبق ساختار خود، برای تمام قیمتهای اعمال عدد یکسانی را بازمیگرداند.
تغییرات مدل هستون
مدل هستون شوک تصادفی قیمت سهام را حفظ کرده و فرایند دومی را برای واریانس اضافه میکند. به زبان ساده و بدون نمادهای ریاضی:
- حرکت سهام در لحظه بعدی، حاصل یک روند (drift) بهعلاوه یک شوک تصادفی است که با جذر واریانس فعلی مقیاسبندی میشود.
- حرکت واریانس، حاصل یک نیروی کششی به سمت سطح بلندمدت با سرعتی ثابت، بهعلاوه شوک مختص به خود است که با پارامتر «نوسانِ نوسان» (vol-of-vol) و جذر واریانس فعلی مقیاسبندی میشود.
- این دو شوک با عددی بین منفی یک و یک همبستگی دارند.
این مقیاسبندی جذر، همان فرم کاکس-اینگرسول-راس (Cox-Ingersoll-Ross) است و یک کارکرد مهم دارد: شوک واریانس با نزدیک شدن واریانس به صفر، به سمت هیچ میل میکند که مانع از منفی شدن واریانس میشود. زمانی که حاصلضرب دو برابر سرعت در واریانس بلندمدت از مجذور «نوسانِ نوسان» بیشتر باشد، شرطی که به نام فلر (Feller) شناخته میشود برقرار شده و واریانس اکیداً مثبت باقی میماند.
واریانس بهخودیخود قابل مشاهده نیست. همتای ضمنی (implied) آن قابل مشاهده است و ثابت نمیماند. نمودار زیر نوسان ضمنی at-the-money را برای دو نماد، با یک داده در هر جلسه معاملاتی، در طول 11.61 سال 2026 ترسیم میکند.
کد دقیق SQL پشت هر عدد
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 dateنماد SPY این بازه را در 20.39% در تاریخ 2026-04-01 آغاز کرد و در 14.45% در تاریخ 2026-06-30 به پایان رساند. نماد NVDA نیز در همان 62 جلسه معاملاتی، از 36.83% به 38.22% رسید. هیچیک از این دو خط ثابت نمیمانند و هیچکدام نیز روند فرار ندارند: هر دو در نوساناند و مدام به یک محدوده بازمیگردند. قیمتگذاری هر دو سوی این تصویر، نیازمند یک سطح شروع بهعلاوه یک سطح بلندمدت و سرعتی برای نیروی کشش بین آنهاست.
تأثیر هر یک از پارامترهای مدل Heston بر سطح نوسان
بازگشت به میانگین و سطح بلندمدت، ساختار زمانی را شکل میدهند
ارزش یک اختیار معامله به میانگین واریانس مورد انتظار در طول عمر آن بستگی دارد، نه به واریانسِ امروز. برای قراردادی که هفته آینده منقضی میشود، واریانسِ امروز بر آن میانگین غالب است؛ اما برای قراردادی با سررسید یکساله، سطح بلندمدت نقش تعیینکننده دارد. پارامتر سرعت (speed)، تعیین میکند که انتظارات با چه سرعتی میان این دو سطح حرکت میکنند؛ این امر شیب نوسان ضمنی (implied volatility) را از سررسیدهای نزدیک تا دور مشخص میسازد.
کد دقیق SQL پشت هر عدد
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)قراردادهای SPY نزدیک به قیمت (near-the-money) در بازه 1 to 7 days در نیمه نخست سال 2026 بهطور میانگین 17.05% بودند، در حالی که این رقم برای بازه 181 to 365 days برابر با 18.77% بود. نماد NVDA در همین دو بازه، ارقام 41.22% و 44.94% را ثبت کرد. یک مدل تکعددی، تمام سررسیدها را بر اساس یک نوسان واحد قیمتگذاری میکند. مدل Heston به سررسیدهای نزدیک و دور، سطوح اختصاصی خود را میدهد و پارامتر سرعت، شکلِ میان آنها را کنترل میکند. منحنیهای بیشتری از این دست در صفحه ساختار زمانی IV ما قابل مشاهده است.
نوسانِ نوسان (Vol of vol)، لبخند نوسان را خمیده میکند
نوسانِ نوسان، در واقع نوسانِ خودِ واریانس است. اگر آن را روی صفر تنظیم کنید، واریانس مسیری هموار را طی میکند: ساختار زمانی همچنان میتواند شیبدار باشد، اما لبخند نوسان (smile) در میان قیمتهای اعمال (strikes) تخت میشود. با افزایش این پارامتر، توزیع قیمت در زمان سررسید در هر دو دمِ نمودار وزن بیشتری میگیرد، که باعث میشود قیمتهای اعمالِ دور از قیمتِ لحظهای (spot)، بالاتر از قیمتهای اعمالِ نزدیک به آن قرار گیرند. اینکه واریانس در عمل چقدر جابهجا میشود، بسته به دارایی پایه متفاوت است و پنل زیر این جابهجایی را مستقیماً اندازهگیری میکند.
کد دقیق SQL پشت هر عدد
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 DESCنماد AMZN گستردهترین دامنه را در این پنل پوشش داد: نوسان ضمنیِ در قیمت (at-the-money) به پایینترین حد 28.21% و بالاترین حد 74.42% رسید که نشاندهنده اختلاف 46.22 واحد نوسانی در طول شش ماه است. نماد KO با اختلاف 10.75 واحد، کمترین دامنه را داشت. وگا (Vega) که حساسیت قیمت به نوسان است و در صفحه وگا ما تعریف شده، سطحِ این نمودار را اندازهگیری میکند. تحت مدل نوسان تصادفی (stochastic volatility)، دو قرارداد با وگای یکسان میتوانند هنگام تغییر شکلِ سطح (به جای تغییر سطحِ کلی)، رفتارهای متفاوتی نشان دهند.
همبستگی، لبخند نوسان را به چولگی (skew) تبدیل میکند
همبستگی میان شوکِ قیمت سهام و شوکِ واریانس، لبخند متقارن را به یک لبخند نامتقارن تبدیل میکند. تحت همبستگی منفی، مسیرهایی که در آنها قیمت سهام کاهش مییابد، مسیرهایی هستند که واریانس در آنها افزایش مییابد؛ در نتیجه، دمِ سمت چپ توزیع در زمان سررسید، وزن بیشتری نسبت به دمِ سمت راست پیدا میکند. در این حالت، نوسان ضمنیِ اختیار فروش (put) در فاصله یکسان از قیمت لحظهای، بالاتر از نوسان ضمنیِ اختیار خرید (call) قیمتگذاری میشود.
کد دقیق SQL پشت هر عدد
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 DESCدر نیمه نخست سال 2026، نماد SPY بیشترین شکاف را در پنل نشان داد: قراردادهایی با قیمت اعمال حداقل 5 درصد پایینتر از قیمت لحظهای، بهطور میانگین 27% بودند، در حالی که این رقم برای قراردادهایی با قیمت اعمال حداقل 5 درصد بالاتر، 14.76% بود که اختلاف 12.23 واحد نوسانی را نشان میدهد. در سوی دیگر، نماد MSFT رقم 3.9 واحد را در همان اندازهگیری ثبت کرد. یک پارامتر همبستگی برای هر دارایی پایه، تمام این دامنه از چولگیها را پوشش میدهد.
واریانسِ آغازین، سطح را تعیین میکند
پارامتر پنجم، واریانسی است که مدل از امروز با آن شروع میشود. این پارامتر کل سطح را بدون تغییرِ چندانی در شکلِ آن، بالا یا پایین میبرد؛ به همین دلیل است که بیش از سایر پارامترها بازتنظیم (refit) میشود: این پارامتر مدل را در سطحِ فعلی بازار نگه میدارد، در حالی که چهار پارامتر دیگر، هندسه آن را حفظ میکنند.
آنچه مدل خریداری میکند و بهای آن
این خرید، سطحی است که از پنج عدد قابلتفسیر در دو جهت خم میشود و بهسرعت قیمتگذاری میگردد. مدل Heston قیمت اختیار معاملههای اروپایی را از طریق یک تابع مشخصه و یک انتگرال عددی محاسبه میکند، بدون آنکه نیازی به شبیهسازی باشد؛ امری که برازش کل یک زنجیره اختیار معامله را در کسری از ثانیه عملی میسازد. هزینههای این کار را باید بهصراحت بیان کرد.
- پنج پارامتر موجود، کالیبره شده و با قیمتهای مشاهدهشده اختیار معامله برازش میشوند، نه اینکه از منبع دیگری اندازهگیری شوند.
- کالیبراسیون یک تصویر لحظهای است. اگر فردا دوباره برازش را انجام دهید، اعداد تغییر میکنند؛ به این معنا که ثابتهای مدل در واقع ثابت نیستند.
- یک مجموعه پارامتر بهندرت میتواند تمام سررسیدها را همزمان پوشش دهد. لبخند نوسان (volatility smile) در سررسیدهای بسیار کوتاه، تندتر از آن است که این فرایند واریانس بتواند آن را پوشش دهد.
- قیمتها در بازار دچار گپ (شکاف) میشوند. در این مدل، واریانس و قیمت نقدی هر دو بهصورت پیوسته حرکت میکنند، بنابراین یک گپ قیمتی باید توسط اعداد برازششده جذب شود.
یک نکته برای خوانندگانی که از صفحات مربوط به نوسانپذیری به اینجا آمدهاند، اهمیت دارد. فرایند واریانس، پویاییهایی را توصیف میکند که قیمت اختیار معامله را تعیین میکنند؛ این موضوع با نوسانپذیری که یک سهم در آینده محقق میکند، متفاوت است. فاصله میان این دو، موضوع نوسانپذیری ضمنی در برابر نوسانپذیری محققشده است.
جایی که مدل همچنان ناتوان است
برای هر یک از این شکافها، بسطهایی وجود دارد. مدل Bates واریانس مدل Heston را حفظ کرده و پرشهایی را به فرایند قیمت میافزاید که باعث تندتر شدن لبخند نوسان (smile) در سررسیدهای کوتاهمدت میشود. مدلهای نوسان خشن (Rough volatility) واریانس تصادفی را حفظ کرده و عامل محرک را با مسیرهایی جایگزین میکنند که از حرکت براونی استاندارد خشنتر هستند؛ این کار باعث انطباق دقیقتر با سررسیدهای بسیار کوتاه میشود. با این حال، هیچکدام مشکل کالیبراسیون را حل نمیکنند؛ چرا که هر دو پارامترهایی را میافزایند که باید با یک لحظه آماری برازش شده و پس از آن دوباره بازتنظیم شوند.
پرسشهای متداول
مدل هستون (Heston) به زبان ساده چیست؟
این یک مدل قیمتگذاری اختیار معامله است که در آن نوسانپذیری (Volatility) تصادفی است. واریانس مسیر خاص خود را با گرایش به بازگشت به یک سطح بلندمدت طی میکند و تصادفی بودن آن با نوسانات قیمت سهام همبستگی دارد؛ این ویژگی به مدل اجازه میدهد تا به جای یک خط صاف، یک «لبخند نوسانپذیری» (Volatility Smile) منحنیشکل را قیمتگذاری کند.
چرا مدل بلک-شولز (Black-Scholes) یک لبخند نوسانپذیری تخت ارائه میدهد؟
این مدل یک نوسانپذیری ثابت را فرض میگیرد که برای قیمت در سررسید، یک توزیع واحد تعیین میکند. هر قیمت اعمال (Strike) از همان توزیع قیمتگذاری میشود و معکوس کردن فرمول، در هر قیمت اعمال، همان نوسانپذیری را بازمیگرداند. این خط تخت، خروجیِ پیشفرضهای مدل است، نه یافتهای درباره واقعیت بازارها.
پنج پارامتر مدل هستون چه معنایی دارند؟
واریانس اولیه، سطح کنونیِ سطح نوسانپذیری را تعیین میکند. واریانس بلندمدت مشخص میکند که واریانس در طول زمان به چه سطحی میل میکند و سرعت بازگشت به میانگین (Mean-reversion speed) تعیین میکند که این کشش با چه سرعتی عمل میکند. نوسانِ نوسان (Vol of vol) میزان انحنای لبخند را تعیین میکند و همبستگی بین دو شوک، شیب آن را مشخص میسازد.
آیا مدل هستون با قیمتهای واقعی اختیار معامله مطابقت دارد؟
این مدل با بخش میانی یک سطح نوسانپذیریِ معمول، همخوانی نزدیکی دارد، اما در سررسیدهای بسیار کوتاه که لبخندهای مشاهدهشده تندتر از آنچه فرآیند واریانس مدل اجازه میدهد خم میشوند، با دشواری مواجه است. همچنین پارامترهای برازششده از روزی به روز دیگر تغییر میکنند که باعث میشود کالیبراسیون به جای یک اندازهگیری یکباره، به یک تمرین تکرارشونده تبدیل شود.
هر پنل در بالا به همراه کد SQL تولیدکننده آن ارائه شده است و آماده است تا برای نماد یا بازه زمانی دیگری تنظیم شود. برای پرسیدن هر یک از این سوالات به زبان ساده در مورد دادههای اختیار معامله، ترمینال Strasmore را باز کنید.