Modelo de Heston y la sonrisa de volatilidad
Una cifra de volatilidad no basta para valorar una cadena de opciones. Analizamos cómo el modelo de Heston permite la varianza estocástica y el impacto de sus parámetros en el spread.
15.56%
El modelo de Heston
El modelo de Heston es un modelo de valoración de opciones que trata la volatilidad como una variable aleatoria en lugar de una constante. Este modelo incorpora dos componentes dinámicos: el precio de la acción y la varianza de dicho precio, cada uno con su propio choque aleatorio. Esta segunda fuente de aleatoriedad es lo que permite que el modelo genere una sonrisa de volatilidad. Una volatilidad constante, que es el supuesto subyacente en Black-Scholes, solo puede trazar una línea plana a través de los diferentes strike, y ninguna cadena de opciones ha presentado nunca una estructura plana.
Por qué una sola cifra de volatilidad no sirve para toda una cadena de opciones
La volatilidad implícita es el dato de volatilidad que hace que una fórmula de valoración arroje el precio al que realmente cotiza una opción. Si se invierte el cálculo contrato por contrato, tal como se detalla en nuestra página sobre cómo se calcula la volatilidad implícita, un mismo vencimiento arroja una curva a través de los diferentes strikes en lugar de un nivel único. El panel a continuación toma todos los contratos de SPY con entre veinte y cuarenta y cinco días de vigencia durante la primera mitad de dos mil veintiséis, los clasifica en bandas del dos por ciento según la distancia entre el strike y el precio spot, y calcula el promedio de la volatilidad implícita dentro de cada banda.
El SQL exacto detrás de cada cifra
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_bucketLa banda -12%, con strikes muy por debajo del precio spot, promedió una volatilidad implícita del 28.05%, 11.61 puntos de volatilidad por encima del promedio at-the-money para el mismo periodo. La banda +12% en el lado de las calls promedió 15.56%. Las bandas intermedias trazan la curva que da nombre a este efecto, y su inclinación lateral se denomina volatility skew. Un modelo con un único parámetro de volatilidad no dispone de ningún ajuste para reflejar esto: cada strike se valora a partir de una única distribución para el precio al vencimiento, y al invertir ese modelo se obtiene la misma cifra en todos los strikes, por construcción.
Qué cambia el modelo de Heston
Heston mantiene el choque aleatorio de la acción y añade un segundo proceso para la varianza. En palabras, en lugar de símbolos:
- El movimiento de la acción en el instante siguiente es una tendencia más un choque aleatorio, ajustado por la raíz cuadrada de la varianza actual.
- El movimiento de la varianza es una atracción hacia un nivel de largo plazo a una velocidad fija, más su propio choque, ajustado por un parámetro de volatilidad de la volatilidad y la raíz cuadrada de la varianza actual.
- Ambos choques están correlacionados por un número entre menos uno y uno.
Ese ajuste por raíz cuadrada es la forma de Cox-Ingersoll-Ross, y cumple una función importante: el choque de la varianza se reduce hasta desaparecer a medida que la varianza se acerca a cero, lo que impide que la varianza se vuelva negativa. Cuando el doble de la velocidad multiplicada por la varianza de largo plazo supera el cuadrado de la volatilidad de la volatilidad, una condición denominada en honor a Feller, la varianza se mantiene estrictamente positiva.
La varianza en sí misma no es observable. Su contraparte implícita sí lo es, y no permanece estática. El panel a continuación grafica la volatilidad implícita at-the-money para dos nombres, una lectura por sesión, a lo largo del segundo trimestre de dos mil veintiséis.
El SQL exacto detrás de cada cifra
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 abrió el periodo en 20.39% el 2026-04-01 y lo cerró en 14.45% el 2026-06-30. NVDA pasó de 36.83% a 38.22% a lo largo de las mismas 62 sesiones. Ninguna línea se mantiene fija, y ninguna se dispara: ambas fluctúan y regresan constantemente a un entorno determinado. Valorar ambos extremos de esa imagen requiere un nivel inicial más un nivel de largo plazo con una velocidad para la atracción entre ambos.
Cómo afecta cada parámetro de Heston a la superficie
La reversión a la media y el nivel de largo plazo definen la estructura temporal
El valor de una opción depende de la varianza promedio esperada durante su vida, no de la varianza actual. Para un contrato que vence la próxima semana, la varianza de hoy domina ese promedio; para uno que vence en un año, domina el nivel de largo plazo. El parámetro de velocidad determina qué tan rápido viaja la expectativa entre ambos, lo que fija la inclinación de la volatilidad implícita desde el inicio hasta el final del calendario.
El SQL exacto detrás de cada cifra
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)Los contratos de SPY cercanos al precio de ejercicio (near-the-money) en el segmento 1 to 7 days promediaron 17.05% durante la primera mitad de dos mil veintiséis, frente a 18.77% en el segmento 181 to 365 days. NVDA registró 41.22% y 44.94% en esos mismos dos segmentos. Un modelo de un solo número valora cada vencimiento a partir de la misma volatilidad. Heston otorga niveles propios al inicio y al final, con el parámetro de velocidad gobernando la forma intermedia. Más de estas curvas se encuentran en nuestra página de estructura temporal de IV.
La volatilidad de la volatilidad curva la sonrisa
La volatilidad de la volatilidad es la varianza de la propia varianza. Si se establece en cero, la varianza sigue una trayectoria suave: la estructura temporal aún puede inclinarse, pero la sonrisa a través de los strikes se vuelve plana. Al aumentarla, la distribución del precio al vencimiento gana peso en ambas colas, lo que eleva los strikes alejados del precio spot por encima de los cercanos. La distancia que recorre la varianza en la práctica difiere según el activo subyacente, y el panel a continuación mide ese recorrido directamente.
El SQL exacto detrás de cada cifra
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 cubrió el rango más amplio del panel: una volatilidad implícita at-the-money tan baja como 28.21% y tan alta como 74.42%, una diferencia de 46.22 puntos de volatilidad en seis meses. KO cubrió el rango más estrecho, con 10.75 puntos. Vega, la sensibilidad del precio a la volatilidad que define nuestra página de vega, mide el nivel de la superficie. Bajo volatilidad estocástica, dos contratos con vega equivalente pueden comportarse de forma distinta cuando se mueve la forma en lugar del nivel.
La correlación inclina la sonrisa hacia un sesgo (skew)
La correlación entre el choque del activo y el choque de la varianza convierte una sonrisa simétrica en una asimétrica. Bajo una correlación negativa, las trayectorias donde el activo cae son aquellas donde la varianza aumenta, y la cola izquierda de la distribución al vencimiento tiene más peso que la derecha. La volatilidad implícita del lado de las put cotiza entonces por encima de la volatilidad implícita del lado de las call a la misma distancia del precio spot.
El SQL exacto detrás de cada cifra
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 la primera mitad de dos mil veintiséis, SPY mostró la brecha más amplia del panel: los contratos con strike al menos cinco por ciento por debajo del spot promediaron 27% frente a 14.76% para los contratos con strike al menos cinco por ciento por encima, una diferencia de 12.23 puntos de volatilidad. En el otro extremo, MSFT registró 3.9 puntos en la misma medición. Un parámetro de correlación por activo subyacente es lo que cubre todo ese rango de inclinaciones.
La varianza inicial fija el nivel
El quinto parámetro es la varianza desde la cual parte el modelo hoy. Este eleva o reduce toda la superficie sin alterar significativamente su forma, razón por la cual se reajusta con mayor frecuencia: mantiene al modelo alineado con el nivel actual del mercado mientras los otros cuatro parámetros sostienen la geometría.
Lo que compra el modelo y su coste
La compra es una superficie que se curva en dos direcciones a partir de cinco números interpretables, valorados con rapidez. Heston valora las opciones europeas mediante una función característica y una integral numérica, sin necesidad de simulación, lo que hace práctico ajustar toda una cadena en una fracción de segundo. Vale la pena exponer los costes con claridad.
- Los cinco parámetros se calibran, ajustándose a los precios de las opciones observados en lugar de medirse a partir de cualquier otra variable.
- Una calibración es una instantánea. Si se vuelve a ajustar mañana, los números cambian, lo que significa que las constantes del modelo no son constantes.
- Un conjunto de parámetros rara vez se ajusta a todos los vencimientos a la vez. Las sonrisas de volatilidad observadas en el corto plazo se curvan con mayor intensidad de lo que este proceso de varianza puede replicar.
- Los precios en el mercado presentan brechas. Aquí, tanto la varianza como el precio spot se mueven de forma continua, y cualquier brecha debe ser absorbida por los números ajustados.
Una advertencia es relevante para los lectores que provienen de las páginas sobre volatilidad. El proceso de varianza describe la dinámica que fija el precio de las opciones, lo cual es un objeto distinto a la volatilidad que una acción termina realizando. La distancia entre ambos es el tema de volatilidad implícita frente a volatilidad realizada.
Donde el modelo aún presenta deficiencias
Existen extensiones para cada brecha. El modelo de Bates mantiene la varianza de Heston y añade saltos al proceso de precios, lo que acentúa la inclinación de la sonrisa (smile) en los vencimientos cortos. Los modelos de volatilidad rugosa (rough volatility) conservan la varianza aleatoria y sustituyen el factor impulsor por trayectorias más irregulares que el movimiento browniano estándar, ajustándose mejor al tramo de muy corto plazo. Ninguno elimina el problema de la calibración: ambos añaden parámetros que deben ajustarse a un momento dado y recalibrarse posteriormente.
Preguntas frecuentes
¿Qué es el modelo de Heston en términos sencillos?
Es un modelo de valoración de opciones en el que la volatilidad es aleatoria. La varianza sigue su propia trayectoria con una tendencia hacia un nivel de largo plazo, y su aleatoriedad está correlacionada con la de la acción, lo que permite al modelo valorar una sonrisa de volatilidad curva en lugar de una línea plana.
¿Por qué Black-Scholes arroja una sonrisa de volatilidad plana?
Asume una volatilidad constante, lo que fija una única distribución para el precio al vencimiento. Cada strike se valora a partir de esa misma distribución, y al invertir la fórmula se obtiene la misma volatilidad en cada strike. La línea plana es un resultado de la premisa, no un hallazgo sobre los mercados.
¿Qué significan los cinco parámetros de Heston?
La varianza inicial establece el nivel actual de la superficie. La varianza de largo plazo determina hacia dónde se dirige la varianza con el tiempo, y la velocidad de reversión a la media establece qué tan rápido actúa esa fuerza. La volatilidad de la volatilidad define la curvatura de la sonrisa, y la correlación entre ambos choques determina su inclinación.
¿Se ajusta el modelo de Heston a los precios reales de las opciones?
Se ajusta estrechamente a la parte central de una superficie típica y tiene más dificultades en el extremo de muy corto plazo, donde las sonrisas observadas se curvan de forma más pronunciada de lo que permite su proceso de varianza. Los parámetros ajustados también cambian de un día a otro, lo que convierte la calibración en un ejercicio recurrente en lugar de una medición única.
Cada panel anterior incluye el SQL que lo generó, listo para ser redirigido a otro nombre u otra ventana. Para realizar una de estas consultas en lenguaje sencillo sobre datos de opciones, abra la terminal Strasmore.