Movimiento esperado con volatilidad implícita
Calcula el movimiento esperado con precio, volatilidad implícita y días. Revisa la fórmula, el atajo del straddle y los movimientos realizados.
El movimiento esperado es el rango que el mercado de opciones está valorando para una acción durante un número fijo de días. La volatilidad implícita es el dato que lo determina: precio de la acción multiplicado por la volatilidad implícita y por la raíz cuadrada de los días divididos entre 365. Una acción de $100 con una volatilidad implícita de 30% durante 30 días tiene un movimiento esperado cercano a $8.60, o 8.6%, porque 0.30 multiplicado por la raíz cuadrada de 30 dividido entre 365 equivale a 0.086. Esa cifra representa un rango de una desviación estándar. No es un pronóstico de dirección ni un nivel que el precio no pueda superar.
Cómo calcular el movimiento esperado a partir de la volatilidad implícita
La volatilidad implícita es la desviación estándar anualizada de los rendimientos que implica el precio de una opción. Siempre se expresa como una cifra anual, por lo que una lectura de 30% describe un rango a un año y cada periodo más corto debe escalarse a partir de ella. La volatilidad escala con la raíz cuadrada del tiempo. Por eso los días aparecen bajo una raíz cuadrada, en lugar de dividirse directamente.
Movimiento esperado = precio × IV × √(días ÷ 365)
Dos convenciones determinan si el resultado coincide con el que muestra tu bróker. Usar días calendario sobre 365 es el estándar entre inversores minoristas. Algunas mesas, en cambio, escalan con días de negociación sobre 252, lo que produce un rango ligeramente más amplio para la misma IV. El resultado representa una desviación estándar, es decir, un rango que cubre aproximadamente 68% de los resultados bajo una distribución normal. Duplicarlo produce el rango de dos desviaciones estándar, que cubre aproximadamente 95%.
Que la IV utilizada sea alta es una cuestión distinta y tiene su propia página: ¿una IV de 30% es alta? compara una lectura individual con la distribución propia del mercado.
Por qué el rango crece con la raíz cuadrada de los días
Mantenga fija una acción y una sesión, y cambie únicamente el horizonte. La forma de la fórmula aparece por sí sola. Contratos de Apple near-the-money a mediados de julio de 2026, agrupados según el tiempo restante hasta el vencimiento:
El SQL exacto detrás de cada cifra
SELECT multiIf(days_to_expiry <= 7, '1 week',
days_to_expiry <= 14, '2 weeks',
days_to_expiry <= 45, '1 month',
days_to_expiry <= 120, '3 months',
days_to_expiry <= 240, '6 months',
'1 year') AS horizon,
round(avg(days_to_expiry), 0) AS avg_days,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(avg(toFloat64(underlying_close)) * avg(toFloat64(implied_volatility))
* sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_usd,
round(avg(toFloat64(underlying_close)), 2) AS underlying_price,
formatDateTime(max(date), '%b %e, %Y') AS as_of
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = (SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date <= toDate('2026-07-15'))
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 1 AND 400
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY horizon
HAVING count() >= 3
ORDER BY avg_daysAl Jul 15, 2026, el grupo de 1 week promedió 5 días hasta el vencimiento y una volatilidad implícita de 28%. El movimiento esperado fue de 3.17%, o $10.41 frente a un precio de la acción de $327.8. El grupo de 1 year promedió 292 días y una IV de 28.4%. El movimiento esperado fue de 25.44%, o $83.39.
La clave está en las proporciones, no en los niveles. Si se cuadruplica el número de días, el movimiento esperado se duplica, para cualquier acción y cualquier nivel de IV, porque la raíz cuadrada de 4 es 2. Quien anualiza un rango mensual multiplicándolo por 12 sobreestima el rango anual por un factor de aproximadamente 3.5. El multiplicador correcto es la raíz cuadrada de 12, que es 3.46.
El atajo del straddle y por qué queda cerca de 20% por debajo
Hay una vía más rápida para estimar el movimiento esperado por el mercado y no requiere cálculos. Busque el straddle at-the-money: la call y la put con el mismo strike y el mismo vencimiento. Luego sume ambas primas. Muchas mesas de trading cotizan esa suma como el movimiento esperado.
Los dos métodos no producen el mismo número, y la diferencia no implica un error en ninguno de los dos. Un straddle paga la distancia absoluta entre el precio de cierre de la acción y el strike. Por eso, su precio refleja el movimiento promedio esperado por el mercado. La fórmula devuelve una desviación estándar. En una distribución normal, la desviación absoluta media equivale a 0.798 desviaciones estándar. Por eso, el straddle queda cerca de 20% por debajo del resultado de la fórmula. Multiplicar el straddle por 1.25 —es decir, dividirlo entre 0.798— hace coincidir ambos resultados.
Apliquemos el cálculo al ejemplo hipotético de $100 del inicio. La fórmula da $8.60. El straddle at-the-money de esa acción tendría un precio cercano a $6.86, porque 0.798 × 8.60 = 6.86. Si multiplica $6.86 por 1.25, vuelve a obtener $8.58. Son dos métodos que llegan a un mismo número, siempre que se sepa qué estadística representa cada uno. Lectura de una cadena de opciones muestra dónde aparecen esas dos primas.
Lo que no significa el movimiento esperado
- No indica una dirección. La banda es simétrica alrededor del precio de hoy, y el mercado de opciones valora su amplitud, no el lado hacia el que se moverá el precio.
- No es una promesa. El 68% proviene de una distribución normal, pero los rendimientos reales tienen colas más gruesas. Por eso, los resultados extremos ocurren con mayor frecuencia de la que permite el modelo.
- No es una barrera. Según el modelo, aproximadamente una de cada tres ventanas termina fuera de la banda de una desviación estándar. Terminar fuera de ella es lo habitual.
- No es fijo. La volatilidad implícita se vuelve a valorar en cada sesión. Por eso, el movimiento esperado para un vencimiento determinado se recalcula a diario.
Qué ocurre después de un reporte de resultados
Una fecha programada de resultados es el caso más claro de cómo la volatilidad implícita sube antes del anuncio y baja en la sesión posterior a la publicación de las noticias, un patrón conocido como contracción de la volatilidad implícita. El movimiento esperado se reduce de forma abrupta siguiendo el mismo calendario. El reporte de NVDA de finales de mayo de 2023 se publicó después del cierre de la primera sesión del panel siguiente.
El SQL exacto detrás de cada cifra
WITH
(SELECT avg(toFloat64(implied_volatility))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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) AS iv_report_day,
(SELECT avg(toFloat64(underlying_close))
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date = toDate('2023-05-24')
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) AS px_report_day
SELECT date,
formatDateTime(date, '%b %e') AS session_label,
round(100 * avg(toFloat64(implied_volatility)), 1) AS iv_pct,
round(100 * avg(toFloat64(implied_volatility)) * sqrt(avg(days_to_expiry) / 365), 2) AS expected_move_pct,
round(100 * avg(toFloat64(implied_volatility)) / iv_report_day, 1) AS iv_pct_of_report_day,
round(100 * (avg(toFloat64(underlying_close)) / px_report_day - 1), 2) AS move_from_report_day_pct
FROM global_markets.options_greeks
WHERE underlying_symbol = 'NVDA'
AND date BETWEEN toDate('2023-05-24') AND toDate('2023-06-09')
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 count() >= 3
ORDER BY dateLa volatilidad implícita near-the-money se situó en 115.1% el May 24, la sesión del reporte, con un movimiento implícito hasta el vencimiento de 30.54%. En la sesión siguiente, la misma medición equivalía a 42.9% de ese nivel. Para Jun 9, la volatilidad implícita se ubicaba en 39.2% y las acciones estaban 1.71% respecto al cierre de la sesión del reporte.
Esa combinación explica una queja habitual. Un trader puede acertar la dirección del movimiento posterior a resultados y aun así perder dinero con una opción comprada: el componente de volatilidad con el que se valoró el contrato se reduce en cuanto se resuelve la incertidumbre. Cómo los resultados mueven las griegas desarrolla el resto de los efectos sobre esa posición.
¿La variación esperada se confirma frente a las variaciones realizadas?
La afirmación se puede comprobar. Este es el análisis. Cada miércoles durante los dos años hasta mediados de junio de 2026, para seis nombres líquidos, se toma la volatilidad implícita at-the-money de contratos con vencimiento entre 25 y 40 días, se convierte en una variación esperada para los días siguientes y luego se mide cuánto se movió realmente la acción hasta la primera sesión situada al menos 30 días calendario después.
El SQL exacto detrás de cada cifra
WITH obs AS (
SELECT underlying_symbol AS ticker,
date AS obs_date,
avg(toFloat64(implied_volatility)) AS iv,
avg(toFloat64(underlying_close)) AS spot
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-06-17')
AND toDayOfWeek(date) = 3
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 25 AND 40
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY ticker, obs_date
HAVING count() >= 4 AND avg(toFloat64(implied_volatility)) > 0.01
),
px AS (
SELECT underlying_symbol AS ticker,
date AS px_date,
avg(toFloat64(underlying_close)) AS close_px
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('NVDA', 'AAPL', 'MSFT', 'XOM', 'SPY', 'KO')
AND date BETWEEN toDate('2024-06-12') AND toDate('2026-07-25')
AND days_to_expiry BETWEEN 5 AND 60
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
GROUP BY ticker, px_date
),
moves AS (
SELECT obs.ticker AS ticker,
obs.obs_date AS obs_date,
any(obs.iv) AS iv,
any(obs.spot) AS spot,
argMin(px.close_px, px.px_date) AS end_px,
min(dateDiff('day', obs.obs_date, px.px_date)) AS elapsed_days
FROM obs
INNER JOIN px ON obs.ticker = px.ticker
WHERE px.px_date >= addDays(obs.obs_date, 30)
AND px.px_date <= addDays(obs.obs_date, 36)
GROUP BY ticker, obs_date
)
SELECT ticker,
count() AS windows_tested,
round(quantileDeterministic(0.5)(100 * iv * sqrt(elapsed_days / 365), cityHash64(obs_date)), 2) AS implied_move_pct,
round(quantileDeterministic(0.5)(100 * abs(end_px / spot - 1), cityHash64(obs_date)), 2) AS realized_move_pct,
round(100 * countIf(abs(end_px / spot - 1) > iv * sqrt(elapsed_days / 365)) / count(), 1) AS realized_over_implied_pct
FROM moves
GROUP BY ticker
ORDER BY implied_move_pct DESCNVDA valoró el rango más amplio de los seis, con una variación implícita mediana de 13.3% frente a una variación realizada mediana de 6.77% en 103 ventanas. En el extremo de menor volatilidad, SPY valoró 4.37% frente a una variación realizada de 2.68%.
La última columna es la relevante. Se supone que un rango de una desviación estándar se supera aproximadamente 32% de las veces. Ese es el parámetro de referencia, no cero. 23.3% de las NVDA ventanas terminaron fuera del rango que habían valorado sus opciones, y 24.3% de las SPY ventanas hicieron lo mismo. Compare las dos medianas de cada nombre. La brecha entre ellas, en cualquier dirección, resume el argumento sobre si las opciones estaban valorando una variación mayor que la que finalmente se produjo. Buscar los nombres con los rangos implícitos más amplios es un ejercicio distinto, y las acciones con mayor volatilidad implícita los clasifica.
Notas y definiciones de los datos
- At-the-money significa un strike situado dentro de 5% del cierre del subyacente en esa sesión, en contratos con volatilidad implícita convergente y volumen distinto de cero.
- La variación esperada utiliza días calendario sobre una base de 365 durante todo el análisis. La variación realizada es la distancia porcentual entre el cierre de observación y el cierre de la primera sesión situada al menos 30 días calendario después, sin considerar el signo.
- Las observaciones son semanales, mientras que las ventanas futuras abarcan 30 días. Por ello, las ventanas contiguas se superponen y los recuentos no son observaciones independientes.
Preguntas frecuentes sobre el movimiento esperado
¿Cómo se calcula el movimiento esperado a partir de la volatilidad implícita?
Multiplica el precio de la acción por la volatilidad implícita expresada como decimal y luego por la raíz cuadrada de los días divididos entre 365. Para una acción de $50 con una volatilidad implícita de 40% durante 45 días: 50 × 0.40 × √(45 ÷ 365) = $7.02, un rango de aproximadamente 14%.
¿El precio del straddle at-the-money es igual al movimiento esperado?
Es parecido, pero no idéntico. El straddle refleja el movimiento promedio esperado, que equivale aproximadamente a 0.798 de una desviación estándar. Multiplicar la prima del straddle por 1.25 permite recuperar la cifra de una desviación estándar que arroja la fórmula.
¿Una acción permanece dentro de su movimiento esperado?
Por lo general, y el modelo prevé que salga de ese rango aproximadamente 32% de las veces. En las ventanas semanales analizadas arriba, 23.3% de NVDA ventanas terminaron fuera del rango implícito y 24.3% de SPY ventanas lo hicieron.
¿Por qué el movimiento esperado se reduce justo después de la publicación de resultados?
El movimiento esperado es una función directa de la volatilidad implícita. La volatilidad implícita sube antes de un informe programado y baja una vez que se conocen los resultados. En el panel anterior, la sesión posterior al informe de NVDA registró 42.9% de la lectura del día del informe.
¿Un movimiento esperado más amplio representa una mejor oportunidad?
Es simplemente un rango más amplio. Un movimiento esperado mayor significa que el mercado de opciones está descontando más incertidumbre, por lo que los contratos que incorporan esa incertidumbre cuestan proporcionalmente más. La amplitud del rango no indica si su precio es justo.
Cada panel aquí es una consulta almacenada con su SQL adjunto. Abre uno, cambia el ticker y ejecuta la misma prueba de volatilidad implícita frente a volatilidad realizada en la terminal de Strasmore.