Strasmore Research
Market Recap

Resumo do mercado de junho de 2026

Matt ConnorBy Matt Connor Updated 2026-07-23

Junho de 2026 foi um mês de divergência: os índices de large-caps caíram enquanto as small caps subiram e, abaixo do nível dos índices, mais ações caíram do que subiram. O SPY fechou a $746.32, com alta de -1.2% no mês, enquanto o IWM — o índice de small caps — ganhou 4.2%. Outro fato mensurável de destaque do mês: um fabricante de chips de memória movimentou $995.7 bilhões em 21 sessões, mais do que o próprio SPY. Cada número aqui é o resultado de uma consulta armazenada; expanda qualquer painel para ver o SQL exato.

O desempenho do mês

QueryJunho 2026: abertura ao fechamento, range e turnover em horário regular dos quatro ETFs de índice
O SQL exato por trás de cada número
SELECT ticker,
    round(argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_open,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
    round(maxIf(toFloat64(high), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_high,
    round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_low,
    round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
  AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

Os dados mostram claramente: DIA 2.4% e IWM 4.2% subiram, enquanto SPY caiu -1.2% e QQQ fechou -0.2% — o índice de growth de mega-caps ficou estável ou em queda no mesmo mês em que as small caps ganharam quatro por cento.

Junho em comparação aos cinco meses anteriores

A queda de junho foi atípica? O painel de dados retroativos recalcula o mesmo retorno mensal para cada mês do semestre em uma única consulta — as linhas de junho são geradas da mesma forma que as de janeiro, em tempo real.

QueryRetornos mensais, janeiro a junho de 2026, recalculados em tempo real (SPY e QQQ)
O SQL exato por trás de cada número
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
  AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, ticker

Por esse critério, junho foi comum: o retorno do SPY de -1.2% está dentro do intervalo do semestre — março caiu -4.4% e abril subiu 9.9%. O principal fator do mês foi a rotação, não a direção.

Junho contra todos os outros Junes do histórico

QueryCada junho no tape: SPY, recalculado identicamente por ano (número de sessões exibido)
O SQL exato por trás de cada número
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
       round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS june_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY')
  AND window_start >= toDateTime('2003-01-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
  AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y
HAVING sessions >= 17
ORDER BY y ASC
QueryRanking: este junho contra todos os anteriores (rank 1 = melhor; autoexcluído)
O SQL exato por trás de cada número
SELECT round(anyIf(ret, y = 2026), 1) AS june_2026_pct,
       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
       count() AS junes_compared,
       min(y) AS first_year,
       anyIf(sessions, y = 2026) AS sessions_2026
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
           uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY')
      AND window_start >= toDateTime('2003-01-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND toMonth(toTimeZone(window_start, 'America/New_York')) = 6
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY y
    HAVING sessions >= 17
)

O -1.2% do SPY ocupa a posição 15 de 23 Junes desde 2004 (rank 1 = melhor) — no meio da tabela, ligeiramente abaixo da média. Um junho comum, e o comum é um dado válido: nada no movimento do índice se destaca em comparação com dois decênios de Junes. O que se destacou foi a rotação interna — o painel de amplitude abaixo. Base: abertura ao fechamento em horário regular dentro de cada mês de junho, aritmética idêntica para cada ano, com limite superior fixado no final deste mês para que o conjunto de comparação não cresça silenciosamente.

Sessão por sessão

QuerySPY, todas as 21 sessões de junho: fechamento e variação close-over-close
O SQL exato por trás de cada número
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS spy_close,
    round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / any(prev) - 1) * 100, 1) AS change_pct
FROM global_markets.delayed_stocks_minute_aggs
INNER JOIN (
    SELECT d, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
    FROM (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS c
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
        GROUP BY d
    )
) AS p ON toDate(toTimeZone(window_start, 'America/New_York')) = p.d
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
ORDER BY et_date

A queda mais acentuada do mês em uma única sessão ocorreu cedo — -2.6% em 2026-06-05 — e o gráfico mostra o comportamento do mês: uma tendência de baixa até meados de junho, um suporte próximo a $716.58 e uma recuperação parcial nas últimas sessões antes do fechamento do trimestre. Para o detalhamento sessão por sessão da última semana dessa recuperação, veja o resumo semanal.

Amplitude: mais quedas do que altas

QueryAdvancers vs decliners para junho (fechamento vs último fechamento de maio), filtro de liquidez divulgado
O SQL exato por trás de cada número
SELECT
    countIf(chg > 0 AND NOT dropped) AS advancers,
    countIf(chg < 0 AND NOT dropped) AS decliners,
    countIf(chg = 0 AND NOT dropped) AS unchanged,
    countIf(dropped) AS dropped_by_liquidity_filter
FROM (
    SELECT ticker,
        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
      - argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-05-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS chg,
        sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01')) < 5e6 AS dropped
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= toDateTime('2026-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
    GROUP BY ticker
    HAVING countIf(toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-05-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
       AND countIf(toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
)

4608 tickers caíram no mês contra 4240 que subiram — amplitude negativa em um mês onde dois dos quatro ETFs de índice ganharam. A amplitude por peso de índice e a amplitude por contagem igual respondem a perguntas diferentes; junho é um mês em que elas divergiram. O filtro de liquidez separou 2896 tickers com volume de junho abaixo de $5M, contabilizados aqui em vez de ocultados. O indicador diário concorda com o indicador por ticker: 12 das 21 sessões do mês fecharam o SPY em queda contra 9 em alta.

QuerySessões do SPY em alta vs baixa durante o mês, um registro simplificado
O SQL exato por trás de cada número
SELECT countIf(day_ret > 0) AS up_sessions,
       countIf(day_ret < 0) AS down_sessions,
       countIf(day_ret = 0) AS flat_sessions,
       count() AS sessions_total
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS day_ret
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)

Os líderes do mercado

QueryVolume financeiro em horário regular em junho, tape completo (um símbolo reutilizado excluído aguardando verificação)
O SQL exato por trás de cada número
SELECT ticker,
    round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS dollar_bn,
    round(100 * sum(toFloat64(close) * toFloat64(volume)) / max(sum(toFloat64(close) * toFloat64(volume))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
  AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
  AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_bn DESC
LIMIT 8

MU liderou todo o mês com $995.7 bilhões — o SPY, em segundo lugar, registrou 77.5% desse valor. NVDA movimentou $523 bilhões, ocupando a quarta posição; seu mês tem uma análise detalhada tick-a-tick. O setor de semicondutores domina a lista — quatro dos oito nomes. Base: horário regular de 1 a 30 de junho; um ticker reutilizado de junho foi excluído aguardando verificação da entidade, e seu primeiro mês tem um post próprio.

O fluxo de opções: junho contra maio

QueryJunho: volume total de contratos de options e participação de vencimento no mesmo dia (um scan)
O SQL exato por trás de cada número
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00')
  AND window_start < toDateTime('2026-07-01 00:00:00')
QueryMaio, recalculado identicamente para contraste (um scan)
O SQL exato por trás de cada número
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
       round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
       uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-05-01 00:00:00')
  AND window_start < toDateTime('2026-06-01 00:00:00')

O volume total de opções em junho foi de 1477.9 milhões de contratos, com 34.3% negociados para vencimento no mesmo dia — contra 1394.6 milhões e 30.3% em maio. Mais volume E uma participação maior no mesmo dia: a fatia de 0DTE de junho é a maior do semestre, e a evolução desde janeiro está no resumo do H1. Um terço do volume de opções de junho expirou no dia da negociação.

QueryMedian quoted spread do SPY: amostra de junho contra maio (segundas quartas-feiras)
O SQL exato por trás de cada número
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
       round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 3) AS med_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
  AND ((sip_timestamp >= toDateTime64('2026-05-13 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-05-13 20:00:00', 9))
    OR (sip_timestamp >= toDateTime64('2026-06-10 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-10 20:00:00', 9)))
GROUP BY session
ORDER BY session ASC

O custo para negociar os maiores ativos do mercado seguiu a mesma direção: o spread mediano cotado do SPY na sessão de amostra de junho (0.409 bps, 10 de junho) é maior que o de maio (0.27 bps, 13 de maio). Basis, detalhado: sessões de amostra rotuladas individualmente — a segunda quarta-feira de cada mês — não medianas de todo o mês; cotações inválidas são contadas no painel.

Taxas: a curva quase não se moveu

QueryYields do Treasury durante junho: 10 anos, 2 anos e o spread 2s10s
O SQL exato por trás de cada número
SELECT toString(date) AS d,
    round(yield_10_year, 2) AS y10,
    round(yield_2_year, 2) AS y2,
    round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-06-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date

O título de 10 anos encerrou junho em 4.44%, com o spread 2s10s em 30 pontos de base — um mês de tranquilidade para as taxas em comparação com um semestre mais volátil (o recap do H1 detalha o cenário da curva de seis meses).

O calendário: alto volume de fechamento de trimestre e um dia de registros ausente

QueryCalendário corporativo de junho — dividendos, splits, listagens, filings (gap do índice de 30 de junho divulgado)
O SQL exato por trás de cada número
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')) AS ex_div_events,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-06-01') AND execution_date <= toDate('2026-06-30')) AS splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-01') AND listing_date <= toDate('2026-06-30')) AS ipos,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= toDate('2026-06-01') AND filing_date <= toDate('2026-06-30')) AS june_filings,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 00:00:00')) AS news_articles

Junho apresentou 6651 eventos ex-dividend, 164 splits e 35 novos listings — incluindo a estreia principal do mês, analisada detalhadamente em análise do primeiro mês da SpaceX. Há uma ressalva no volume de registros: o índice da SEC mostra 68388 filings em junho, mas o dia 30 de junho apresenta apenas 31 — o índice do último dia do mês está materialmente incompleto (dias adjacentes apresentam milhares de registros), portanto o total de junho está subestimado até que o feed seja atualizado — parte de um padrão de fechamento de mês de 2026 com sua própria nota diagnóstica.

A onda de dividendos

QueryEventos ex-dividend por dia durante junho
O SQL exato por trás de cada número
SELECT toString(ex_dividend_date) AS d, count() AS ex_div_events
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')
GROUP BY d
ORDER BY d

O fluxo de dividendos se concentra na virada do mês: junho começou com 807 eventos ex-dividend em um único dia, e o gráfico reflete o ritmo completo do mês — o volume diário na casa das centenas, com picos nos limites mensais. O impacto real de uma data ex-dividend no preço é detalhado em o guia sobre ex-dividend.

Os vendidos: ambos os dados de junho já disponíveis

QueryLiquidações de short-interest registradas: 29 de maio, 15 de junho e 30 de junho
O SQL exato por trás de cada número
SELECT toString(settlement_date) AS settlement, count() AS tickers
FROM global_markets.stocks_short_interest
WHERE settlement_date >= toDate('2026-05-20')
GROUP BY settlement
ORDER BY settlement

O interesse de venda (short interest) é liquidado duas vezes por mês e publicado com atraso. Ambos os dados de junho já estão disponíveis: o fechamento de 2026-06-30 contém os tickers 22207, após 22178 no arquivo de 15 de junho e 21987 no de 29 de maio. O volume de vendas diário é um conjunto de dados diferente; a ressalva de junho é o arquivo truncado de 29 de junho, incluído no resumo semanal e no análise detalhada de 29 de junho.

O resumo da sessão

Query21 sessões, verificadas via tape (incluindo registro de fechamento de Juneteenth)
O SQL exato por trás de cada número
SELECT
    (SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS june_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-19 00:00:00') AND window_start < toDateTime('2026-06-20 00:00:00')) AS juneteenth_spy_bars,
    (SELECT countIf((toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS regular_bars_june

Junho teve 21 sessões — o feriado de Juneteenth (19 de junho) apresenta 0 barras do SPY, e as 8190 barras regulares totalizam exatamente vinte e uma sessões completas de 390 minutos.

Notas de dados

Notas completas de dados
  • O interesse a descoberto (short interest) abrange o fechamento de 30 de junho — ambos os registros do mês estão arquivados e incluídos acima.
  • O dia de índice do registro de 30 de junho está materialmente incompleto (alguns poucos registros administrativos contra milhares em dias vizinhos); os totais de junho estão subestimados até que o feed seja atualizado. Todo final de mês de 2026 cujo último dia do calendário foi um dia útil apresenta a mesma característica — a nota de diagnóstico contém os comprovantes; o resumo do Q2 contém a ressalva da escala trimestral.
  • O arquivo de volume de vendas a descoberto da FINRA de 29 de junho está truncado em todo o mercado — comprovantes no resumo semanal e no estudo detalhado de 29 de junho.
  • Exclusão de líder de volume: um ativo listado em junho negocia sob um símbolo reutilizado e está excluído do ranking enquanto aguarda verificação da entidade; seu próprio post contém os comprovantes de verificação.
  • A amplitude (breadth) compara o último fechamento de junho de cada ticker contra seu último fechamento de maio; tickers sem ambos os fechamentos são excluídos por construção, e as exclusões do filtro de liquidez são contabilizadas no painel.

Metodologia

  • O período compreende de 1 a 30 de junho de 2026 — 21 sessões, verificadas conforme as barras observadas (o painel de recibos acima). Os retornos mensais consideram o preço de abertura ao fechamento do horário regular dentro do período.
  • Os timestamps são armazenados em UTC e filtrados com limites em UTC bruto; junho de 2026 segue o horário EDT, portanto, o horário regular é das 13:30 às 20:00 UTC. O volume em dólares é o produto do fechamento do minuto pelo volume do minuto durante o horário regular.
  • As comparações de meses anteriores são recalculadas em tempo real na mesma consulta da linha de junho — nunca são lidas de um valor armazenado. O bloco de histórico de todos os meses de junho faz o mesmo através de toda a série de minutos (horário regular do fuso Eastern — a convenção multi-anual segura para o DST — com seu limite superior fixado no fim deste mês e uma guarda de sessão mínima exibida por ano); a verificação de profundidade está na metodologia do recapitulação H1.
  • A geração ocorre via caminho de leitura restrito; a página pública nunca consulta dados em tempo real. Estado do warehouse em 5 de julho de 2026.

Esta é a primeira edição da recapitulação mensal fixa — a edição de julho terá um link de retorno para cá. Para o detalhamento sessão por sessão da última semana do mês, veja a recapitulação da semana de 29 de junho; para o trimestre encerrado este mês, veja a recapitulação do Q2.