Estructura temporal de la IV: qué indica la curva
La estructura temporal de la IV muestra la volatilidad implícita por vencimiento. Conozca el significado de las curvas ascendentes e invertidas con datos reales de opciones.
La estructura temporal de la IV es la volatilidad implícita graficada frente al vencimiento, con una lectura por vencimiento, usando opciones con strikes cercanos al precio actual de la acción. Hay dos formas que cubren casi todo lo que encontrará: una pendiente ascendente en condiciones tranquilas, donde los vencimientos lejanos tienen la cifra más alta, y una curva invertida cuando un evento fechado cae en el mes más cercano. Ambas formas que aparecen abajo se construyen con datos de opciones por contrato, no con un diagrama de manual.
Qué mide la estructura temporal de la IV
La volatilidad implícita es el tamaño anualizado del movimiento que el precio de una opción implica para la acción subyacente. Se cotiza por contrato, por lo que una sola acción tiene cientos de lecturas en cualquier momento, una por cada strike y vencimiento disponible. Si se fija el strike cerca del precio actual y se deja variar el vencimiento, esas lecturas forman una curva. Esa curva es la estructura temporal.
La selección de la muestra importa más de lo que admiten la mayoría de las explicaciones. Cada panel toma contratos cuyo delta absoluto se sitúa entre 0.35 y 0.65. Es la forma estándar de referirse a opciones cercanas al dinero sin fijar un strike concreto. Después toma la volatilidad implícita mediana dentro de cada banda de vencimiento. Se usa la mediana, no el promedio: una cotización desactualizada en un contrato con poco volumen puede mostrar una cifra inverosímil, y el promedio la incorpora al resultado.
Esta es la curva de seis nombres líquidos durante las sesiones de junio de 2026.
El SQL exacto detrás de cada cifra
WITH (
SELECT quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker))
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 20
) AS front_band_iv
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct,
round(100 * (quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)) - front_band_iv), 1) AS pts_vs_front_band,
count() AS contract_count
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('SPY', 'AAPL', 'MSFT', 'KO', 'JNJ', 'PG')
AND date >= toDate('2026-06-01')
AND date < toDate('2026-07-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 3
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
ORDER BY min(days_to_expiry)La volatilidad implícita mediana medida 19.6% en la banda 5-20 days y 21.5% en la banda 181-365 days, 1.9 puntos por encima del vencimiento más cercano. La forma tiene un nombre tomado de los mercados de futuros: contango, cuando la entrega posterior tiene un precio más alto. Una curva invertida está en backwardation.
Por qué la curva normalmente tiene pendiente ascendente
Dos mecanismos mantienen la forma normal.
El primero es la densidad de eventos. Un contrato que vence en nueve días cubre nueve días de riesgo de calendario. En una empresa de gran capitalización sin nada programado dentro de ese periodo, se trata principalmente de días ordinarios de negociación. Un contrato que vence en un año cubre cuatro reportes trimestrales, varias reuniones de bancos centrales y todos los titulares imprevistos entre una fecha y otra. Una mayor cantidad de incertidumbres conocidas por contrato eleva la cifra anualizada que el mercado está dispuesto a pagar.
El segundo es el comportamiento de la volatilidad. La volatilidad realizada se agrupa: a semanas tranquilas suelen seguir semanas tranquilas, y a semanas violentas suelen seguir semanas violentas. Mientras el mercado está tranquilo, las opciones cercanas al vencimiento cotizan cerca de la lectura tranquila de hoy. Las opciones que vencen dentro de un año cotizan más cerca del promedio de largo plazo, que es más alto. La misma aritmética funciona a la inversa después de un shock. En las sesiones posteriores a un desplome, el vencimiento más cercano muestra la volatilidad implícita más alta de toda la cadena y la curva se invierte en toda su extensión. Los meses lejanos permanecen anclados cerca de su nivel habitual.
Qué invierte la curva: un evento fechado
Un reporte de resultados programado es la inversión más clara que puede observarse. El reporte se publica después del cierre en una fecha conocida. Todo vencimiento posterior a esa fecha incluye el movimiento, y todo vencimiento anterior no lo incluye. El vencimiento más cercano que cubre el evento tiene menos días ordinarios con los que promediarlo, por lo que su lectura anualizada sube más. Una opción a seis meses distribuye el mismo evento entre aproximadamente 125 sesiones de negociación y apenas lo refleja.
NVIDIA reportó después del cierre del miércoles 26 de febrero de 2025. El panel muestra toda la curva dos veces: en la última sesión antes del reporte, el 25 de febrero, y en la primera sesión después, el 27 de febrero.
El SQL exacto detrás de cada cifra
SELECT multiIf(days_to_expiry <= 20, '5-20 days',
days_to_expiry <= 45, '21-45 days',
days_to_expiry <= 90, '46-90 days',
days_to_expiry <= 180, '91-180 days',
'181-365 days') AS expiry_band,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25')), 1) AS iv_before_print_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27')), 1) AS iv_after_print_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-25'))
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
toDate(date) = toDate('2025-02-27'))), 1) AS iv_drop_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-25')
AND date < toDate('2025-02-28')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND days_to_expiry BETWEEN 5 AND 365
GROUP BY expiry_band
HAVING countIf(toDate(date) = toDate('2025-02-25')) >= 3
AND countIf(toDate(date) = toDate('2025-02-27')) >= 3
ORDER BY min(days_to_expiry)La banda 5-20 days mostró 84.9% en la sesión anterior al reporte y 66.4% en la sesión posterior, un cambio de 18.5 puntos. La banda 181-365 days se movió 1 puntos entre los mismos dos cierres, una fracción del movimiento de la banda más cercana. Una misma acción subyacente y un mismo evento producen experiencias opuestas en los dos extremos de la curva. Ese desplome del extremo cercano es el aplastamiento de la IV, y la estructura temporal permite verlo por anticipado.
Cómo se forma y se desploma la curva
Una sesión a cada lado de un reporte es una instantánea. La formación tarda semanas y aparece como una ampliación de la brecha entre los dos extremos de la curva.
El SQL exacto detrás de cada cifra
SELECT toDate(date) AS session_date,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20), 1) AS front_iv_pct,
round(100 * quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180), 1) AS back_iv_pct,
round(100 * (quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 20)
- quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180)), 1) AS front_minus_back_pts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date >= toDate('2025-02-10')
AND date < toDate('2025-03-15')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.05 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 20) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 20) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
ORDER BY session_dateLa brecha entre las bandas fue de 12.4 puntos en la primera sesión del periodo y de 3.3 puntos en la última, a lo largo de 24 sesiones. Observe la forma de la línea del vencimiento cercano, no su nivel: sube a medida que se aproxima el reporte, alcanza un máximo en las sesiones que lo rodean y retrocede dentro de una sesión después. La línea del vencimiento lejano apenas cambia durante todo el periodo. Resultados y las griegas de las opciones explica qué efecto tiene el mismo evento sobre vega y theta en los contratos individuales.
¿Con qué frecuencia se invierte la curva?
La inversión no es excepcional, y el tiempo que cada nombre permanece en ella durante el año varía enormemente entre tickers.
El SQL exacto detrás de cada cifra
WITH daily AS (
SELECT underlying_symbol,
toDate(date) AS session_date,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 5 AND 30) AS front_iv,
quantileDeterministicIf(0.5)(toFloat64(implied_volatility), cityHash64(ticker),
days_to_expiry BETWEEN 91 AND 180) AS back_iv
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'AMZN', 'KO', 'JNJ', 'PG', 'SPY', 'XOM', 'WMT')
AND date >= toDate('2025-08-01')
AND date < toDate('2026-08-01')
AND iv_converged = 1
AND volume > 0
AND implied_volatility BETWEEN 0.03 AND 5
AND abs(toFloat64(delta)) BETWEEN 0.35 AND 0.65
AND ((days_to_expiry BETWEEN 5 AND 30) OR (days_to_expiry BETWEEN 91 AND 180))
GROUP BY underlying_symbol, session_date
HAVING countIf(days_to_expiry BETWEEN 5 AND 30) >= 3
AND countIf(days_to_expiry BETWEEN 91 AND 180) >= 3
)
SELECT underlying_symbol AS ticker,
count() AS sessions,
round(100 * countIf(front_iv > back_iv) / count(), 1) AS inverted_pct,
round(100 * quantileDeterministic(0.5)(front_iv - back_iv,
cityHash64(concat(underlying_symbol, toString(session_date)))), 1) AS median_spread_pts
FROM daily
GROUP BY underlying_symbol
ORDER BY inverted_pct DESCDurante 251 sesiones en los doce meses hasta el 31 de julio de 2026, XOM mostró la banda más cercana por encima de la banda de 91 a 180 días en 68.5% de ellas, frente a 19.5% en el caso de SPY. Sus brechas medianas fueron de 1.4 puntos y -2.1 puntos, respectivamente. Los nombres con eventos fechados en un calendario regular pasan más tiempo del año con la curva invertida. Un fondo indexado amplio pasa la mayor parte del tiempo en contango, con inversiones concentradas alrededor de las liquidaciones del mercado. El rango de IV mide algo distinto: dónde se sitúa el nivel de hoy dentro de su propio año anterior, no cómo está formada la curva entre vencimientos.
Qué implica una curva plana o invertida para un calendar spread
Un calendar spread vende una opción con vencimiento cercano y compra otra con vencimiento más lejano al mismo strike. Un diagonal hace lo mismo con dos strikes diferentes. En ambos casos, la posición está larga de volatilidad implícita en el vencimiento lejano y corta de volatilidad implícita en el cercano. Por eso, la estructura temporal es su principal variable de entrada, no un detalle secundario.
Cuando la curva tiene pendiente ascendente, la pierna cercana se vende con una volatilidad implícita inferior a la que se paga al comprar la pierna lejana. Cuando el mes más cercano está invertido antes de un evento, esa relación se revierte y la posición se abre en una curva que tiene margen para converger. Después, el vencimiento cercano se desploma hacia el lejano, el lejano se mueve poco y el spread entre ambas lecturas vuelve a su forma habitual. El resultado final de la posición también depende de cuánto se mueva la acción, algo que la curva no indica. La página sobre el movimiento esperado cubre esa parte del problema.
Una curva plana es el caso más incómodo. No hay pendiente con la que trabajar en ninguna dirección, y el resultado depende casi por completo de la trayectoria de la acción y del paso del tiempo.
Preguntas frecuentes sobre la estructura temporal de la IV
¿Qué es la estructura temporal de la IV en opciones?
Es la volatilidad implícita graficada por fecha de vencimiento para opciones cercanas al dinero. En seis nombres líquidos durante junio de 2026, la lectura mediana fue de 19.6% en la banda 5-20 days y de 21.5% en la banda 181-365 days.
¿Qué significa una estructura temporal de la IV invertida?
Una curva invertida muestra su volatilidad implícita más alta en los vencimientos más cercanos. Aparece cuando un evento fechado cae dentro del mes más cercano y en las sesiones posteriores a una liquidación pronunciada, cuando los contratos cercanos incorporan los movimientos recientes de gran magnitud y los lejanos se sitúan más cerca de un promedio de largo plazo.
¿Por qué la volatilidad implícita del mes más cercano es tan alta antes de resultados?
Un contrato cercano al vencimiento tiene muy pocos días ordinarios de negociación con los que promediar un gran movimiento overnight esperado. Por eso, la cifra anualizada sube para reflejarlo. La banda 5-20 days de NVIDIA mostró 84.9% en la sesión anterior a su reporte del 26 de febrero de 2025 y 66.4% en la sesión posterior.
¿La estructura temporal es lo mismo que el skew de volatilidad?
No. El skew compara la volatilidad implícita entre strikes dentro de un mismo vencimiento. La estructura temporal mantiene aproximadamente constante el grado de moneyness y compara entre vencimientos. El skew de volatilidad cubre la dimensión de los strikes de esa misma superficie.
Todas las cifras anteriores son consultas almacenadas sobre volatilidad implícita por contrato, con el SQL disponible para expandirse debajo de cada panel. Trace la misma curva para cualquier ticker en la terminal de Strasmore.