Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor · · Updated 2026-10-08

O que é o nível de gamma flip?

Entenda o preço em que a gamma estimada dos dealers cruza zero, como o nível é calculado com strike gamma e open interest e como verificá-lo.

O nível de gamma flip é o preço do ativo subjacente no qual a gamma agregada estimada dos dealers cruza zero. Acima desse preço, o livro de opções existente implica fluxos de hedge que atuam contra o movimento. Abaixo dele, os fluxos atuam a favor do movimento. O nível é um resultado de modelo montado com dados públicos de opções e uma grande premissa sobre quem detém cada posição. Por isso, o mais importante é entender como ele é construído.

Do que é composto um nível de gamma flip

Gamma é a taxa de variação do delta de uma opção conforme o ativo subjacente se movimenta, tema de o que é a gamma de uma opção. Uma mesa que administra uma carteira com hedge compra e vende o ativo subjacente à medida que o delta varia. Esse mecanismo é explicado em como funciona o delta hedging. A gamma determina quanto esse hedge precisa mudar a cada ponto de movimento. Ao somar a gamma de todos os contratos de uma cadeia de opções, aplicando um sinal e um peso a cada contrato, obtém-se a exposição à gamma, geralmente escrita como GEX. O flip é uma leitura específica desse total: o preço do ativo subjacente em que o total passa por zero.

Quatro elementos entram no cálculo:

  1. A gamma por contrato em cada strike e vencimento, obtida por um cálculo de Black-Scholes.
  2. Uma convenção de sinais. O cálculo usual presume que os dealers estão vendidos em calls e comprados em puts. Assim, a gamma das calls entra na soma com sinal negativo e a gamma das puts entra com sinal positivo.
  3. Um peso por contrato. Os níveis publicados usam o open interest.
  4. Uma etapa de escala: o multiplicador de 100 ações por contrato e, depois, o quadrado do preço à vista multiplicado por 0,01. Isso expressa o total em dólares de delta por movimento de 1%.

A convenção de sinais merece uma segunda análise. Suponha o inverso: dealers comprados em calls e vendidos em puts. Nesse caso, todos os números agregados mudam de sinal. O ponto de cruzamento em zero não muda. O que muda é qual lado do nível passa a ser chamado de positivo.

Primeira etapa: a gamma por contrato ao longo da escada de strikes

A gamma por contrato não é uniforme em uma cadeia de opções. Ela atinge o pico perto do preço no dinheiro e diminui nas duas direções. O painel abaixo está fixado em uma única sessão passada, a última sessão de junho de 2026 disponível nestes dados, e calcula a média da gamma por contrato entre os vencimentos de 20 a 45 dias para cada strike situado até 6% do fechamento.

QueryGamma média por contrato por strike, SPY, uma sessão de junho de 2026 com preço ancorado
strikegamma de callsgamma de puts
7050.005230.00512
7100.005750.00589
7150.006530.00678
7200.007660.00776
7250.008440.00888
7300.009460.01002
7350.01070.01137
7400.011980.01239
7450.012680.01344
7500.013770.0142
7550.013790.01446
7600.013640.01404
7650.012530.01204
7700.011180.0112
7750.009290.00957
7800.007450.00814
O SQL exato por trás de cada número
SELECT
    toString(toInt32(strike_price))                                                AS strike,
    round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'c'), 5)   AS call_gamma,
    round(avgIf(toFloat64(gamma), lower(substring(option_type, 1, 1)) = 'p'), 5)   AS put_gamma
FROM global_markets.options_greeks
WHERE underlying_symbol = 'SPY'
  AND date = (
        SELECT max(date)
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date <= '2026-06-30'
      )
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 20 AND 45
  AND modulo(toInt32(strike_price), 5) = 0
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
GROUP BY strike_price
HAVING countIf(lower(substring(option_type, 1, 1)) = 'c') > 0
   AND countIf(lower(substring(option_type, 1, 1)) = 'p') > 0
ORDER BY strike_price
Execute você mesmo

No strike inferior dessa janela, a gamma média das calls é 0.00523; no strike superior, é 0.00745. O pico fica entre eles, ao longo de 16 strikes. No modelo, a gamma de calls e puts no mesmo strike e vencimento é igual. Por isso, as duas séries do painel ficam sobrepostas. É a convenção de sinais, e não a gamma, que separa os dois lados.

Segunda etapa: sinais, pesos e o ponto em que a curva muda de direção

A exposição de um único contrato é pequena. Considere um strike com 100 contratos e gamma de 0,02, enquanto o ativo subjacente está a US$ 600. Multiplique 0,02 por 100 contratos, pelo multiplicador de 100 ações, pelo quadrado de 600 e por 0,01. O resultado é aproximadamente US$ 720.000 de delta por movimento de 1%. Essa é a unidade do painel seguinte, expressa em milhões.

O painel percorre a escada de strikes da mesma sessão fixada, considerando todos os vencimentos de até 45 dias. A contribuição de cada strike recebe o sinal definido acima e é ponderada pelo volume de contratos negociados naquela sessão. A coluna acumulada soma as contribuições desde o strike mais baixo.

QueryGamma líquido com sinal por strike e acumulado, $mm de delta por movimento de 1%
strikegamma por strike (US$ mi)gamma acumulado (US$ mi)
70542.442.4
710130.8173.2
71541214.2
72099.8314
725200.1514.1
730253.4767.5
735442.21209.7
7401162.12371.8
7451536.83908.6
750-4878.8-970.2
755-881.6-1851.8
760-395.7-2247.5
765-115.3-2362.8
770-43.8-2406.6
775-26.8-2433.4
780-14-2447.4
785-5.6-2453
790-2.5-2455.5
O SQL exato por trás de cada número
SELECT
    strike,
    strike_gamma_musd,
    round(sum(strike_gamma_musd) OVER (ORDER BY strike_num), 1) AS running_gamma_musd
FROM
(
    SELECT
        toInt32(strike_price)           AS strike_num,
        toString(toInt32(strike_price)) AS strike,
        round(sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                  * toFloat64(gamma) * volume * 100
                  * pow(toFloat64(underlying_close), 2) * 0.01) / 1e6, 1) AS strike_gamma_musd
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date = (
            SELECT max(date)
            FROM global_markets.options_greeks
            WHERE underlying_symbol = 'SPY'
              AND date <= '2026-06-30'
          )
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry <= 45
      AND modulo(toInt32(strike_price), 5) = 0
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.06
    GROUP BY strike_price
)
ORDER BY strike_num
Execute você mesmo

O strike inferior da janela contribui com 42.4 milhões de dólares de delta por movimento de 1%, enquanto o strike superior contribui com -2.5 milhões. Em toda a faixa de 12%, a escada totaliza -2455.5 milhões. Leia a linha acumulada da esquerda para a direita: ela sobe enquanto predominam strikes ponderados pelas puts e muda de direção quando os strikes ponderados pelas calls passam a determinar o saldo. O preço em que isso ocorre é a estimativa do flip. Cada etapa é um cálculo que o leitor pode refazer manualmente. Esse é o objetivo.

O que o nível não representa

Nada nessa construção observa um dealer. O open interest mostra que existe um contrato. Não mostra qual lado dele está na carteira de um market maker. O projeto por trás do painel GEX de código aberto declara essa limitação no próprio README. O documento descreve o resultado como uma aproximação de Black-Scholes calculada com base no open interest e

não como uma medida das posições efetivas dos market makers

(README do projeto, em setembro de 2026)

A cobertura é a segunda lacuna. A fonte de dados gratuita por trás desse painel não oferece um endpoint de cadeia de opções para os símbolos de índices à vista SPX, XSP, NDX, RUT, DJX e VIX. São justamente os símbolos para os quais os praticantes mais costumam citar níveis de flip. Um nível publicado para qualquer um deles foi calculado em outro lugar, com uma cadeia paga ou com um ETF proxy. As opções de SPX e SPY acompanham o mesmo índice, com uma relação nocional aproximada de dez para um. Um nível calculado para um deles precisa ser reescalado antes de representar o outro.

A própria curva é a terceira questão. Um cálculo adequado do flip reavalia a gamma de cada contrato em cada preço potencial do ativo subjacente e encontra o zero da função resultante. A aproximação pela escada acima não faz nenhuma reavaliação. Ela lê o saldo do livro como estava em um determinado fechamento. Os painéis desta página também usam o volume negociado como peso, e não o open interest, porque o volume é o peso por contrato disponível nestes dados diários de gregas. O formato é o mesmo, mas o peso é diferente.

Por que dois provedores publicam níveis diferentes para o mesmo índice

Cada elemento acima é uma escolha, e os provedores fazem escolhas diferentes. A janela de vencimentos é a mais evidente. O painel abaixo recalcula a mesma estimativa na mesma sessão usando quatro faixas do calendário de vencimentos.

QueryEstimativa de flip da ladder por janela de vencimento, uma sessão de junho de 2026 com preço ancorado
faixa de DTEfechamento do spotestimativa de flip
0 to 1 days746.3745
2 to 7 days746.3744
8 to 30 days746.3746
31 to 90 days746.3745
O SQL exato por trás de cada número
SELECT
    dte_bucket,
    round(any(spot), 2)               AS spot_close,
    round(argMax(strike, running), 2) AS flip_estimate
FROM
(
    SELECT
        dte_bucket,
        bucket_order,
        spot,
        strike,
        sum(net_gamma) OVER (PARTITION BY dte_bucket ORDER BY strike) AS running
    FROM
    (
        SELECT
            multiIf(days_to_expiry <= 1,  '0 to 1 days',
                    days_to_expiry <= 7,  '2 to 7 days',
                    days_to_expiry <= 30, '8 to 30 days',
                                          '31 to 90 days')  AS dte_bucket,
            multiIf(days_to_expiry <= 1, 1,
                    days_to_expiry <= 7, 2,
                    days_to_expiry <= 30, 3, 4)             AS bucket_order,
            toFloat64(strike_price)                         AS strike,
            any(toFloat64(underlying_close))                AS spot,
            sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                * toFloat64(gamma) * volume * 100)          AS net_gamma
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date = (
                SELECT max(date)
                FROM global_markets.options_greeks
                WHERE underlying_symbol = 'SPY'
                  AND date <= '2026-06-30'
              )
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry <= 90
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
        GROUP BY dte_bucket, bucket_order, strike
    )
)
GROUP BY dte_bucket, bucket_order
ORDER BY bucket_order
Execute você mesmo

A faixa de 0 a 1 dia coloca a estimativa em 745, contra um fechamento de 746.3. A faixa de 31 a 90 dias coloca a estimativa em 745. Um livro, uma sessão, uma fórmula e quatro respostas. Um painel que soma todos os vencimentos listados e outro que para no primeiro vencimento não estão descrevendo a mesma grandeza. Nenhum dos dois está necessariamente errado.

Os demais parâmetros funcionam da mesma forma:

  • O peso: open interest no ajuste anterior, open interest atualizado durante o pregão ou volume negociado.
  • A faixa de strikes: até que distância fora do dinheiro a soma é calculada antes de ser truncada.
  • A convenção de sinais, que renomeia os lados sem mover o ponto de cruzamento.
  • O horário da fotografia do livro.
  • Se o nível vem diretamente de opções do índice ou de um ETF proxy reescalado.

Por que o nível muda durante a sessão

O open interest dos contratos que vencem no mesmo dia é criado e encerrado durante a própria sessão. A faixa de 0 a 1 dia é a parte do livro que se move mais rapidamente. Ela agora representa uma parcela relevante do volume de opções de índices, tema abordado em opções 0DTE e seus riscos. Um nível calculado às 9h45 ET e o mesmo nível calculado às 14h ET se baseiam em open interest diferentes nos strikes mais próximos do preço à vista, onde a gamma por contrato é maior. Provedores que atualizam os dados durante o pregão publicam um nível que se desloca ao longo do dia. Provedores que fazem uma única fotografia no fechamento anterior publicam um nível estático.

A estimativa muda de um dia para o outro?

Ao longo das 21 sessões de junho de 2026, a mesma estimativa pela escada acompanha o fechamento a uma distância que muda diariamente.

QueryEstimativa diária de flip da ladder versus fechamento, SPY, junho de 2026
21 rows (showing 20)
datarótulo da sessãofechamento do spotestimativa de flip
2026-06-01Jun 1756.58757
2026-06-02Jun 2759.63759
2026-06-03Jun 3750.55753
2026-06-04Jun 4754.56756
2026-06-05Jun 5735.36742.5
2026-06-08Jun 8738.72742.5
2026-06-09Jun 9735.7735
2026-06-10Jun 10722.88729
2026-06-11Jun 11739.48730
2026-06-12Jun 12742.45740
2026-06-15Jun 15753.91754
2026-06-16Jun 16750.75751
2026-06-17Jun 17745.6744
2026-06-18Jun 18746.94746
2026-06-22Jun 22743.67745
2026-06-23Jun 23735.02734
2026-06-24Jun 24737.2732
2026-06-25Jun 25732.7735
2026-06-26Jun 26731.2733
2026-06-29Jun 29740.76739
O SQL exato por trás de cada número
SELECT
    toString(d)                       AS date,
    formatDateTime(d, '%b %e')        AS session_label,
    round(any(spot), 2)               AS spot_close,
    round(argMax(strike, running), 2) AS flip_estimate
FROM
(
    SELECT
        d,
        spot,
        strike,
        sum(net_gamma) OVER (PARTITION BY d ORDER BY strike) AS running
    FROM
    (
        SELECT
            date                              AS d,
            toFloat64(strike_price)           AS strike,
            any(toFloat64(underlying_close))  AS spot,
            sum(multiIf(lower(substring(option_type, 1, 1)) = 'c', -1.0, 1.0)
                * toFloat64(gamma) * volume * 100) AS net_gamma
        FROM global_markets.options_greeks
        WHERE underlying_symbol = 'SPY'
          AND date BETWEEN '2026-06-01' AND '2026-06-30'
          AND iv_converged = 1
          AND volume > 0
          AND days_to_expiry <= 45
          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.15
        GROUP BY d, strike
    )
)
GROUP BY d
ORDER BY d
Execute você mesmo

Em Jun 1, a estimativa ficou em 757, contra um fechamento de 756.58. Em Jun 30, ficou em 746, contra 746.3. As duas séries caminham juntas, como seria esperado de uma estatística ancorada nos pontos em que o volume se concentra. A distância entre elas é o que realmente importa analisar.

Como verificar a razoabilidade de um nível de flip publicado

  • Pergunte quais vencimentos estão incluídos e até que distância fora do dinheiro a soma é calculada antes do truncamento.
  • Pergunte qual peso é utilizado e em que horário esse peso foi capturado.
  • Pergunte se o cálculo foi feito sobre o próprio índice ou sobre um ETF proxy e depois reescalado.
  • Refaça a escada na mesma sessão e verifique se o ponto de mudança de direção fica na mesma região. Dois cálculos consistentes que chegam a uma diferença de 30 pontos estão informando algo sobre o método, não sobre o mercado.
  • Observe a precisão. As escadas de strikes dos índices têm intervalos de 5 pontos ou mais, e as gregas são diárias. Portanto, um nível cotado até a casa dos centavos tem uma precisão maior do que a dos dados que o sustentam.

Perguntas frequentes

O que é o nível de gamma flip em opções?

É o preço do ativo subjacente no qual uma estimativa da gamma total dos dealers cruza zero. A estimativa é construída atribuindo um sinal à gamma de cada contrato, ponderando-a pelo open interest, aplicando o multiplicador do contrato e somando toda a cadeia. Ela vem de dados públicos de opções, e não de uma observação do inventário dos dealers.

O gamma flip é a mesma coisa que GEX?

Não. GEX é o próprio número agregado de gamma, geralmente expresso em dólares de delta por movimento de 1%. O flip é o único preço do ativo subjacente em que esse agregado passa por zero. GEX é a curva; o flip é um ponto dela.

Por que dois painéis mostram níveis diferentes de gamma flip para o mesmo índice?

Eles usam parâmetros diferentes: a janela de vencimentos, a faixa de strikes, o peso e o horário da sua captura, a convenção de sinais e a origem do nível — opções do índice ou um ETF proxy reescalado. O painel de vencimentos acima produz quatro estimativas diferentes para uma única sessão ao variar apenas um parâmetro.

O nível de gamma flip muda durante o pregão?

Para qualquer cálculo que seja atualizado durante o pregão, sim. O open interest dos vencimentos do mesmo dia é criado e encerrado durante a sessão, e os strikes mais próximos do preço à vista carregam o maior peso de gamma. Um nível capturado uma vez no fechamento anterior permanece inalterado até a próxima atualização.


Cada painel desta página traz exatamente o SQL correspondente logo abaixo. Refaça a escada para outro símbolo ou outra sessão no terminal Strasmore e observe onde ocorre a mudança de direção.

#gamma#gex#dealer hedging#options#spx