Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

Модель Хестона та посмішка волатильності

Одне значення волатильності не здатне оцінити весь ланцюг опціонів. Дізнайтеся, як модель Хестона враховує випадкову дисперсію та вплив параметрів на посмішку волатильності.

Модель Хестона та динамічна волатильність

Модель Хестона — це модель ціноутворення опціонів, у якій волатильність розглядається як випадкова величина, а не як фіксований параметр. Вона складається з двох рухомих компонентів: ціни акції та дисперсії цієї ціни, кожен з яких має власне джерело випадкових коливань. Саме це друге джерело випадковості дозволяє моделі генерувати «посмішку волатильності» (volatility smile). Припущення про постійну волатильність, закладене в модель Блека-Шоулза, дозволяє побудувати лише горизонтальну лінію для різних strike, проте жоден ланцюг опціонів ніколи не був плоским.

Чому одне значення волатильності не підходить для всього опціонного ланцюга

Implied volatility — це показник волатильності, який при підстановці у формулу ціноутворення дає ринкову ціну опціону. Якщо розрахувати цей показник для кожного контракту окремо, як описано на нашій сторінці про те, як розраховується implied volatility, то для однієї дати експірації ми отримаємо криву залежності від strike, а не єдиний рівень. Наведена нижче панель охоплює всі контракти SPY із терміном до погашення від двадцяти до сорока п'яти днів протягом першої половини червень 2026, розподіляє їх на діапазони по два відсотки залежно від відстані між strike та спотовою ціною, а також обчислює середнє значення implied volatility всередині кожного діапазону.

ЗапитІмпліцитна волатильність SPY залежно від страйку, 20–45 днів до експірації (січень – червень 2026)
Точний 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
Run this yourself

Діапазон -12%, що включає strike значно нижче спотової ціни, мав середню implied volatility на рівні 28.05%, що на 11.61 пунктів волатильності вище за середній показник для at-the-money опціонів у тому ж часовому вікні. Діапазон +12% з боку call-опціонів показав середнє значення 15.56%. Проміжні діапазони формують криву, від якої походить назва цього ефекту, а її нахил називається volatility skew. Модель з єдиним параметром волатильності не має інструментів для відображення цієї динаміки: кожен strike у такій моделі оцінюється на основі одного розподілу ймовірностей ціни на момент експірації, тому інверсія такої моделі за визначенням повертає однакове число для будь-якого strike.

What the Heston model changes

Heston keeps the stock's random shock and adds a second process for the variance. In words rather than symbols:

  • The stock's move over the next instant is a drift plus a random shock, scaled by the square root of current variance.
  • The variance's move is a pull toward a long-run level at a fixed speed, plus its own shock, scaled by a vol-of-vol parameter and the square root of current variance.
  • The two shocks are correlated, by a number between -1 and 1.

That square-root scaling is the Cox-Ingersoll-Ross form, and it does one job worth knowing: the variance shock shrinks toward nothing as variance approaches zero, which keeps variance from turning negative. When twice the speed times the long-run variance exceeds the square of the vol-of-vol, a condition named for Feller, variance stays strictly positive.

Variance itself is not observable. Its implied counterpart is, and it does not sit still. The panel below plots at-the-money implied volatility for two names, one reading per session, across the second quarter of 2026.

ЗапитДенна імпліцитна волатильність ATM, SPY та NVDA (квітень – червень 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
Run this yourself

SPY opened the window at 20.39% on 2026-04-01 and closed it at 14.45% on 2026-06-30. NVDA ran from 36.83% to 38.22% across the same 62 sessions. Neither line holds still, and neither runs away: both wander and keep returning to a neighbourhood. Pricing both ends of that picture takes a starting level plus a long-run level with a speed for the pull between them.

Як кожен параметр моделі Heston впливає на поверхню волатильності

Середнє повернення та довгостроковий рівень формують часову структуру

Вартість опціону залежить від середньої очікуваної дисперсії протягом терміну його дії, а не від поточної дисперсії. Для контракту з експірацією наступного тижня поточна дисперсія має вирішальне значення; для контракту з експірацією через рік домінує довгостроковий рівень. Параметр швидкості визначає, як швидко очікування зміщуються між цими значеннями, що задає крутизну нахилу implied volatility від ближніх до дальніх дат експірації.

ЗапитІмпліцитна волатильність near-the-money залежно від терміну до експірації (січень – червень 2026)
Точний 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)
Run this yourself

Для контрактів SPY біля рівня страйк (near-the-money) у кошику 1 to 7 days середнє значення склало 17.05% протягом першої половини 2026 року, порівняно з 18.77% у кошику 181 to 365 days. Для NVDA ці показники склали 41.22% та 44.94% для тих самих двох кошиків. Однофакторна модель оцінює кожен термін за єдиним показником волатильності. Модель Heston надає ближнім та дальнім контрактам власні рівні, де параметр швидкості регулює форму кривої між ними. Більше таких кривих доступно на нашій сторінці часової структури IV.

Волатильність волатильності викривляє «посмішку»

Волатильність волатильності — це мінливість самої дисперсії. Якщо встановити її на рівні нуля, дисперсія рухається за плавною траєкторією: часова структура може мати нахил, але «посмішка» (smile) по страйках стає пласкою. При збільшенні цього параметра розподіл ціни на момент експірації отримує більшу вагу в обох «хвостах», що піднімає вартість страйків, далеких від спотової ціни, вище за страйки біля неї. Ступінь зміни дисперсії на практиці залежить від базового активу, і наведена нижче панель вимірює цю динаміку безпосередньо.

ЗапитАмплітуда коливань імпліцитної волатильності ATM (січень – червень 2026)
Точний 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
Run this yourself

AMZN охопив найширший діапазон на панелі: implied volatility для at-the-money контрактів коливалася від 28.21% до 74.42%, що становить 46.22 пунктів волатильності за шість місяців. KO продемонстрував найвужчий діапазон — 10.75 пунктів. Vega, тобто чутливість ціни до волатильності, яку визначає наша сторінка про vega, вимірює рівень поверхні. За умов стохастичної волатильності два контракти з однаковою vega можуть поводитися по-різному, якщо змінюється форма поверхні, а не її рівень.

Кореляція перетворює «посмішку» на перекіс (skew)

Кореляція між шоком ціни акції та шоком дисперсії перетворює симетричну «посмішку» на асиметричну. При від’ємній кореляції траєкторії, на яких ціна акції падає, супроводжуються зростанням дисперсії, тому лівий «хвіст» розподілу на момент експірації має більшу вагу, ніж правий. У такому разі implied volatility для put-опціонів оцінюється вище, ніж для call-опціонів на однаковій відстані від спотової ціни.

ЗапитСпіввідношення імпліцитної волатильності пут та кол опціонів, 20–45 днів (січень – червень 2026)
Точний 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
Run this yourself

Протягом першої половини 2026 року SPY показав найбільший розрив на панелі: контракти зі страйком щонайменше на п’ять відсотків нижче спотової ціни мали середнє значення 27% проти 14.76% для контрактів зі страйком щонайменше на п’ять відсотків вище, що становить 12.23 пунктів волатильності різниці. З іншого боку, MSFT зафіксував 3.9 пунктів за тим самим показником. Один параметр кореляції на кожен базовий актив дозволяє охопити весь цей діапазон перекосів.

Початкова дисперсія задає рівень

П’ятим параметром є дисперсія, з якої модель починає розрахунок сьогодні. Вона піднімає або опускає всю поверхню без суттєвої зміни її форми, тому цей параметр потребує найчастішого перекалібрування: він утримує модель на поточному ринковому рівні, тоді як інші чотири параметри відповідають за геометрію поверхні.

Що купує модель і скільки це коштує

Купівля — це поверхня, що вигинається у двох напрямках на основі п’яти інтерпретованих чисел, які швидко оцінюються. Heston оцінює європейські опціони через характеристичну функцію та один числовий інтеграл без потреби в симуляції, що робить практичним розрахунок цілого ланцюжка за частку секунди. Витрати варто викласти чітко.

  • П’ять параметрів калібруються, підганяючись під спостережувані ціни опціонів, а не вимірюються на основі чогось іншого.
  • Калібрування — це знімок стану ринку. Якщо виконати перерахунок завтра, числа зміняться, а це означає, що константи моделі не є сталими.
  • Один набір параметрів рідко підходить для всіх термінів погашення одночасно. Спостережувані «посмішки» волатильності на дуже коротких термінах вигинаються різкіше, ніж дозволяє цей процес дисперсії.
  • Ринкові ціни мають розриви. У моделі дисперсія та спотова ціна рухаються безперервно, тому будь-який розрив має поглинатися підігнаними числами.

Одне застереження важливе для читачів, які переходять зі сторінок про волатильність. Процес дисперсії описує динаміку, що формує ціну опціонів, і це відрізняється від волатильності, яку акція фактично реалізує згодом. Різниця між ними є предметом implied volatility versus realised volatility.

Де модель все ще припускається помилок

Для кожного прогалу існують розширення. Модель Bates зберігає дисперсію Heston і додає стрибки до цінового процесу, що робить «посмішку» волатильності для короткострокових опціонів крутішою. Моделі з «грубою» волатильністю (rough volatility) зберігають випадкову дисперсію та замінюють драйвер на траєкторії, що є більш «шорсткими», ніж стандартний броунівський рух, що дозволяє точніше моделювати дуже короткі терміни. Жоден із цих підходів не усуває проблему калібрування: обидва додають параметри, які необхідно підганяти під поточний момент, а згодом перекалібровувати.

Часті запитання

Що таке модель Хестона простими словами?

Це модель ціноутворення опціонів, у якій волатильність є випадковою величиною. Дисперсія рухається за власною траєкторією з тенденцією до повернення до довгострокового середнього рівня, а її випадковість корелює зі зміною ціни акції. Це дозволяє моделі відображати викривлену «посмішку волатильності» (volatility smile) замість прямої лінії.

Чому модель Блека-Шоулза дає пласку посмішку волатильності?

Вона передбачає одну постійну волатильність, що фіксує єдиний розподіл ціни на момент експірації. Кожен strike оцінюється на основі цього ж розподілу, і при інвертуванні формули ми отримуємо однакову волатильність для будь-якого strike. Пласка лінія — це наслідок початкового припущення, а не результат спостереження за ринками.

Що означають п’ять параметрів моделі Хестона?

Початкова дисперсія задає поточний рівень поверхні. Довгострокова дисперсія визначає рівень, до якого дисперсія прагне з часом, а швидкість повернення до середнього показує, як швидко діє цей вплив. Волатильність волатильності (vol of vol) задає кривизну посмішки, а кореляція між двома шоками визначає її нахил.

Чи відповідає модель Хестона реальним цінам опціонів?

Вона досить точно описує середину типової поверхні, але їй важче працювати з дуже короткими термінами, де спостережувані посмішки викривлені сильніше, ніж дозволяє її процес дисперсії. Крім того, підібрані параметри змінюються з кожним днем, що перетворює калібрування на постійний процес, а не на одноразове вимірювання.


Кожна панель вище постачається разом із SQL-запитом, за допомогою якого вона була створена; його можна одразу застосувати до іншого інструменту або часового вікна. Щоб поставити одне з цих запитань звичайною англійською мовою до даних за опціонами, відкрийте термінал Strasmore.