Como o fluxo de ordens move a volatilidade implícita
Entenda como o fluxo de ordens altera a volatilidade implícita, de um book equilibrado à compra concentrada de calls, com dados diários de vol e volume.
O fluxo de ordens move a volatilidade implícita cotação a cotação. Um market maker que cota uma opção não está apostando na direção da ação. Ele coloca preço dos dois lados. Quando as compras continuam chegando do mesmo lado, ele eleva a volatilidade que aceita ofertar até o fluxo perder força ou o custo de carregar a posição ser compensado. A ação pode permanecer estável durante toda a sequência, e muitas vezes permanece.
O que um market maker está realmente cotando
Uma opção tem bid e offer em dólares, mas a mesa do outro lado trabalha com volatilidade. A volatilidade implícita é a variação percentual anualizada compatível com o preço da opção, dadas o strike, os dias restantes até o vencimento, o preço da ação e a taxa de juros. Insira um preço em um modelo de precificação, e o número da volatilidade aparece. Insira a volatilidade, e o preço aparece. Volatilidade implícita é um preço expresso em outras unidades. Por isso, entre profissionais, as opções são cotadas em volatilidade, e não em dólares.
Considere um exemplo hipotético. Uma call de $220 com um mês até o vencimento é ofertada a $5,20 pela manhã. À tarde, o mesmo contrato é ofertado a $5,60, a ação continua em $220 e resta um dia a menos no prazo. O strike não mudou. A taxa também não mudou. E a passagem de um dia empurra o preço da opção na direção oposta. Esses 40 centavos adicionais estão no parâmetro de volatilidade, e em nenhum outro lugar.
Como o fluxo de ordens move a volatilidade implícita em um único strike
O painel abaixo considera todas as opções de AAPL dentro de uma faixa de 5% do preço da ação, com 20 a 45 dias até o vencimento. Para cada sessão, mede três aspectos: a parcela do volume de contratos do dia negociada em calls; a volatilidade implícita média desses contratos próximos do dinheiro; e a posição do fechamento da ação em relação ao seu nível no primeiro dia da janela.
O SQL exato por trás de cada número
WITH
(
SELECT toFloat64(close)
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2026-05-01'
ORDER BY date
LIMIT 1
) AS start_close
SELECT
toString(date) AS date,
round(100 * sumIf(volume, startsWith(lower(toString(option_type)), 'c')) / sum(volume), 1) AS call_share_pct,
round(100 * avg(implied_volatility), 1) AS atm_iv_pct,
round(100 * (toFloat64(any(underlying_close)) / start_close - 1), 1) AS stock_pct_vs_start
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-05-01' AND '2026-06-30'
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
ORDER BY dateAo longo de 41 sessões em maio e junho de 2026, a participação das calls começou a janela em 71% do volume próximo do dinheiro e terminou em 80.7%. A volatilidade desses mesmos contratos passou de 22.5% para 27.8%, durante um período em que a ação terminou 3.2% em relação ao ponto de partida.
As duas linhas não acompanham uma à outra sessão a sessão. Essa é a versão correta do mecanismo. Um dia de compras desequilibradas desloca a cotação em um tick. Uma sequência de dias move o nível, porque o market maker é levado a manter mais da mesma posição a cada manhã, a um preço que ainda não reduziu a demanda. Nada nessa sequência exige que a ação saia do lugar.
Por que um strike apresenta IV maior que os strikes vizinhos
Congele uma única sessão e observe os strikes, em vez dos dias. O painel abaixo mantém fixa a data e o vencimento. Em seguida, percorre o vencimento mais movimentado daquela sessão, partindo de abaixo do preço da ação até acima dele.
O SQL exato por trás de cada número
WITH
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date <= '2026-06-30'
) AS session_date,
(
SELECT expiration_date
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = session_date
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 20 AND 45
GROUP BY expiration_date
ORDER BY sum(volume) DESC
LIMIT 1
) AS busy_expiry
SELECT
concat('$', toString(toUInt32(round(toFloat64(strike_price))))) AS strike,
round(100 * avg(implied_volatility), 1) AS offered_iv_pct,
sum(volume) AS contract_volume
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = session_date
AND expiration_date = busy_expiry
AND iv_converged = 1
AND volume > 0
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.06
GROUP BY strike_price
ORDER BY strike_priceTodos os contratos do painel estão vinculados à mesma ação, no mesmo dia e com vencimento na mesma data. O strike é o único elemento que muda de uma linha para outra. A volatilidade ofertada muda junto: 26.2% no strike $275 contra 23.3% no strike $305, em um total de 7 strikes. Essa diferença de um strike para o seguinte é o skew de volatilidade. O equilíbrio entre compras e vendas é um dos fatores que o moldam. A demanda não chega de maneira uniforme por toda a cadeia. Ela chega no strike desejado por alguém, e é a cotação desse strike que se move.
Separar a mesma sessão por tipo de opção torna o quadro mais claro, pois calls e puts à mesma distância do preço da ação são cotadas pela mesma mesa no mesmo momento.
O SQL exato por trás de cada número
WITH
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date <= '2026-06-30'
) AS session_date
SELECT
multiIf(bucket = 0, 'at spot',
bucket < 0, concat(toString(abs(bucket)), '% below'),
concat(toString(bucket), '% above')) AS strike_vs_spot,
round(100 * avgIf(iv, is_call), 1) AS call_iv_pct,
round(100 * avgIf(iv, NOT is_call), 1) AS put_iv_pct
FROM
(
SELECT
implied_volatility AS iv,
startsWith(lower(toString(option_type)), 'c') AS is_call,
round(((toFloat64(strike_price) / toFloat64(underlying_close)) - 1) * 100 / 2.5) * 2.5 AS bucket
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date = session_date
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.10
)
GROUP BY bucket
HAVING countIf(is_call) > 0 AND countIf(NOT is_call) > 0
ORDER BY bucketEm 7.5% below, as puts apresentavam 30%, contra 27.6% nas calls. Em 10% above, as mesmas duas medidas registraram 33.3% e 25.7%. Mesma ação, mesmo minuto, mesmo modelo. As diferenças estão nos strikes que os participantes continuam solicitando.
O market maker continua cotando o outro lado
Elevar uma offer não é se recusar a negociar. Uma mesa que continua vendendo calls diante de uma demanda constante termina vendida nessas calls. A defesa padrão é comprar a ação para fazer hedge. Isso é hedge de delta: uma posição na ação dimensionada para compensar a exposição direcional da opção, ajustada conforme a ação se move. O hedge não é gratuito. O rebalanceamento custa dinheiro cada vez que a ação se desloca. Além disso, o componente do risco que a ação não consegue compensar — a sensibilidade da posição à própria volatilidade — cresce a cada contrato vendido.
A offer mais alta é o preço para assumir mais uma unidade do mesmo risco. O bid sobe junto, pois a mesa teria interesse em recomprar essas calls a um nível melhor. O spread entre os dois lados é como os market makers ganham dinheiro, e não uma aposta direcional.
O que uma cotação eletrônica consegue e não consegue identificar
No pregão, uma ordem chegava por meio de uma pessoa. Um broker entrava no círculo de negociação, e os market makers presentes conseguiam ver o tamanho da ordem e a firma por trás dela. Esse contexto fazia parte do preço oferecido. As telas eliminaram essa informação. Hoje, o market maker lê posteriormente o formato do fluxo no tape: volume por strike e vencimento; a variação no open interest durante a noite, isto é, a quantidade de contratos ainda em aberto; a velocidade com que uma oferta disponível é executada; e se as compras retornam depois que a volatilidade é elevada. Na maior parte do tempo, não há como separar uma ordem institucional de uma ordem de varejo. A cotação se ajusta ao padrão de negociação, nunca à identidade do trader.
O SQL exato por trás de cada número
WITH
(
SELECT max(date)
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO', 'SPY')
AND date <= '2026-06-30'
) AS session_date
SELECT
underlying_symbol AS symbol,
round(100 * sumIf(volume, startsWith(lower(toString(option_type)), 'c')) / sum(volume), 1) AS call_share_pct,
round(100 * avg(implied_volatility), 1) AS atm_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'KO', 'SPY')
AND date = session_date
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 underlying_symbol
ORDER BY call_share_pct DESCNessa sessão, AMZN ficou no topo do grupo, com 91.9% do volume próximo do dinheiro em calls e volatilidade próxima do dinheiro de 38.7%. Ao ler as duas colunas de cima a baixo, elas não se alinham linha a linha. O fluxo de um dia é apenas uma variável em uma superfície que também incorpora o histórico de negociação de cada ativo e a posição que a mesa já carrega.
O que isso não significa
Uma cotação não é uma previsão. Uma offer mais alta indica que a mesa quer uma remuneração maior pelo próximo contrato que venderá. Ela não diz nada sobre a direção seguinte da ação. A volatilidade implícita é um preço, definido pelo que os participantes estão pagando. A diferença entre a volatilidade implícita e a histórica mostra com que frequência o preço e o resultado divergem. Um strike cotado a 40% de volatilidade não previu uma alta ou queda de 40%. Alguém que queria aquele contrato elevou seu preço.
Como estes painéis são calculados
Cada painel filtra os contratos em que a solução de volatilidade do modelo convergiu e que efetivamente foram negociados no dia. Depois, mantém apenas os strikes próximos do dinheiro com 20 a 45 dias até o vencimento. Essa é a janela padrão para analisar um nível de volatilidade sem as distorções de contratos com prazo muito curto ou muito longo. As médias não são ponderadas entre os contratos do grupo. A participação das calls conta os contratos negociados, e não a direção do cliente, pois o tape não identifica uma operação como compra ou venda.
Perguntas frequentes
A compra de opções eleva a volatilidade implícita?
Compras persistentes e concentradas em um único strike coincidem com uma volatilidade ofertada mais alta nesse strike. A mesa do outro lado vende os contratos e depois precisa fazer hedge. A offer é o preço pelo qual ela cota o próximo contrato. Uma única ordem pequena raramente move de forma perceptível a volatilidade de um ativo líquido.
Os market makers assumem uma posição direcional?
Cotar um mercado dos dois lados é um negócio baseado no spread entre o bid e a offer, com a exposição à ação protegida por hedge, e não mantida aberta. Um market maker que termina comprado ou vendido normalmente chegou a essa posição ao executar ordens de outros participantes.
Por que dois strikes da mesma ação têm volatilidades implícitas diferentes?
Cada strike é um contrato próprio, com sua própria oferta e demanda. Skew é o nome dado ao padrão que faz os strikes de baixa e de alta serem cotados com volatilidades diferentes, mesmo no mesmo vencimento.
A alta da volatilidade implícita significa que a ação vai se mover?
Não. A volatilidade implícita é o preço de uma opção expresso em termos percentuais. E o preço representa o que os participantes estão pagando hoje. Os movimentos realizados ficam abaixo ou acima do que o mercado de opções cobrou por eles o tempo todo.
Um market maker consegue saber quem está comprando?
Eletronicamente, normalmente não. O tape mostra contratos, strikes, vencimentos e horários, sem o nome do cliente. No pregão, o market maker conseguia ver o broker no círculo de negociação. Essa informação desapareceu com a migração para as telas.
Cada painel acima é acompanhado do SQL que o produziu. Assim, a mesma medição pode ser aplicada a qualquer outro ativo ou a qualquer outra semana. Faça a solicitação em inglês simples no terminal da Strasmore.