Strasmore Research
Aprendizado Matt ConnorPor Matt Connor

o que é max pain em opções o cálculo real

Max pain é o strike onde titulares de opções recebem menos no vencimento. Veja o cálculo em uma cadeia real do SPY e quão perto o settlement realmente ficou.

A dor máxima é o preço de exercício no qual o maior valor em dólar de opções em aberto expiraria sem valor. Ela pertence a um ativo-objeto e a uma data de vencimento, e resulta de uma busca sobre o interesse em aberto: testar cada preço de exercício listado como um preço de liquidação hipotético, somar o que cada call e put em aberto pagaria ao seu titular naquele preço, e manter o preço onde o total é o menor. O nome descreve o lado dos titulares das opções no balanço. Esta página percorre a aritmética em uma cadeia real do SPY e, em seguida, mede o quão próximo o preço de liquidação realmente ficou nos vencimentos mensais padrão de 2026.

Como a dor máxima é calculada?

A dor máxima é uma busca, não uma fórmula. Cinco etapas:

  1. Coletar o interesse em aberto, o número de contratos ainda pendentes, em cada preço de exercício no vencimento, com calls e puts mantidos separados.
  2. Escolher um preço de liquidação candidato. Os próprios preços de exercício listados são o conjunto de candidatos usual.
  3. Valorizar cada call como o preço candidato menos seu exercício, limitado a zero, e cada put como seu exercício menos o preço candidato, limitado a zero.
  4. Multiplicar cada valor pelo interesse em aberto daquele exercício e pelo multiplicador do contrato de 100 ações, depois somar toda a cadeia em um único valor em dólar.
  5. Repetir para cada candidato e manter o menor total. Esse candidato é o preço de exercício da dor máxima.

Um exemplo hipotético fixa a mecânica. Digamos que 1.000 calls estejam em aberto no exercício de $95 e a liquidação ocorra a $100. Cada contrato paga ao seu titular $5 por ação, então o bloco paga $500.000 em 1.000 contratos de 100 ações. Deslize a liquidação para $95 e esse bloco não paga nada, enquanto cada put com exercício acima de $95 começa a pagar. Percorrer o preço candidato para cima e para baixo na escada traça uma curva com um fundo, e esse fundo é o número que as pessoas citam.

Duas propriedades vêm diretamente da definição. O mínimo fica onde o valor da call e o valor da put se equilibram aproximadamente em termos de dólar, o que o coloca perto dos exercícios com o maior interesse em aberto. E o valor descreve uma cadeia em um momento: recalcule-o após outra sessão de negociação e a resposta se move.

Onde os contratos estão na escada de exercícios

O interesse em aberto é publicado uma vez por sessão a partir de dados de compensação após o fechamento. Os painéis aqui usam o volume de contratos negociados ao longo da vida de um vencimento como um substituto visível para esse arquivo, e o objeto tem a mesma forma: uma pilha de contratos empilhados dentro de alguns dólares do preço do ativo-objeto. Cada contrato na cadeia do SPY com vencimento na sexta-feira, 17 de julho de 2026, agrupado por exercício:

QueryContratos SPY negociados por strike, vencimento 17 jul 2026
O SQL exato por trás de cada número
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

A escada se inclina à medida que cruza o dinheiro. No exercício de $736, as puts superaram as calls em 113.2 mil para 8 mil. Em $757 a inclinação vai para o outro lado, 131.7 mil calls contra 8.1 mil puts. As puts se acumulam abaixo do preço do ativo-objeto e as calls se acumulam acima, e os dois lados se cruzam em algum lugar no meio. Essa região de cruzamento é onde um valor de dor máxima vai pousar antes que qualquer aritmética seja executada, que é a primeira coisa que vale a pena saber sobre a estatística. Contratos negociados e contratos em aberto são contagens diferentes, e volume de opções vs interesse em aberto separa os dois.

A curva de pagamento e seu fundo

Executar as etapas 3 a 5 nos preços de liquidação candidatos de $730 a $765 desenha a forma que o cálculo busca:

QueryPagamento total aos detentores de opções em cada preço de liquidação candidato, SPY 17 jul 2026
O SQL exato por trás de cada número
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

Uma liquidação a $730 pagaria aos titulares $11149.2 milhões nesta cadeia, quase todo para titulares de puts. Uma liquidação a $765 pagaria $11083.9 milhões, quase todo para titulares de calls. Entre as extremidades, a curva cai em uma bacia rasa. Classificar os mesmos totais do menor para o maior nomeia o exercício:

QueryOs seis strikes candidatos de menor pagamento, vencimento SPY 17 jul 2026
O SQL exato por trás de cada número
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

O mínimo está em $746, a $1898.2 milhões. Observe o quão plana é a bacia, em vez de apenas onde ela atinge o fundo. O segundo colocado, $747, chega a $1940.2 milhões, e o sexto candidato classificado $749 a $2272.8 milhões. Seis preços candidatos abrangendo alguns dólares em um instrumento de mais de $700 ficam próximos, então uma revisão modesta na cadeia move o exercício impresso enquanto nada no mercado mudou.

O que a teoria afirma

A versão popular diz que um ativo-objeto gravita em direção ao seu preço de exercício de dor máxima até o vencimento, com os vendedores de opções empurrando-o para lá. Duas afirmações separadas estão empilhadas nessa frase. A primeira é estatística: os preços de liquidação se aglomeram perto do preço de exercício da dor máxima. A segunda é mecânica: alguém está fazendo o empurrão.

A segunda afirmação é a mais fraca. Um valor de dor máxima agrega o interesse em aberto sem nenhuma informação sobre qual contraparte está comprada e qual está vendida em qualquer exercício, então os vendedores na história são uma suposição, não uma observação. Um participante capaz de mover um ETF de mercado amplo para um exercício escolhido precisaria de um tamanho além dos fluxos de hedge que toda a cadeia gera. Onde um mecanismo de hedge real foi descrito, é o gama: um livro de dealer carregando gama positivo redimensiona seu hedge vendendo na alta e comprando na baixa, um manual que os praticantes chamam de amortecimento ou fixação perto de exercícios muito negociados. Nosso explicador de exposição gama detalha essa estimativa e as suposições por baixo dela.

A primeira afirmação se sustenta melhor, com uma grande ressalva coberta na próxima seção. O trabalho acadêmico sobre fixação no vencimento documenta o efeito mais claramente em ações individuais cujo interesse em aberto em opções é grande em relação às suas ações negociáveis, e o mede em centavos, não em dólares.

Quão próximo o preço de exercício realmente chega?

Seis vencimentos mensais padrão ocorreram no SPY entre fevereiro e julho de 2026. Para cada um, o painel calcula o preço de exercício minimizador a partir dos contratos daquela semana de vencimento, imprime o preço de fechamento real na sessão de vencimento e coloca um controle ingênuo ao lado: o próprio fechamento do SPY uma semana antes, medido contra o mesmo preço de liquidação.

QueryStrike minimizador vs fechamento da liquidação: vencimentos mensais SPY, fev a jul 2026
O SQL exato por trás de cada número
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

A lacuna entre o preço de exercício minimizador e o fechamento variou de 0.07% no vencimento de Jun 18 a 0.53% no de Mar 20, permanecendo abaixo de seis décimos de um por cento em todos os meses. Citado por si só, isso parece uma forte taxa de acerto. Duas características da medição o reduzem.

A escada de candidatos é centrada no preço do ativo-objeto por construção. Os exercícios são listados ao redor do dinheiro, e os contratos que alimentam a soma também se concentram lá, então a aritmética começa dentro de uma faixa estreita ao redor do preço à vista e não pode retornar uma resposta muito fora dela. A segunda característica é o momento: os contratos que alimentam cada linha aqui foram negociados até e incluindo a sessão de vencimento, junto com o fechamento que está sendo comparado. Um valor calculado a partir da mesma janela contra a qual é medido está descrevendo essa janela, não a prevendo com antecedência.

A última coluna é o controle que vale a pena ler. O fechamento do SPY uma semana antes de Apr 17 errou o preço de liquidação por 4.32%, contra 0.42% para o preço de exercício minimizador. Em May 15 os dois ficaram a uma fração um do outro, 0.21% contra 0.12%. Uma estatística calculada no dia do vencimento deve superar um preço de uma semana atrás por uma margem ampla. O teste honesto, que este painel não tenta, congela a cadeia uma semana antes e pergunta se aquele exercício prevê o fechamento melhor do que o preço que estava na tela no mesmo dia.

Lendo um número de dor máxima publicado

  • Pergunte quais contratos entraram nele. Os editores diferem nas séries semanais versus mensais, e nas cadeias de índice versus cadeias de ETF que rastreiam o mesmo benchmark.
  • Pergunte quando o interesse em aberto foi obtido. O arquivo de compensação é atualizado uma vez por sessão, então um valor intradiário que se move está sendo recalculado a partir de outra coisa.
  • Pergunte como é a curva inteira, não apenas onde está o fundo. Uma bacia plana significa que o preço de exercício impresso é um de vários com respostas quase iguais.
  • Compare com uma alternativa ingênua antes de ler a proximidade como habilidade.

A mecânica de vencimento decide quais contratos ainda estão na soma em qualquer dia, e quando as opções expiram cobre esse calendário. Para uma segunda estatística de posicionamento construída a partir da mesma cadeia, a relação put/call mede a mistura de calls e puts diretamente.

FAQ sobre dor máxima

O que significa dor máxima na negociação de opções?

Dor máxima é o preço de exercício no qual o pagamento total aos titulares de opções em aberto em um único vencimento seria o menor. É calculado a partir do interesse em aberto testando cada preço de exercício listado como um preço de liquidação hipotético e mantendo o mais barato. O número descreve a forma de uma cadeia de opções e não contém previsão.

As ações sempre fecham no preço de exercício da dor máxima?

Não. Nos seis vencimentos mensais do SPY medidos acima, o preço de exercício minimizador ficou dentro de 0.53% do fechamento em seu ponto mais amplo, o que parece apertado até que o valor seja comparado com um benchmark ingênuo e com o fato de que os exercícios candidatos já se aglomeram em torno do preço. Proximidade em uma escada centrada no preço à vista é um teste fraco.

Com que frequência um número de dor máxima muda?

O interesse em aberto é publicado uma vez por sessão de negociação a partir de dados de compensação após o fechamento, então a maioria dos números de dor máxima publicados se move no máximo uma vez por dia. Um painel cujo número se move durante a sessão está sendo recalculado a partir do volume negociado ou de um instantâneo da cadeia intradiário, em vez do interesse em aberto liquidado.

Dor máxima é o mesmo que exposição gama?

Não. Ambos leem a mesma cadeia de opções e respondem a perguntas diferentes. A dor máxima nomeia um preço, usando apenas o interesse em aberto, sem modelo de precificação. A exposição gama dimensiona um fluxo de hedge em dólares por movimento de um por cento, e precisa de uma superfície de volatilidade implícita mais uma suposição sobre qual lado de cada contrato os dealers seguram.

A dor máxima funciona em ações individuais?

A aritmética é executada em qualquer cadeia listada. Seu resultado fica ruidoso em cadeias finas onde um punhado de exercícios carrega quase todo o interesse em aberto, e a pesquisa de fixação que apoia qualquer parte da teoria se concentra em nomes cujo interesse em aberto em opções é grande em relação às ações disponíveis para negociação.


Cada painel acima é uma consulta armazenada com seu SQL a um clique de distância. Execute a mesma análise exercício por exercício em qualquer cadeia no terminal Strasmore.