Resumo do mercado 1 de julho de 2026
O segundo semestre iniciou com índices calmos e volatilidade interna. O complexo de memória caiu, a META saltou e a maioria dos setores do S&P fechou no verde.
Quarta-feira, 1 de julho de 2026 — a primeira sessão do segundo semestre — colocou um dos dias mais calmos para os índices sobre sua negociação mais volátil. O SPY fechou -0.08% e o QQQ -1.44%, mas o complexo de memória que sustentou o segundo trimestre perdeu um décimo de seu valor, a META saltou 8.88%, e 7 dos fundos do setor S&P da 11 ainda fecharam no positivo. Sessão anterior: 30 de junho.
O placar
As mudanças comparam o último candle da sessão regular de 1º de julho com o de terça-feira, 30 de junho.
O SQL exato por trás de cada número
WITH prior AS (
SELECT ticker, argMax(close, window_start) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
GROUP BY ticker
),
sess AS (
SELECT ticker,
argMin(open, window_start) AS day_open,
argMax(close, window_start) AS day_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerO destaque é o split: DIA em 0.02% e SPY em -0.08% ficaram estáveis frente aos -1.44% de QQQ e -0.37% de IWM — uma liquidação de ações de crescimento que o mercado amplo mal registrou.
Um dos dias de menor volatilidade dos índices no último mês
O SQL exato por trás de cada número
SELECT round(anyIf(oc_pct, d = toDate('2026-07-01')), 2) AS day_move_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-01'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-01'))) + 1 AS abs_move_rank,
count() AS sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
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-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)A variação do SPY entre a abertura e o fechamento — uma perspectiva diferente do fechamento sobre o fechamento — foi de 0.09%: ocupando a posição 20 de 22 sessões consecutivas em termos de variação absoluta, com apenas duas sessões apresentando oscilação menor. O complexo de volatilidade seguiu a mesma tendência. Como este relatório não contém o índice VIX à vista, a análise utiliza fundos de futuros do VIX — a leitura negociável mais próxima do preço de proteção:
O SQL exato por trás de cada número
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'SVXY', 'UVXY', 'VIXY', 'VXX')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY tickerO VXX, o maior fundo de futuros de VIX para o primeiro mês, subiu 0.72%; o VIXY subiu 0.8%; o alavancado UVXY subiu 1.13% em um intervalo de 3.68%; e o inverso SVXY subiu -0.42%. Os resultados foram similares ao desempenho das ações individuais, desconsiderando erros de arredondamento.
Amplitude: mais quedas do que altas — e mais novas máximas do que novas mínimas
O SQL exato por trás de cada número
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start < '2026-07-01 00:00:00') AS quarter_high,
minIf(toFloat64(low), window_start < '2026-07-01 00:00:00') AS quarter_low,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') AS day_dollar_volume,
countIf(window_start < '2026-07-01 00:00:00') AS quarter_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ((window_start >= '2026-04-01 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker
)
SELECT
countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high) AS new_quarter_highs,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low) AS new_quarter_lows,
round(countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high)
/ countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low), 1) AS highs_per_low,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000) AS names_with_a_full_quarter,
countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
countIf(day_dollar_volume >= 1000000 AND quarter_bars < 1000) AS dropped_short_quarter_history
FROM per_ticker
WHERE prior_close > 0 AND day_close > 02928 altas, 3465 baixas, 82 estáveis — 45.2% do volume negociado subiu. Mas a amplitude não reflete a severidade: em relação ao intervalo de negociação do segundo trimestre, 836 das 6217 ações com um trimestre completo de negociação atingiram uma nova máxima trimestral neste dia de queda, contra 246 que atingiram uma nova mínima — 3.4 novas máximas para cada nova mínima. A maioria recuou; poucos romperam seus intervalos. Quedas: 5435 de 11910 tickers com volume dual-session abaixo do filtro de US$ um milhão, 258 nomes líquidos sem um trimestre completo de barras.
O painel do setor: o prejuízo concentrou-se em apenas um setor
Os onze fundos setoriais do SPDR são a forma mais barata de obter uma visão transversal de todo o mercado — a mesma cesta em todas as sessões.
O SQL exato por trás de cada número
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector,
sum(if(day_close > prior_close, 1, 0)) OVER (ORDER BY (day_close / prior_close) DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS green_so_far,
day_dollar_bn
FROM per_name
ORDER BY pct_chg DESCServiços de comunicação (XLC) — o fundo setorial que detém META — liderou com 2.41%, seguido pelo setor financeiro (XLF) com 2.2%. Tecnologia (XLK) ficou isolado na base, -2.56% e 4.97 pontos percentuais abaixo do líder. No total, 7 de 11 fundos fecharam no positivo — consumo discricionário 0.68%, saúde 0.57% — contra o fechamento negativo de utilidades (-1.28%), industriais (-0.98%) e energia (-0.6%). Isso significa que "o índice mal se moveu" devido ao desempenho desses setores.
O destaque do dia: memória quebrou, META seguiu o caminho oposto
Oito nomes concentraram a dispersão: as quatro ações de memória e armazenamento que lideraram o segundo trimestre, e quatro nomes de chips e plataformas ao redor delas. Co-movimento, magnitude e timing são reportados; os dados não explicam o motivo.
O SQL exato por trás de cada número
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS low_bar,
argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'META', 'MRVL', 'MU', 'NVDA', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York')) AS low_minute_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk (-10.45%) e Micron (-10.23%) perderam mais de um décimo de seu valor; Marvell -8.68%, AMD -6.87%, Western Digital -6.3% e Seagate -5.11%. A MU teve um volume de $42.94 bilhões, mais do que o SPY negociado durante todo o dia, e MU, AMD e Marvell registraram mínimas da sessão nos minutos finais do pregão (15:59, 15:57, 15:58 ET) — vendidas durante o leilão de fechamento, e não por um vácuo de liquidez matinal que se recuperou (a análise detalhada da MU foca no trimestre passado).
A META é o espelho inverso: 8.88% sobre $22.72 bilhões negociados, sua mínima em 09:30 ET — a barra de abertura — e nunca mais retornou. A NVDA não saiu do lugar em -1.09% (o mês de junho da NVDA).
O que foi dito
Esta página não atribui causas. Mas nosso feed de notícias licenciado é uma tabela como qualquer outra — o que ele trouxe naquele dia:
O SQL exato por trás de cada número
SELECT published_et, publisher, names_tagged, headline
FROM (
SELECT
published_utc,
formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%H:%i') AS published_et,
JSONExtractString(publisher, 'name') AS publisher,
arrayStringConcat(arrayFilter(x -> x IN ('MU', 'SNDK', 'STX', 'WDC', 'META'), tickers), ' ') AS names_tagged,
substring(title, 1, 72) AS headline
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-01 04:00:00' AND published_utc < '2026-07-02 04:00:00'
AND hasAny(tickers, ['MU', 'SNDK', 'STX', 'WDC', 'META'])
AND NOT has(tickers, 'SPCX')
AND position(title, 'SPCX') = 0
ORDER BY published_utc DESC
LIMIT 12
)
ORDER BY published_utc ASCO artigo de meio de tarde da Motley Fool sobre a Micron (14:11 ET) saiu com o título "Why Micron Stock Is Plummeting Today". Seu resumo noturno (17:12 ET) e a atualização quatro minutos depois (17:16 ET) colocaram a alta da META ao lado de um suposto plano para vender excesso de capacidade de computação de IA como um negócio de cloud. Esse é o enquadramento do veículo, não um fato do tape, e 12 artigos de dois publishers é o foco de um único feed, não do mercado.
Onde o dinheiro foi negociado
O SQL exato por trás de cada número
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESCA MU liderou o volume com $42.94 bilhões — o SPY ficou em segundo com $27.76 bilhões e a META em quarto com $22.72 bilhões — uma ação em queda negociando um bilhão e meio a mais que o ETF de índice. Os extremos do movimento foram os ativos com maior volume. O painel de ações apresenta o cenário atípico de sempre: o SOXS, ETF inverso de 3x em semicondutores, liderou com 553.1 milhões de ações — o maior volume do dia em que os chips caíram — enquanto uma ação de baixo valor unitário encerra a lista com 189.8 milhões de ações no valor de $319 milhões (volume relativo indica exatamente isso). Base: horário regular de 1º de julho, excluindo uma listagem de símbolo reutilizado (comprovantes).
O fluxo de opções
O SQL exato por trás de cada número
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
sum(size), round(avg(toFloat64(price)), 3),
any(if(substring(ticker, length(ticker) - 14, 6) = '260701', 1, 0)))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC, ticker ASC
LIMIT 1
) AS top_contract,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
) AS spy_regular_close
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(sumIf(toFloat64(size), option_type = 'P') / sumIf(toFloat64(size), option_type = 'C'), 2) AS put_call_ratio,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260701') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P')) / 1e6, 2) AS spy_put_contracts_m,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P' AND toFloat64(strike_price) < spy_regular_close * 0.98)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'), 1) AS spy_puts_2pct_below_pct,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C' AND toFloat64(strike_price) > spy_regular_close * 1.02)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'), 1) AS spy_calls_2pct_above_pct,
round(sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'C'), 2) AS mu_put_call_ratio,
round(sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'C'), 2) AS meta_put_call_ratio,
top_contract.1 AS top_contract_underlying,
top_contract.2 AS top_contract_strike,
top_contract.3 AS top_contract_type,
top_contract.4 AS top_contract_volume,
reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.4))), '\\d{1,3}'), ',')) AS top_contract_volume_fmt,
round(top_contract.5, 3) AS top_contract_avg_price,
top_contract.6 AS top_contract_is_same_day,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'Foram negociados 68.46 milhões de contratos de opções em 11.22 milhões de registros — calls representaram 58.6% do volume, com vencimentos no mesmo dia em 33.5%. Não houve proteção (hedging) do índice: a relação de puts por call no mercado foi de 0.71, e dos 5.76 milhões de puts do SPY, apenas 11.6% tinham strike mais de dois por cento abaixo do fechamento de 745.69 — os strikes de downside extremo que pagam em um crash. O skew concentrou-se em ações individuais: as puts da Micron superaram as calls (1.11 por call), enquanto as calls da META superaram as puts em mais de dois para um (0.39). O contrato mais negociado foi a call do SPY de $748 com vencimento no mesmo dia — 878,947 contratos a uma média de $0.707 — vencendo 2.31 dólares fora do dinheiro, como ocorreu na terça-feira. Nenhum contrato com vencimento em 3 de julho foi registrado durante o dia (0 registros — essa sexta-feira está fechada); a weekly de quinta-feira registrou 14.43 milhões.
Taxas: tendência de alta nos prazos longos e queda no curto prazo
Os rendimentos referem-se ao fechamento diário contra 30 de junho.
O SQL exato por trás de cada número
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul1_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(d.yield_1_month), toFloat64(p.yield_1_month)),
('3 month', toFloat64(d.yield_3_month), toFloat64(p.yield_3_month)),
('1 year', toFloat64(d.yield_1_year), toFloat64(p.yield_1_year)),
('2 year', toFloat64(d.yield_2_year), toFloat64(p.yield_2_year)),
('5 year', toFloat64(d.yield_5_year), toFloat64(p.yield_5_year)),
('10 year', toFloat64(d.yield_10_year), toFloat64(p.yield_10_year)),
('30 year', toFloat64(d.yield_30_year), toFloat64(p.yield_30_year)),
('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-30') AS p
)O título de 10 anos subiu 4 bp para 4.48% e o de 30 anos subiu 6 bp, enquanto o título de 1 mês recuou -3 bp — prazos intermediários e longos em alta, curto prazo em baixa. O spread 2s10s fechou em 0.31 pontos percentuais: sem convergência com a dispersão das ações.
The calendar behind the day
O SQL exato por trás de cada número
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
) AS news,
(
SELECT (argMax(t, n), max(n))
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS ex_dividend_records,
(SELECT countIf(frequency = 12) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payers,
(SELECT countIf(frequency = 4) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS quarterly_payers,
(SELECT round(100.0 * countIf(frequency = 12) / count(), 1) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payer_pct,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-01') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS filings_8k,
(SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
)) AS ipo_names,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
top_news.2 AS most_covered_articlesThe quarter turn crested here: 745 dividend records went ex-dividend — the wave the June recap watched building — alongside 9 splits and 3 listings (BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc.). The filing feed revived: 4282 filings, 1072 of them Form 4s and 248 8-Ks, after June 30's near-empty index day (the month-end gap note). Our feed carried 201 articles, most-covered MSFT at 16.
But a count says nothing about who was paying. Ranked by the money that traded in them, the board is not corporate at all:
O SQL exato por trás de cada número
WITH divs AS (
SELECT ticker, max(toFloat64(cash_amount)) AS cash, max(frequency) AS freq
FROM global_markets.stocks_dividends
WHERE ex_dividend_date = '2026-07-01' AND distribution_type = 'recurring'
GROUP BY ticker
),
tape AS (
SELECT ticker,
sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume,
toFloat64(argMax(close, (window_start, close))) AS day_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)
SELECT
d.ticker AS ticker,
round(d.cash, 4) AS cash_per_share,
d.freq AS payments_per_year,
round(t.day_close, 2) AS day_close,
round(100 * d.cash / t.day_close, 2) AS pct_of_price,
round(100 * d.cash * d.freq / t.day_close, 2) AS annualized_yield_pct,
round(t.dollar_volume / 1e9, 2) AS day_dollar_bn
FROM divs d JOIN tape t ON d.ticker = t.ticker
WHERE t.dollar_volume > 0 AND d.cash > 0
ORDER BY t.dollar_volume DESC
LIMIT 8Every one of the eight busiest ex-dividend tickers is a fund paying 12 times a year: SGOV, a Treasury-bill fund, went ex on $0.2958 a share (0.29% of price, 3.54% annualized) on $3.5 billion traded; HYG, a high-yield bond fund, on $0.3688. That is a first-of-month wave: 572 of the day's 745 records (76.8%) are monthly payers — funds distributing interest — against 123 quarterly payers. The ex-date drop is mechanical, not a loss.
O primeiro dia de um trimestre é algum dia comum?
A lógica parece óbvia: novo trimestre, novo capital, novas alocações. O banco de dados discorda.
O SQL exato por trás de cada número
SELECT
count() AS quarter_opens_measured,
round(quantileExact(0.5)(oc_pct), 2) AS median_quarter_open_pct,
countIf(oc_pct > 0) AS quarter_opens_green,
countIf(oc_pct <= 0) AS quarter_opens_red,
round(anyIf(oc_pct, first_day = toDate('2026-07-01')), 2) AS jul1_oc_pct,
arrayCount(x -> x < anyIf(oc_pct, first_day = toDate('2026-07-01')), groupArrayIf(oc_pct, first_day != toDate('2026-07-01'))) + 1 AS jul1_rank_worst_to_best,
round(min(oc_pct), 2) AS worst_quarter_open_pct,
round(max(oc_pct), 2) AS best_quarter_open_pct,
concat(monthName(min(first_day)), ' ', toString(toYear(min(first_day)))) AS first_measured
FROM (
SELECT f.first_day AS first_day, d.oc_pct AS oc_pct
FROM (
SELECT toStartOfQuarter(d) AS q, min(d) AS first_day
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)
GROUP BY q
) f
INNER JOIN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), (window_start, close)) / argMin(toFloat64(open), (window_start, open)) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
) d ON d.d = f.first_day
)Nas 91 sessões de abertura de trimestre desde January 2004, a mediana de variação do SPY do abertura ao fechamento no primeiro dia do trimestre é 0.01% — 46 de alta contra 45 de baixa, variando de -2.28% a 3.18%: um lançamento de moeda com um erro de arredondamento. O dia primeiro de julho registrou 0.09%, posição 50 de 91 do pior ao melhor — exatamente no centro. Base: variação do SPY em horário regular, do abertura ao fechamento, em todas as primeiras sessões de trimestre do banco de dados.
O que o dia deixa para o leitor
O índice moveu 0.09%; o painel de oito nomes varia de -10.45% a 8.88%; o custo de proteção mal foi reajustado. Essa é a aritmética comum de um mercado concentrado — as perdas de um setor são compensadas por ganhos em 7 de 11 outros, resultando no saldo do índice. Uma análise em nível de índice não mostra nada aqui; uma análise em nível de posição mostra a perda de um décimo de uma posição em um único dia.
A sessão, verificada
O SQL exato por trás de cada número
SELECT
formatDateTime(min(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS first_spy_bar_et,
formatDateTime(max(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS last_spy_bar_et,
count() AS spy_minute_bars,
countIf(window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-01') AS jul1_holiday_rows
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 00:00:00' AND window_start < '2026-07-02 00:00:00'As barras do SPY variam de 04:00 a 19:59 no horário de Nova York, com 390 barras de janela regular e 0 linhas de feriado na data — uma sessão completa, verificada pelo tape.
FAQ
O mercado de ações subiu ou desceu em 1º de julho de 2026?
Depende da análise. O SPY fechou em -0.08%, o DIA em 0.02% e o QQQ em -1.44%; ativos líquidos de 3465 caíram contra a alta de 2928 — contudo, 7 dos fundos do setor 11 fecharam no positivo, com a tecnologia sendo a exceção.
Por que Micron, SanDisk, Western Digital e Seagate caíram em 1º de julho de 2026?
Estes dados mostram movimento conjunto, não a causa: as quatro caíram entre -5.11% e -10.45%. A matéria do mesmo dia do Motley Fool sobre a Micron (no painel de notícias desta página, 14:11 ET) saiu com o título "Why Micron Stock Is Plummeting Today". Esse é o enfoque do veículo, não um achado do tape.
Por que a META subiu em 1º de julho de 2026?
A META fechou 8.88% acima, com sua mínima na barra de abertura. A cobertura do Motley Fool atribuiu o movimento a relatos de que a empresa planejava vender excesso de capacidade de computação de IA como um negócio de cloud: essa é a atribuição do veículo, não a nossa.
O primeiro dia de negociação de um trimestre costuma ser um dia forte?
Não de forma mensurável. Entre as 91 aberturas de trimestre desde January 2004, a mediana de movimento do SPY da abertura ao fechamento foi de 0.01%: 46 no verde e 45 no vermelho — o equivalente a um cara ou coroa; o dia 1º de julho ficou na média.
O mercado de opções estava fazendo hedge da venda em 1º de julho de 2026?
Não no nível do índice: houve 0.71 puts para cada call em todo o mercado, e apenas 11.6% do volume de puts do SPY atingiu mais de dois por cento abaixo do fechamento.
Notas de dados
- O volume em dólar é uma estimativa por minuto — preço de fechamento × volume somados por barra de um minuto, durante o horário regular. Os extremos exibidos foram conferidos com barras adjacentes; em caso de empate, considera-se o mais precoce.
- Não existe um índice VIX spot aqui. O painel de volatilidade apresenta fundos de VIX-futures listados, que detêm e rolam contratos futuros — relacionados ao índice, mas nunca idênticos.
- Novas máximas/mínimas trimestrais comparam os extremos do horário regular de 1º de julho com o intervalo de cada ativo entre 1º de abril e 30 de junho, para ativos líquidos com um trimestre completo de barras; as quedas estão no painel.
- O painel de setores é uma cesta selecionada (onze ETFs da SPDR, não um campo de fornecedor); o painel de notícias é um feed licenciado (12 artigos, dois editores); uma listagem de símbolo reutilizado foi excluída dos rankings (seus comprovantes).
Metodologia
- Uma sessão de negociação (sessão 1, verificada por meio de barras observadas e da tabela de feriados — nunca presumida). Os timestamps são armazenados em UTC e convertidos para o horário de Nova York nas consultas; o "close" é o último minuto da sessão regular, com a mudança de dia baseada em 30 de junho.
- Decimais são convertidos para floats de 64 bits antes da aritmética de razões; os vencimentos de opções são reprocessados a partir do ticker da OCC. Os painéis são executados uma única vez, no momento da elaboração, através do caminho de leitura restrito. Estado do warehouse em 13 de julho de 2026; esta edição adiciona os painéis de setor, volatilidade, notícias, dividendos e histórico trimestral.
Cada painel é o resultado de uma consulta armazenada — gráfico, tabela e SQL são um único objeto. Cole qualquer um deles no terminal Strasmore. Próximo: 2 de julho; a semana: a semana do feriado.