Strasmore Research
Educación Matt ConnorPor Matt Connor

calculo max pain opciones SPY formula

El dolor máximo es el strike donde los tenedores de opciones reciben menos al vencimiento. Vea el cálculo en una cadena real de SPY y qué tan cerca aterrizó la liquidación.

El dolor máximo es el precio de ejercicio al que expiraría sin valor el mayor valor en dólares de opciones en circulación. Pertenece a un subyacente y una fecha de vencimiento, y surge de una búsqueda sobre el interés abierto: se prueba cada ejercicio listado como precio de liquidación hipotético, se suma lo que pagaría cada call y put en circulación a su tenedor a ese precio, y se conserva el precio donde el total es más pequeño. El nombre describe el lado del libro de los tenedores de opciones. Esta página recorre la aritmética en una cadena real de SPY, y luego mide qué tan cerca aterrizó la liquidación real en los vencimientos mensuales estándar de 2026.

¿Cómo se calcula el dolor máximo?

El dolor máximo es una búsqueda, no una fórmula. Cinco pasos:

  1. Reúne el interés abierto, la cantidad de contratos aún en circulación, en cada ejercicio del vencimiento, con calls y puts por separado.
  2. Elige un precio de liquidación candidato. Los propios ejercicios listados son el conjunto candidato habitual.
  3. Valora cada call como el precio candidato menos su ejercicio, con un mínimo de cero, y cada put como su ejercicio menos el precio candidato, con un mínimo de cero.
  4. Multiplica cada valor por el interés abierto de ese ejercicio y por el multiplicador de contrato de 100 acciones, luego suma toda la cadena en una cifra en dólares.
  5. Repite para cada candidato y conserva el total más pequeño. Ese candidato es el ejercicio de dolor máximo.

Un ejemplo hipotético fija la mecánica. Supón que 1,000 calls están abiertos en un ejercicio de $95 y la liquidación termina en $100. Cada contrato paga a su tenedor $5 por acción, por lo que el bloque paga $500,000 en 1,000 contratos de 100 acciones. Baja la liquidación a $95 y ese bloque no paga nada, mientras que cada put con ejercicio superior a $95 comienza a pagar en su lugar. Recorrer el precio candidato hacia arriba y hacia abajo en la escalera traza una curva con un mínimo, y ese mínimo es el número que la gente cita.

Dos propiedades surgen directamente de la definición. El mínimo se ubica donde el valor de los calls y el valor de los puts se equilibran aproximadamente en términos dólares, lo que lo coloca cerca de los ejercicios con el interés abierto más pesado. Y la cifra describe una cadena en un momento: recalcularla después de otra sesión de negociación y la respuesta se mueve.

Dónde están los contratos en la escalera de ejercicios

El interés abierto se publica una vez por sesión a partir de datos de la cámara de compensación después del cierre. Los paneles aquí utilizan el volumen de contratos negociados durante la vida de un vencimiento como un sustituto visible de ese archivo, y el objeto tiene la misma forma: una pila de contratos apilados a unos pocos dólares del precio del subyacente. Cada contrato en la cadena de SPY que vence el viernes 17 de julio de 2026, agrupado por ejercicio:

ConsultaContratos de SPY negociados por strike, vencimiento 17 de julio de 2026
El SQL exacto detrás de cada cifra
SELECT toString(strike_usd) AS strike,
       round(sumIf(contracts, opt_type = 'C') / 1e3, 1) AS call_contracts_k,
       round(sumIf(contracts, opt_type = 'P') / 1e3, 1) AS put_contracts_k
FROM (
    SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike_usd,
           substring(ticker, length(ticker) - 8, 1)                              AS opt_type,
           sum(toFloat64(volume))                                                AS contracts
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime('2026-06-18 08:00:00')
      AND window_start <  toDateTime('2026-07-18 04:00:00')
      AND startsWith(ticker, 'O:SPY260717')
      AND intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) BETWEEN 736 AND 757
    GROUP BY strike_usd, opt_type
)
GROUP BY strike_usd, strike
ORDER BY strike_usd
Run this yourself

La escalera se inclina al cruzar el dinero. En el ejercicio de $736, los puts superaron a los calls en 113.2 mil a 8 mil. En $757 la inclinación va en la otra dirección, 131.7 mil calls contra 8.1 mil puts. Los puts se apilan por debajo del precio del subyacente y los calls se apilan por encima, y los dos lados se cruzan en algún punto intermedio. Esa región de cruce es donde aterrizará una cifra de dolor máximo antes de que se ejecute cualquier aritmética, que es lo primero que vale la pena saber sobre la estadística. Los contratos negociados y los contratos en circulación son recuentos diferentes, y volumen de opciones vs interés abierto separa los dos.

La curva de pago y su mínimo

Ejecutar los pasos 3 a 5 en precios de liquidación candidatos de $730 a $765 dibuja la forma que busca el cálculo:

ConsultaPago total a tenedores de opciones en cada precio de liquidación candidato, SPY 17 de julio de 2026
El SQL exacto detrás de cada cifra
WITH chain AS (
    SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
           substring(ticker, length(ticker) - 8, 1)                              AS opt_type,
           sum(toFloat64(volume))                                                AS contracts
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime('2026-06-18 08:00:00')
      AND window_start <  toDateTime('2026-07-18 04:00:00')
      AND startsWith(ticker, 'O:SPY260717')
    GROUP BY strike, opt_type
),
candidates AS (
    SELECT DISTINCT strike AS settle FROM chain WHERE strike BETWEEN 730 AND 765
)
SELECT candidates.settle AS settle_price,
       round(sum(multiIf(chain.opt_type = 'C' AND chain.strike < candidates.settle,
                         chain.contracts * (candidates.settle - chain.strike),
                         chain.opt_type = 'P' AND chain.strike > candidates.settle,
                         chain.contracts * (chain.strike - candidates.settle),
                         0)) * 100 / 1e6, 1) AS holder_payout_usd_mm
FROM candidates CROSS JOIN chain
GROUP BY settle_price
ORDER BY settle_price
Run this yourself

Una liquidación de $730 pagaría a los tenedores $11149.2 millones en esta cadena, casi todo a los tenedores de puts. Una liquidación de $765 pagaría $11083.9 millones, casi todo a los tenedores de calls. Entre los extremos, la curva cae en una cuenca poco profunda. Clasificar los mismos totales de menor a mayor nombra el ejercicio:

ConsultaLos seis strikes candidatos de menor pago, vencimiento SPY 17 de julio de 2026
El SQL exacto detrás de cada cifra
WITH chain AS (
    SELECT intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
           substring(ticker, length(ticker) - 8, 1)                              AS opt_type,
           sum(toFloat64(volume))                                                AS contracts
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime('2026-06-18 08:00:00')
      AND window_start <  toDateTime('2026-07-18 04:00:00')
      AND startsWith(ticker, 'O:SPY260717')
    GROUP BY strike, opt_type
),
candidates AS (
    SELECT DISTINCT strike AS settle FROM chain WHERE strike BETWEEN 730 AND 765
)
SELECT concat('$', toString(candidates.settle)) AS candidate_strike,
       round(sum(multiIf(chain.opt_type = 'C' AND chain.strike < candidates.settle,
                         chain.contracts * (candidates.settle - chain.strike),
                         chain.opt_type = 'P' AND chain.strike > candidates.settle,
                         chain.contracts * (chain.strike - candidates.settle),
                         0)) * 100 / 1e6, 1) AS holder_payout_usd_mm
FROM candidates CROSS JOIN chain
GROUP BY candidate_strike
ORDER BY holder_payout_usd_mm ASC
LIMIT 6
Run this yourself

El mínimo está en $746, en $1898.2 millones. Mira lo plana que es la cuenca, no solo dónde se encuentra el fondo. El subcampeón, $747, llega a $1940.2 millones, y el sexto candidato clasificado $749 a $2272.8 millones. Seis precios candidatos que abarcan unos pocos dólares en un instrumento de más de $700 se sientan cerca uno del otro, por lo que una revisión modesta de la cadena mueve el ejercicio impreso mientras nada en el mercado ha cambiado.

Lo que afirma la teoría

La versión popular dice que un subyacente gravita hacia su ejercicio de dolor máximo hasta el vencimiento, con los vendedores de opciones empujándolo allí. Dos afirmaciones separadas están apiladas en esa oración. La primera es estadística: los precios de liquidación se agrupan cerca del ejercicio de dolor máximo. La segunda es mecánica: alguien está haciendo el empuje.

La segunda afirmación es la más débil. Una cifra de dolor máximo agrega el interés abierto sin información sobre qué contraparte está larga y cuál está corta en cualquier ejercicio, por lo que los vendedores en la historia son una suposición, no una observación. Un participante capaz de mover un ETF de mercado amplio a un ejercicio elegido necesitaría un tamaño más allá de los flujos de cobertura que genera toda la cadena. Cuando se ha descrito un mecanismo de cobertura real, es el gamma: un libro de creador de mercado con gamma positiva reajusta su cobertura vendiendo en las subidas y comprando en las bajadas, un manual que los profesionales llaman amortiguación o fijación cerca de ejercicios muy negociados. Nuestro explicador de exposición gamma presenta esa estimación y los supuestos subyacentes.

La primera afirmación se sostiene mejor, con una gran salvedad cubierta en la siguiente sección. El trabajo académico sobre la fijación al vencimiento documenta el efecto más claramente en acciones individuales cuyo interés abierto en opciones es grande en relación con sus acciones negociables, y lo mide en centavos, no en dólares.

¿Qué tan cerca aterriza realmente el ejercicio?

Seis vencimientos mensuales estándar se ejecutaron en SPY entre febrero y julio de 2026. Para cada uno, el panel calcula el ejercicio minimizador de los contratos de esa semana de vencimiento, imprime el precio de cierre real en la sesión de vencimiento y coloca un control ingenuo a su lado: el propio cierre de SPY una semana antes, medido contra el mismo precio de liquidación.

ConsultaStrike minimizador vs cierre de liquidación: vencimientos mensuales de SPY, feb a jul 2026
El SQL exacto detrás de cada cifra
WITH expiries AS (
    SELECT arrayJoin([toDate('2026-02-20'), toDate('2026-03-20'), toDate('2026-04-17'),
                      toDate('2026-05-15'), toDate('2026-06-18'), toDate('2026-07-17')]) AS expiry
),
chain AS (
    SELECT toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))  AS expiry,
           intDiv(toUInt32OrZero(substring(ticker, length(ticker) - 7, 8)), 1000) AS strike,
           substring(ticker, length(ticker) - 8, 1)                              AS opt_type,
           sum(toFloat64(volume))                                                AS contracts
    FROM global_markets.options_minute_aggs
    WHERE ((window_start >= toDateTime('2026-02-16 08:00:00') AND window_start < toDateTime('2026-02-21 04:00:00'))
        OR (window_start >= toDateTime('2026-03-16 08:00:00') AND window_start < toDateTime('2026-03-21 04:00:00'))
        OR (window_start >= toDateTime('2026-04-13 08:00:00') AND window_start < toDateTime('2026-04-18 04:00:00'))
        OR (window_start >= toDateTime('2026-05-11 08:00:00') AND window_start < toDateTime('2026-05-16 04:00:00'))
        OR (window_start >= toDateTime('2026-06-15 08:00:00') AND window_start < toDateTime('2026-06-19 04:00:00'))
        OR (window_start >= toDateTime('2026-07-13 08:00:00') AND window_start < toDateTime('2026-07-18 04:00:00')))
      AND startsWith(ticker, 'O:SPY26')
      AND toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) IN (SELECT expiry FROM expiries)
    GROUP BY expiry, strike, opt_type
),
curve AS (
    SELECT c1.expiry AS expiry,
           c1.strike AS settle,
           sum(multiIf(c2.opt_type = 'C' AND c2.strike < c1.strike, c2.contracts * (c1.strike - c2.strike),
                       c2.opt_type = 'P' AND c2.strike > c1.strike, c2.contracts * (c2.strike - c1.strike),
                       0)) AS payout
    FROM chain AS c1 INNER JOIN chain AS c2 ON c1.expiry = c2.expiry
    GROUP BY c1.expiry, c1.strike
),
pain AS (
    SELECT expiry, argMin(settle, payout) AS pain_strike FROM curve GROUP BY expiry
),
px AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMax(close, window_start)                          AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-02-05')
      AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-07-17')
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
),
prior AS (
    SELECT expiries.expiry AS expiry, argMax(px.close_px, px.d) AS week_earlier_px
    FROM expiries CROSS JOIN px
    WHERE px.d <= expiries.expiry - 7
    GROUP BY expiries.expiry
)
SELECT formatDateTime(pain.expiry, '%b %e')                                   AS expiry_label,
       pain.pain_strike                                                       AS min_payout_strike,
       round(px.close_px, 2)                                                  AS settlement_close,
       round(abs(px.close_px - pain.pain_strike) / px.close_px * 100, 2)      AS max_pain_miss_pct,
       round(abs(px.close_px - prior.week_earlier_px) / px.close_px * 100, 2) AS week_earlier_miss_pct
FROM pain
INNER JOIN px ON pain.expiry = px.d
INNER JOIN prior ON pain.expiry = prior.expiry
ORDER BY pain.expiry
Run this yourself

La brecha entre el ejercicio minimizador y el cierre fue de 0.07% en el vencimiento de Jun 18 a 0.53% en Mar 20, manteniéndose por debajo de seis décimas de punto porcentual en cada mes. Citado por sí solo, eso parece una alta tasa de aciertos. Dos características de la medición lo reducen.

La escalera candidata está centrada en el precio del subyacente por construcción. Los ejercicios se listan alrededor del dinero, y los contratos que alimentan la suma también se concentran allí, por lo que la aritmética comienza dentro de una banda estrecha alrededor del spot y no puede devolver una respuesta muy fuera de ella. La segunda característica es el momento: los contratos que alimentan cada fila aquí se negociaron hasta la sesión de vencimiento inclusive, junto con el cierre con el que se compara. Una cifra calculada a partir de la misma ventana contra la que se mide está describiendo esa ventana, no prediciéndola de antemano.

La última columna es el control que vale la pena leer. El cierre de SPY una semana antes de Apr 17 falló el precio de liquidación por 4.32%, contra 0.42% para el ejercicio minimizador. En May 15 los dos estuvieron dentro de una fracción el uno del otro, 0.21% contra 0.12%. Una estadística calculada el día del vencimiento debería superar por un amplio margen a un precio de una semana de antigüedad. La prueba honesta, que este panel no intenta, congela la cadena una semana antes y pregunta si ese ejercicio predice el cierre mejor que el precio que está en la pantalla ese mismo día.

Cómo leer un número de dolor máximo publicado

  • Pregunta qué contratos se incluyeron. Los editores difieren en las series semanales frente a las mensuales, y en las cadenas de índices frente a las cadenas de ETF que siguen el mismo índice de referencia.
  • Pregunta cuándo se obtuvo el interés abierto. El archivo de la cámara de compensación se actualiza una vez por sesión, por lo que una cifra intradiaria que se mueve se está recalculando a partir de otra cosa.
  • Pregunta cómo se ve toda la curva, no solo dónde está el fondo. Una cuenca plana significa que el ejercicio impreso es uno de varios con respuestas casi iguales.
  • Compara con una alternativa ingenua antes de leer la cercanía como habilidad.

La mecánica de vencimiento decide qué contratos todavía están en la suma en un día determinado, y cuándo vencen las opciones cubre ese calendario. Para una segunda estadística de posicionamiento construida a partir de la misma cadena, la relación put call mide la mezcla de calls y puts directamente.

Preguntas frecuentes sobre el dolor máximo

¿Qué significa el dolor máximo en el trading de opciones?

El dolor máximo es el precio de ejercicio en el que el pago total a los tenedores de opciones en circulación en un solo vencimiento sería el más pequeño. Se calcula a partir del interés abierto probando cada ejercicio listado como un precio de liquidación hipotético y conservando el más barato. El número describe la forma de una cadena de opciones y no contiene ninguna previsión.

¿Las acciones siempre cierran en el ejercicio de dolor máximo?

No. En los seis vencimientos mensuales de SPY medidos anteriormente, el ejercicio minimizador se situó dentro de 0.53% del cierre en su punto más amplio, lo que suena ajustado hasta que la cifra se compara con un punto de referencia ingenuo y con el hecho de que los ejercicios candidatos se agrupan alrededor del precio ya. La cercanía en una escalera centrada en el spot es una prueba débil.

¿Con qué frecuencia cambia un número de dolor máximo?

El interés abierto se publica una vez por sesión de negociación a partir de los datos de la cámara de compensación después del cierre, por lo que la mayoría de las cifras de dolor máximo publicadas se mueven como máximo una vez al día. Un panel cuyo número se mueve durante la sesión se está recalculando a partir del volumen negociado o de una instantánea de la cadena intradiaria en lugar del interés abierto liquidado.

¿Es el dolor máximo lo mismo que la exposición gamma?

No. Ambos leen la misma cadena de opciones y responden preguntas diferentes. El dolor máximo nombra un precio, utilizando solo el interés abierto sin un modelo de precios. La exposición gamma dimensiona un flujo de cobertura en dólares por movimiento del uno por ciento, y necesita una superficie de volatilidad implícita más una suposición sobre qué lado de cada contrato tienen los creadores de mercado.

¿Funciona el dolor máximo en acciones individuales?

La aritmética se ejecuta en cualquier cadena listada. Su resultado se vuelve ruidoso en cadenas delgadas donde un puñado de ejercicios lleva casi todo el interés abierto, y la investigación sobre fijación que respalda cualquier parte de la teoría se concentra en nombres cuyo interés abierto en opciones es grande en relación con las acciones disponibles para negociar.


Cada panel anterior es una consulta almacenada con su SQL a un clic de distancia. Ejecuta el mismo recorrido ejercicio por ejercicio en cualquier cadena en el terminal de Strasmore.