Strasmore Research
Recaps de mercado Matt ConnorPor Matt Connor · Atualizado 2026-07-23 · data as of July 23, 2026 · refreshed weekly

Atividade incomum de opções na última sessão

Confira o ranking de opções com volume acima da média de vinte sessões e o split entre calls e puts para cada ticker do mercado americano.

Atividade incomum de opções significa que um ativo negociou muito mais contratos de opções em uma sessão do que sua média recente. Este painel classifica essa atividade para a última sessão de opções concluída, Jul 21: o total de contratos negociados em relação à média do mesmo ativo nas 20 sessões anteriores. O registro de opções é processado após o registro das ações, portanto, a sessão listada aqui é a mais recente completa em nossos dados, e não a de hoje.

Um esclarecimento antes da tabela: este é um filtro de volume. A maioria dos alertas de opções incomuns publicados compara o volume do dia com o open interest, que é a contagem de contratos ainda em aberto após o fechamento. O registro de opções que armazenamos contém negociações, não posições, e não há um campo de open interest em nossos dados. Cada ratio abaixo compara o volume de um ativo contra seu próprio histórico de volume. Volume de opções vs. open interest explica o que cada métrica responde.

Atividade incomum de opções: última sessão completa

QueryAtividade incomum de opções: última sessão vs. média de 20 sessões do ativo
O SQL exato por trás de cada número
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
day_root AS (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY root, d
),
scored AS (
    SELECT r.root AS root,
           sumIf(r.vol, c.rn = 1) AS last_vol,
           avgIf(r.vol, c.rn BETWEEN 2 AND 21) AS base_vol,
           maxIf(r.vol, c.rn BETWEEN 2 AND 21) AS prior_high,
           countIf(c.rn BETWEEN 2 AND 21) AS root_sessions,
           max(c.baseline_sessions) AS baseline_session_count,
           maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id,
           maxIf(formatDateTime(c.d, '%b %e'), c.rn = 1) AS session_label
    FROM day_root r INNER JOIN cal c ON r.d = c.d
    WHERE c.rn <= 21
      AND r.root NOT IN ('SPCX')
      AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
    GROUP BY r.root
    HAVING last_vol >= 25000 AND base_vol >= 5000 AND root_sessions >= 18
)
SELECT root AS ticker,
       round(last_vol / base_vol, 1) AS vol_ratio,
       round(last_vol / 1000, 1) AS session_volume_k,
       round(base_vol / 1000, 1) AS baseline_volume_k,
       round(prior_high / 1000, 1) AS prior_high_volume_k,
       session_label,
       session_id,
       baseline_session_count
FROM scored
ORDER BY vol_ratio DESC, ticker ASC
LIMIT 10

Três colunas compõem a leitura. O ratio indica o quanto o ativo negociado superou sua média normal. A baseline indica qual era o valor normal; um múltiplo alto sobre uma base de baixo volume é um evento menor do que um múltiplo moderado sobre uma base de alto volume. A máxima de 20 sessões indica se a sessão superou qualquer valor do mês anterior. As últimas três colunas são o rastro de auditoria: a sessão que compõe a base, exibida como rótulo e como número, além da contagem de sessões elegíveis que compõem a baseline, que deve somar 20 para a publicação da página.

ASST2 lidera com 6.7x sua própria média: 76 mil contratos contra uma baseline de 11.3 mil, com uma máxima anterior de 20 sessões de 201.1 mil.

  • MMM com 6.3x: 64.9 mil contratos contra uma baseline de 10.4 mil.
  • DHR com 5.2x, 28.6 mil contratos em uma baseline de 5.5 mil.
  • GM com 3.5x, 58.8 mil contratos contra uma máxima de 20 sessões de 57.2 mil.
  • CVS com 3.2x em 59.3 mil contratos.

A última linha da tabela, HAL, ainda negociou 2.6x sua própria média. O múltiplo e o tamanho são leituras distintas, por isso ambos constam na tabela. A versão para o mercado de ações do mesmo conceito está em ações com volume incomum esta semana, e o cálculo em si é detalhado em volume relativo.

Calls ou puts: o lado do tape

A diferença entre o volume de calls e puts é o que realmente define um alerta. Mesma tela, mesma sessão, ordenados pela participação de calls:

QueryCalls ou puts: volume de contratos de call e put na mesma sessão
O SQL exato por trás de cada número
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
day_root AS (
    SELECT substring(ticker, 3, length(ticker) - 17) AS root,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS calls,
           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P') AS puts
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY root, d
),
scored AS (
    SELECT r.root AS root,
           round(sumIf(r.vol, c.rn = 1) / avgIf(r.vol, c.rn BETWEEN 2 AND 21), 1) AS vol_ratio,
           sumIf(r.calls, c.rn = 1) AS calls,
           sumIf(r.puts, c.rn = 1) AS puts,
           maxIf(toYYYYMMDD(c.d), c.rn = 1) AS session_id
    FROM day_root r INNER JOIN cal c ON r.d = c.d
    WHERE c.rn <= 21
      AND r.root NOT IN ('SPCX')
      AND r.root NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
    GROUP BY r.root
    HAVING sumIf(r.vol, c.rn = 1) >= 25000
       AND avgIf(r.vol, c.rn BETWEEN 2 AND 21) >= 5000
       AND countIf(c.rn BETWEEN 2 AND 21) >= 18
),
board AS (
    SELECT root, vol_ratio, calls, puts, session_id
    FROM scored
    ORDER BY vol_ratio DESC, root ASC
    LIMIT 10
)
SELECT root AS ticker,
       round(calls / 1000, 1) AS call_volume_k,
       round(puts / 1000, 1) AS put_volume_k,
       round(100.0 * calls / (calls + puts), 0) AS call_share_pct,
       session_id
FROM board
WHERE calls + puts > 0
ORDER BY call_share_pct DESC, ticker ASC

No extremo de maior volume de calls, a ASST2 alocou 100% de seus contratos em calls: 76 mil calls contra 0 mil puts. No outro extremo da mesma tabela, a WBD operou 25% calls, 78.6 mil contra 239.7 mil puts.

Essa divisão merece atenção, mas é fácil interpretá-la de forma errada. Cada contrato registrado possui um comprador e um vendedor, e o tape não registra qual lado iniciou a operação. Um volume alto de calls pode ser uma posição comprada direta ou uma covered call vendida contra ações que o vendedor já possui. Compra e venda de opções de compra explica o risco assumido por cada lado dessa operação. Onde o volume do tape é alto, os preços das opções geralmente também são, conforme detalhado no painel de ações com maior volatilidade implícita.

Composição dos contratos da sessão

QueryComposição da sessão: volume de opções por dias para o vencimento
O SQL exato por trás de cada número
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
bars AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           toFloat64(volume) AS v,
           toDate(concat('20', substring(ticker, length(ticker) - 14, 2), '-',
                         substring(ticker, length(ticker) - 12, 2), '-',
                         substring(ticker, length(ticker) - 10, 2))) AS expiry
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 12, 'America/New_York')
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM cal WHERE rn = 1)
),
scored AS (
    SELECT multiIf(expiry - d <= 0, 1, expiry - d <= 7, 2, expiry - d <= 30, 3,
                   expiry - d <= 90, 4, expiry - d <= 365, 5, 6) AS bk,
           v, d
    FROM bars
)
SELECT arrayElement(['same day', '1 to 7 days', '8 to 30 days', '31 to 90 days', '91 to 365 days', 'over a year'], bk) AS dte_bucket,
       round(sum(v) / 1e6, 2) AS contracts_m,
       round(100.0 * sum(v) / sum(sum(v)) OVER (), 1) AS pct_of_volume,
       toYYYYMMDD(max(d)) AS session_id
FROM scored
GROUP BY bk
ORDER BY bk ASC

Vencimentos no mesmo dia representaram 29.7% do total da sessão, com 16.85 milhões de contratos. Outros 30.8% venceram em até uma semana. Já os contratos com prazo superior a um ano representaram 2.1%.

Essa composição altera a interpretação de manchetes sobre atividade incomum. A maior parte do volume em painéis como este é de curto prazo, e o contrato de vencimento no mesmo dia é liquidado no fechamento, sem ser carregado. Opções 0DTE abrange essa extremidade da cadeia.

Esta foi uma sessão de vencimento?

O volume de opções aumenta em todo o mercado no vencimento mensal, quando o maior bloco de contratos listados é removido de uma só vez. Um filtro de ratio aplicado em um dia de vencimento sinaliza metade do mercado, portanto, o painel abaixo identifica cada sessão no período.

QueryVolume de opções do mercado por sessão, com vencimentos mensais
O SQL exato por trás de cada número
WITH tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           sum(toFloat64(volume)) AS vol
    FROM global_markets.options_minute_aggs
    WHERE window_start >= toDateTime(today() - 45, 'America/New_York')
    GROUP BY d
),
ranked AS (
    SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS raw_rn
    FROM tape
),
cal AS (
    SELECT d, vol, rn, sum(if(rn BETWEEN 2 AND 21, 1, 0)) OVER () AS baseline_sessions
    FROM (
        SELECT d, vol, row_number() OVER (ORDER BY d DESC) AS rn
        FROM ranked
        WHERE vol >= 0.75 * (SELECT quantileExact(0.5)(vol) FROM ranked WHERE raw_rn > 1)
    )
),
w AS (
    SELECT d, vol,
           toStartOfMonth(d) + toIntervalDay(((5 - toDayOfWeek(toStartOfMonth(d)) + 7) % 7) + 14) AS third_friday
    FROM cal
    WHERE rn <= 25
),
marked AS (
    SELECT d, vol,
           (d = max(if(d <= third_friday, d, toDate('1970-01-01'))) OVER (PARTITION BY toStartOfMonth(d)))
             AND (third_friday <= max(d) OVER ()) AS is_expiry
    FROM w
),
latest AS (
    SELECT d, vol, is_expiry,
           max(if(is_expiry, d, toDate('1970-01-01'))) OVER () AS last_expiry_d
    FROM marked
)
SELECT formatDateTime(d, '%b %e') AS session,
       round(vol / 1e6, 1) AS contracts_m,
       multiIf(is_expiry, 'monthly expiration', 'ordinary') AS session_type,
       round(max(if(d = last_expiry_d, vol, 0)) OVER () / 1e6, 1) AS monthly_expiry_m,
       toYYYYMMDD(d) AS session_id
FROM latest
ORDER BY d ASC

A sessão mais recente neste painel é a reportada pelo quadro, com a mesma data em ambas as tabelas, e seu rótulo é ordinary. Foram registrados 56.8 milhões de contratos em todo o tape dos EUA. O vencimento mensal mais recente dentro do mesmo período registrou 76.8 milhões. A linha de base de vinte sessões de cada ratio no quadro normalmente contém exatamente um vencimento mensal, portanto, o denominador mantém o mesmo montante de sessão para sessão.

Atividade incomum de opções antecipa o movimento da ação?

A questão relevante é se uma sessão intensa de opções é seguida por um movimento expressivo no ativo subjacente. O estudo considerou os últimos 200 dias: cada sessão que atingiu os mesmos patamares de volume, agrupada por sua proporção, comparada à variação absoluta no fechamento do ativo na sessão seguinte. A coluna de referência é a mediana da variação diária de cada ativo no período, permitindo a comparação de cada grupo com seu próprio histórico.

QueryO que segue uma sessão de alto volume: variação absoluta na próxima sessão vs. dias comuns
O SQL exato por trás de cada número
WITH daily AS (
    SELECT underlying_symbol AS sym,
           date AS d,
           sum(volume) AS vol,
           max(underlying_close) AS px
    FROM global_markets.options_greeks
    WHERE date >= today() - 200
      AND underlying_close > 0
      AND underlying_symbol NOT IN ('SPCX')
      AND underlying_symbol NOT IN ('KORU','SOXL','SOXS','TQQQ','SQQQ','NVDL','NVDS','NVD','TSLL','TSLQ','TSLZ','SPXL','SPXS','UPRO','SPXU','LABU','LABD','FAS','FAZ','TNA','TZA','YINN','YANG','UDOW','SDOW','BOIL','KOLD','UCO','SCO','USD','SSO','SDS','QLD','QID','ERX','ERY','DRN','DRV','CURE','SOXY','MUU','SNXX','UVXY','SVXY','UVIX','SVIX','BULZ','WEBL','WEBS','DPST','DRIP','GUSH','AGQ','ZSL','BITX','ETHU','MSTX','MSTU','CONL','DUST','JNUG','JDST','NUGT')
      AND underlying_symbol NOT IN (SELECT ticker FROM global_markets.stocks_splits
                                    WHERE execution_date BETWEEN today() - 230 AND today())
    GROUP BY sym, d
),
seq AS (
    SELECT sym, d, vol, px,
           avg(vol) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base,
           count() OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 20 PRECEDING AND 1 PRECEDING) AS base_n,
           any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) AS next_px,
           any(px) OVER (PARTITION BY sym ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
    FROM daily
),
moves AS (
    SELECT sym, vol, base, base_n,
           if(next_px > 0, 100 * abs(next_px / px - 1), -1) AS next_abs,
           if(next_px > 0, 100 * (next_px / px - 1), -999) AS next_signed,
           if(prev_px > 0, 100 * abs(px / prev_px - 1), -1) AS own_abs
    FROM seq
),
typical AS (
    SELECT sym, quantileExact(0.5)(own_abs) AS typ
    FROM moves
    WHERE own_abs >= 0
    GROUP BY sym
)
SELECT arrayElement(['5x or more', '3x to 5x', '2x to 3x', '1x to 2x', 'below 1x'], bk) AS rvol_bucket,
       count() AS event_count,
       round(quantileExact(0.5)(next_abs), 2) AS median_next_move_pct,
       round(quantileExact(0.5)(typ), 2) AS median_typical_move_pct,
       round(quantileExact(0.5)(next_abs) - quantileExact(0.5)(typ), 2) AS gap_pp,
       round(quantileExact(0.5)(next_signed), 2) AS median_next_signed_pct
FROM (
    SELECT m.sym AS sym,
           multiIf(m.vol / m.base >= 5, 1, m.vol / m.base >= 3, 2, m.vol / m.base >= 2, 3,
                   m.vol / m.base >= 1, 4, 5) AS bk,
           m.next_abs AS next_abs,
           m.next_signed AS next_signed,
           t.typ AS typ
    FROM moves m INNER JOIN typical t ON m.sym = t.sym
    WHERE m.base_n = 20 AND m.base >= 5000 AND m.vol >= 25000 AND m.next_abs >= 0
)
GROUP BY bk
ORDER BY bk ASC

Após uma sessão com volume cinco vezes maior que sua base, a mediana da variação absoluta na sessão seguinte foi de 2.61%, contra 1.96% para esses mesmos ativos em um dia comum, uma diferença de 0.65 pontos percentuais. No extremo de baixa volatilidade, as duas colunas registraram 1.89% e 2.09%, uma diferença de -0.2 pontos.

A resposta real é modesta e refere-se mais à magnitude do que à direção. Sessões de opções com maior volume são seguidas por movimentos ligeiramente maiores em termos absolutos, e a diferença na mediana é de apenas uma fração de um ponto percentual. A mediana da variação sinalizada na sessão após um dia com cinco vezes o volume base foi de -0.35%, e após um dia abaixo da base, de -0.04%. Nenhum dos valores representa o movimento que o título sugere. A raridade do evento também deve ser considerada: 640 sessões atingiram cinco vezes sua própria base durante o período de estudo, contra 11567 que negociaram abaixo dela.

Como esta tela é medida

Uma tela com regras ocultas lê dados, mas na verdade expressa opinião; por isso, todas as regras estão listadas aqui.

  1. Fonte. O tape de opções dos EUA minuto a minuto. O ativo subjacente é extraído do símbolo OCC de cada contrato, portanto, raízes de opções de índices e vencimentos no mesmo dia estão incluídos, junto com cadeias comuns de ações e fundos.
  2. A razão. O volume total de contratos da última sessão completada dividido pela média do mesmo subjacente nas 20 sessões elegíveis anteriores. Pelo menos 18 dessas 20 devem apresentar volume. O painel exibe o período de tempo em uma coluna própria; um período inferior a 20 sessões trava a página em vez de publicar uma média menor sob um rótulo de 20 sessões.
  3. Pisos. 25.000 contratos na sessão e uma base de 5.000 contratos. Sem eles, o painel ficaria repleto de cadeias onde uma única ordem representaria uma leitura de 10x.
  4. Elegibilidade da sessão. Cada painel nesta página lê suas sessões a partir de uma janela de 45 dias do mesmo tape, sob uma regra: uma sessão conta quando seu volume de mercado atinge 75% da mediana das sessões anteriores nessa janela. O dia mais recente é excluído da mediana que deve atingir, para que um dia parcialmente carregado não reduza sua própria média. O tape chega ao limite frontal em partes, e um dia com menos de três quartos de uma sessão normal permanece fora do painel até ser preenchido. Cada painel exibe a sessão em que parou, permitindo a comparação entre os quatro.
  5. Exclusões. Fundos alavancados e inversos são removidos por nome: a cadeia de um produto 3x se move com seu multiplicador e lotaria a lista toda semana. Um ticker reutilizado também é excluído, pois o histórico do fornecedor funde duas empresas sob o mesmo símbolo.
  6. Sem open interest. Não existe um campo de open interest no banco de dados, portanto, nada nesta página compara volume com posições em aberto. Onde a tela de um concorrente diz que o volume superou o open interest, a nossa diz que o volume superou sua própria média de 20 sessões.
  7. Dias de vencimento. O vencimento mensal eleva o volume de opções em todo o mercado. O painel de sessões rotula essa condição, e um painel construído em uma sessão de vencimento deve ser lido em comparação com outras sessões de vencimento.

O estudo de follow-through utiliza uma segunda tabela, o arquivo de greeks diários de opções, que contém o símbolo limpo do subjacente e o fechamento do ativo. Ele exclui vencimentos no mesmo dia e opções de índices, e é processado algumas sessões depois do tape de minutos, portanto, seu universo é mais restrito que o do painel. Nomes com split de ações dentro da janela de estudo são removidos, pois um split simula um movimento enorme.

FAQ

O que é atividade incomum de opções?

Ocorre quando um ativo negocia muito mais contratos de opções em uma única sessão do que sua média recente. Nesta página, o limite é aritmético e não editorial: o volume de contratos da sessão dividido pela média do mesmo ativo nas 20 sessões anteriores, com um piso de 25.000 contratos na sessão e 5.000 na base de comparação.

A atividade incomum de opções prevê movimentos das ações?

De forma fraca e sem indicar direção. Nos últimos 200 dias de nossos dados, sessões com volume cinco vezes maior que a base de volume de opções do ativo foram seguidas por uma variação absoluta mediana de 2.61%, contra 1.96% para os mesmos ativos em um dia comum. A variação mediana (com sinal) na sessão seguinte foi de -0.35%, portanto, o volume indicou a magnitude do movimento, mas pouco sobre a direção.

Quando os dados de volume de opções são atualizados?

O volume de contratos é registrado ao vivo no tape consolidado de opções durante a sessão. O banco de dados por trás desta página é atualizado com atraso, portanto, o painel reporta a sessão completa mais recente em vez de uma sessão em curso, e exibe sua respectiva data. Nada aqui é um feed em tempo real.

Por que este scanner de atividade incomum de opções não utiliza open interest?

O open interest é publicado pela câmara de compensação após o fechamento, e não há um campo de open interest nos dados que possuímos. Comparar o volume de uma sessão com o histórico de volume do próprio ativo é mensurável diretamente pelo tape e responde a uma pergunta semelhante: esta série de opções está mais movimentada do que o normal.


Cada número acima é uma consulta armazenada e versionada. Abra o SQL sob qualquer painel para auditar a medição ou execute a mesma tela em qualquer período desejado no terminal Strasmore.

#options#unusual options activity#options volume#market structure