Modelo de Heston e o volatility smile explicado
Uma volatilidade única não precifica toda a cadeia de opções. Entenda como o modelo de Heston trata a variância estocástica e o impacto de cada parâmetro no smile.
15.56%
O modelo de Heston é um modelo de precificação de opções que trata a volatilidade como aleatória, em vez de fixa. Ele possui duas variáveis dinâmicas: o preço da ação e a variância desse preço, cada uma com seu próprio choque aleatório. Essa segunda fonte de aleatoriedade é o que permite ao modelo gerar um volatility smile. Uma volatilidade constante, premissa do modelo Black-Scholes, só consegue traçar uma linha plana entre os strikes, e nenhuma cadeia de opções apresentou tal comportamento na prática.
Dinâmica do modelo
O modelo de Heston introduz a volatilidade estocástica para corrigir as limitações dos modelos tradicionais. Ao permitir que a variância flutue conforme um processo estocástico, o modelo captura melhor o comportamento dos preços de mercado. A existência de dois movimentos aleatórios distintos possibilita que o modelo reflita a inclinação observada nas volatilidades implícitas, algo que o modelo de Black-Scholes, com sua premissa de volatilidade constante, não consegue replicar. Na prática, o mercado nunca precifica opções com uma volatilidade plana ao longo dos diferentes strikes, tornando o modelo de Heston uma ferramenta mais robusta para a gestão de risco e precificação de derivativos.
Por que um único número de volatilidade não se aplica a uma cadeia de opções
A volatilidade implícita é o dado de volatilidade que faz com que uma fórmula de precificação retorne o preço pelo qual uma opção é efetivamente negociada. Ao invertê-la contrato a contrato, conforme detalhado em nossa página sobre como a volatilidade implícita é calculada, um vencimento resulta em uma curva ao longo dos strikes, em vez de um nível único. O painel abaixo considera todos os contratos de SPY com vinte a quarenta e cinco dias para o vencimento no primeiro semestre de dois mil e vinte e seis, classifica-os em faixas de dois por cento de acordo com a distância entre o strike e o preço à vista (spot), e calcula a média da volatilidade implícita dentro de cada faixa.
O SQL exato por trás de cada número
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_bucketA faixa -12%, com strikes muito abaixo do preço à vista, apresentou uma volatilidade implícita média de 28.05%, 11.61 pontos de volatilidade acima da média at-the-money para o mesmo período. A faixa +12% no lado das calls teve uma média de 15.56%. As faixas intermediárias traçam a curva que dá nome ao efeito, e sua inclinação lateral é o volatility skew. Um modelo com um único parâmetro de volatilidade não possui ajuste para capturar isso: cada strike é precificado com base em uma única distribuição para o preço no vencimento e, ao inverter esse modelo, obtém-se o mesmo número em todos os strikes, por construção.
O que o modelo de Heston altera
Heston mantém o choque aleatório da ação e adiciona um segundo processo para a variância. Em palavras, em vez de símbolos:
- O movimento da ação no instante seguinte é uma tendência (drift) somada a um choque aleatório, ajustado pela raiz quadrada da variância atual.
- O movimento da variância é uma atração em direção a um nível de longo prazo a uma velocidade fixa, somado ao seu próprio choque, ajustado por um parâmetro de volatilidade da volatilidade e pela raiz quadrada da variância atual.
- Os dois choques são correlacionados por um número entre menos um e um.
Esse ajuste pela raiz quadrada é a forma de Cox-Ingersoll-Ross, e cumpre uma função relevante: o choque da variância diminui até zero à medida que a variância se aproxima de zero, o que impede que a variância se torne negativa. Quando o dobro da velocidade multiplicado pela variância de longo prazo excede o quadrado da volatilidade da volatilidade, uma condição nomeada em homenagem a Feller, a variância permanece estritamente positiva.
A variância em si não é observável. Sua contraparte implícita é, e ela não permanece estática. O painel abaixo plota a volatilidade implícita at-the-money para dois ativos, com uma leitura por sessão, ao longo do segundo trimestre de 2026.
O SQL exato por trás de cada número
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 dateO SPY abriu a janela em 20.39% em 2026-04-01 e fechou em 14.45% em 2026-06-30. A NVDA variou de 36.83% a 38.22% ao longo das mesmas 62 sessões. Nenhuma das linhas permanece estática, e nenhuma delas se distancia indefinidamente: ambas oscilam e retornam a uma vizinhança. Precificar ambas as extremidades desse cenário exige um nível inicial somado a um nível de longo prazo, com uma velocidade para a atração entre eles.
Como cada parâmetro de Heston afeta a superfície
A reversão à média e o nível de longo prazo definem a estrutura a termo
O valor de uma opção depende da variância média esperada ao longo de sua vida, e não da variância atual. Para um contrato com vencimento na próxima semana, a variância de hoje domina essa média; para um contrato com vencimento em um ano, o nível de longo prazo é o fator dominante. O parâmetro de velocidade define a rapidez com que a expectativa transita entre esses dois pontos, o que determina a inclinação da volatilidade implícita ao longo do calendário.
O SQL exato por trás de cada número
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)Contratos de SPY próximos ao dinheiro no bucket 1 to 7 days registraram média de 17.05% durante o primeiro semestre de 2026, contra 18.77% no bucket 181 to 365 days. NVDA registrou 41.22% e 44.94% nos mesmos dois buckets. Um modelo de número único precifica todos os vencimentos com base na mesma volatilidade. Heston atribui níveis distintos para o curto e o longo prazo, com o parâmetro de velocidade governando a forma entre eles. Mais dessas curvas estão disponíveis em nossa página de estrutura a termo da IV.
A volatilidade da volatilidade curva o smile
A volatilidade da volatilidade é a própria volatilidade da variância. Ao defini-la como zero, a variância segue uma trajetória suave: a estrutura a termo ainda pode apresentar inclinação, mas o smile entre os strikes torna-se plano. Ao aumentá-la, a distribuição do preço no vencimento ganha peso em ambas as caudas, o que eleva os strikes distantes do preço à vista em relação aos próximos a ele. A amplitude de variação da variância na prática difere conforme o ativo subjacente, e o painel abaixo mede essa variação diretamente.
O SQL exato por trás de cada número
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 cobriu a maior amplitude no painel: volatilidade implícita no dinheiro tão baixa quanto 28.21% e tão alta quanto 74.42%, uma diferença de 46.22 pontos de volatilidade ao longo de seis meses. KO cobriu a menor, com 10.75 pontos. Vega, a sensibilidade do preço à volatilidade que nossa página de vega define, mede o nível da superfície. Sob volatilidade estocástica, dois contratos com vega equivalente podem se comportar de maneira distinta quando a forma da superfície se altera em vez do seu nível.
A correlação inclina o smile para um skew
A correlação entre o choque do ativo e o choque da variância transforma um smile simétrico em um assimétrico. Sob uma correlação negativa, trajetórias em que o ativo cai são trajetórias em que a variância sobe, e a cauda esquerda da distribuição no vencimento ganha mais peso que a direita. A volatilidade implícita do lado das puts é, então, precificada acima da volatilidade implícita do lado das calls para a mesma distância do preço à vista.
O SQL exato por trás de cada número
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 DESCDurante o primeiro semestre de 2026, SPY apresentou a maior diferença no painel: contratos com strike pelo menos 5% abaixo do preço à vista registraram média de 27%, contra 14.76% para contratos com strike pelo menos 5% acima, uma diferença de 12.23 pontos de volatilidade. No outro extremo, MSFT registrou 3.9 pontos na mesma métrica. Um parâmetro de correlação por ativo subjacente é o que cobre toda essa gama de inclinações.
A variância inicial define o nível
O quinto parâmetro é a variância a partir da qual o modelo parte hoje. Ele eleva ou reduz toda a superfície sem alterar significativamente sua forma, razão pela qual é o parâmetro reajustado com maior frequência: ele mantém o modelo alinhado ao nível atual do mercado, enquanto os outros quatro definem a geometria.
O que o modelo compra e quanto custa
A compra é uma superfície que se curva em duas direções a partir de cinco números interpretáveis, precificados rapidamente. O modelo de Heston avalia opções europeias por meio de uma função característica e uma integral numérica, sem necessidade de simulação, o que torna prático ajustar uma cadeia inteira em uma fração de segundo. Os custos merecem ser declarados claramente.
- Os cinco parâmetros são calibrados, ajustados aos preços observados das opções em vez de medidos a partir de qualquer outra fonte.
- Uma calibração é um retrato momentâneo. Refaça o ajuste amanhã e os números mudarão, o que significa que as constantes do modelo não são constantes.
- Um conjunto de parâmetros raramente se ajusta a todos os vencimentos simultaneamente. Os smiles observados no curto prazo são mais acentuados do que este processo de variância consegue replicar.
- Os preços no mercado apresentam gaps. A variância e o preço à vista movem-se continuamente aqui, e um gap precisa ser absorvido pelos números ajustados.
Uma ressalva é importante para os leitores que chegam das páginas de volatilidade. O processo de variância descreve a dinâmica que precifica as opções, o que é um objeto diferente da volatilidade que uma ação efetivamente realiza. A distância entre os dois é o tema de volatilidade implícita versus volatilidade realizada.
Onde o modelo ainda falha
Existem extensões para cada uma dessas lacunas. O modelo de Bates mantém a variância de Heston e adiciona saltos ao processo de preços, o que acentua o smile de curto prazo. Os modelos de volatilidade rough mantêm a variância aleatória e substituem o direcionador por trajetórias mais irregulares do que o movimento browniano padrão, ajustando-se melhor ao vencimento de curtíssimo prazo. Nenhum deles elimina o problema da calibração: ambos adicionam parâmetros que precisam ser ajustados a um momento e reajustados posteriormente.
Perguntas Frequentes
O que é o modelo de Heston em termos simples?
É um modelo de precificação de opções no qual a volatilidade é aleatória. A variância segue sua própria trajetória com uma atração em direção a um nível de longo prazo, e sua aleatoriedade é correlacionada com a da ação, o que permite ao modelo precificar uma curva de volatilidade (volatility smile) em vez de uma linha reta.
Por que o modelo de Black-Scholes resulta em uma curva de volatilidade plana?
Ele assume uma volatilidade constante, o que fixa uma única distribuição para o preço no vencimento. Cada strike é precificado a partir dessa mesma distribuição, e inverter a fórmula retorna a mesma volatilidade para todos os strikes. A linha plana é um resultado da premissa, não uma descoberta sobre os mercados.
O que significam os cinco parâmetros de Heston?
A variância inicial define o nível atual da superfície. A variância de longo prazo define para onde a variância é atraída ao longo do tempo, e a velocidade de reversão à média define a rapidez com que essa atração atua. A volatilidade da volatilidade define a curvatura do smile, e a correlação entre os dois choques define sua inclinação.
O modelo de Heston se ajusta aos preços reais das opções?
Ele se ajusta bem ao centro de uma superfície típica e tem mais dificuldade no vencimento de curtíssimo prazo, onde os smiles observados se curvam de forma mais acentuada do que o processo de variância permite. Os parâmetros ajustados também mudam de um dia para o outro, o que torna a calibração um exercício recorrente em vez de uma medição única.
Cada painel acima é entregue com o SQL que o gerou, pronto para ser redirecionado para outro ticker ou outra janela. Para fazer uma dessas perguntas em linguagem simples sobre dados de opções, abra o terminal Strasmore.