Итоги рынка за 1 июля 2026 года
Итоги торгов за первый день июля: спокойные индексы и высокая волатильность. META выросла, а большинство секторов S&P закрылись в плюсе. Читайте детали здесь.
Среда, 1 июля 2026 года — первая сессия второго полугодия — ознаменовалась сочетанием одного из самых спокойных дней для индексов и крайне высокой волатильности котировок. SPY закрылся на уровне -0.08%, а QQQ — на уровне -1.44%. При этом индекс, обеспечивший рост во втором квартале, потерял десятую часть своей стоимости, META выросла на 8.88%, а 7 фондов сектора S&P 11 закрылись в плюсе. Предыдущая сессия: 30 июня.
Итоги торгов
Изменения рассчитаны путем сравнения последней свечи регулярной сессии 1 июля с показателями вторника, 30 июня.
Точный SQL-код для каждого числа
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.tickerОсновным фактором стал сплит: DIA на уровне 0.02% и SPY на уровне -0.08% не изменились, в то время как QQQ и IWM показали рост на -1.44% и -0.37% соответственно. Широкий рынок практически не отреагировал на распродажу активов роста.
Один из самых спокойных дней для индексов за последний месяц
Точный SQL-код для каждого числа
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
)Изменение цены SPY от открытия до закрытия внутри сессии — иной показатель по сравнению с динамикой закрытия — составило 0.09%. Это 20-е место среди 22 предыдущих сессий по абсолютному значению; только две сессии показали меньшую волатильность. Индикаторы волатильности подтвердили этот тренд. Данный отчет не содержит индекс VIX в реальном времени, поэтому анализ проводится по биржевым фондам на базе фьючерсов VIX — наиболее близкому торгуемому показателю стоимости хеджирования:
Точный SQL-код для каждого числа
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 tickerVXX, крупнейший фонд на фьючерсах VIX с ближайшим экспирационным месяцем, вырос на 0.72%; VIXY на 0.8%; кредитное плечо UVXY составило 1.13% в диапазоне 3.68%; обратный фонд SVXY — на -0.42%. Эти значения незначительны по сравнению с динамикой отдельных акций.
Ширина рынка: падение превзошло рост — новых максимумов больше, чем новых минимумов
Точный SQL-код для каждого числа
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 растущих, 3465 падающих, 82 без изменений — 45.2% ликвидных инструментов выросли. Однако масштаб не отражает интенсивность: относительно диапазона торговой сессии за второй квартал, 836 из 6217 акций, торгующихся полный квартал, достигли нового квартального максимума в этот убыточный день, в то время как 246 достигли нового минимума — 3.4 новых максимумов на каждый новый минимум. Большинство инструментов снизилось; лишь немногие вышли за пределы своего диапазона. Падение: 5435 из 11910 тикеров, торгующихся две сессии подряд с объемом менее 1 миллиона долларов, 258 ликвидных инструментов без полной серии баров за квартал.
Секторный обзор: ущерб коснулся только одного сектора
Одиннадцать фондов секторов SPDR представляют собой наиболее доступный способ покупки всего рынка — одна и та же корзина активов каждую сессию.
Точный SQL-код для каждого числа
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 DESCСектор коммуникационных услуг (XLC), включающий META, показал рост на 2.41%. Финансовый сектор (XLF) отстал, показав результат 2.2%. Технологический сектор (XLK) оказался в аутсайдерах, показав результат на -2.56% и 4.97 процентных пункта ниже лидера. В общей сложности 7 из 11 фондов закрылись в плюсе — это потребительские товары (0.68%) и здравоохранение (0.57%). При этом коммунальные услуги (-1.28%), промышленный сектор (-0.98%) и энергетический сектор (-0.6%) показали отрицательную динамику. Это означает, что «индекс практически не изменился» за счет падения отдельных секторов.
Главное событие дня: прорыв в секторе памяти, META движется в противоположном направлении
Основную дисперсию обеспечили восемь акций: четыре компании из сектора памяти и хранения данных, лидировавшие во втором квартале, и четыре компании из сектора чипов и платформ. В отчете указаны корреляция, масштаб и время изменений; причины не приводятся.
Точный SQL-код для каждого числа
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 tickerАкции SanDisk (-10.45%) и Micron (-10.23%) потеряли более одной десятой своей стоимости; Marvell -8.68%, AMD -6.87%, Western Digital -6.3% и Seagate -5.11% также снизились. Оборот MU составил $42.94 миллиарда, что превышает объем торгов по SPY за весь день. Акции MU, AMD и Marvell достигли дневных минимумов в последние минуты сессии (15:59, 15:57, 15:58 ET) — продажи шли во время закрытого аукциона, а не из-за утреннего дефицита ликвидности (анализ падения MU показывает, что квартал уже позади).
META демонстрирует обратную динамику: 8.88% при объеме торгов в $22.72 миллиарда. Минимум был зафиксирован на уровне 09:30 ET — на первой свече открытия — и больше не повторялся. NVDA практически не изменила цену на уровне -1.09% (обзор NVDA за июнь).
Что было сказано
Эта страница не устанавливает причинно-следственные связи. Наша лицензионная новостная лента — это просто набор данных: вот что в ней было в тот день:
Точный SQL-код для каждого числа
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 ASCДневная статья The Motley Fool о Micron (14:11 ET) вышла под заголовком "Why Micron Stock Is Plummeting Today". В вечернем обзоре (17:12 ET) и последующем материале через четыре минуты (17:16 ET) рост акций META связывали с сообщениями о плане продажи избыточных мощностей для вычислений ИИ в качестве облачного бизнеса. Это интерпретация издания, а не рыночный факт; 12 статей от двух издателей — это фокус одной ленты, а не состояние рынка.
Где торговались средства
Точный SQL-код для каждого числа
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) DESCЛидером торгов стал MU с объемом в $42.94 миллиарда. На втором месте SPY с $27.76 миллиарда, на четвертом — META с $22.72 миллиарда; акции этой компании, демонстрирующие падение, торговались в полтора раза активнее индексного фонда. Наиболее волатильные активы обеспечили основной объем торгов. На бирже наблюдалась привычная аномальная картина: SOXS, трехкратный обратный ETF на полупроводники, лидировал с объемом 553.1 миллионов акций — это был самый активный инструмент в день обвала сектора чипов. Замыкал список дешевая акция с объемом 189.8 миллионов акций на сумму $319 миллионов (относительный объем подтверждает это). База: регулярные часы торгов 1 июля, один повторный листинг исключен (отчеты).
Рынок опционов
Точный SQL-код для каждого числа
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'Объем торгов опционами составил 68.46 миллионов контрактов при 11.22 миллионах сделок. Доля колл-опционов составила 58.6% от общего объема, опционы с экспирацией в тот же день — 33.5%. Хеджирование индекса не наблюдалось: по всему рынку на один колл-опцион приходилось 0.71 пут-опционов. Из 5.76 миллионов пут-опционов на SPY только 11.6% имели страйк более чем на два процента ниже цены закрытия 745.69 — это глубокие пут-опционы, приносящие прибыль при обвале. Перекос (skew) наблюдался по отдельным акциям: пут-опционов на Micron было больше, чем колл-опционов (1.11 на один колл), в то время как по META колл-опционы преобладали над пут-опционами более чем в два раза (0.39). Самым активным контрактом был SPY со страйком $748 — 878,947 контрактов со средней ценой $0.707, экспирация которых была в деньгах на 2.31 долларов, как у вторника. Контракты с экспирацией 3 июля не торговались (0 сделок — в эту пятницу рынок закрыт); недельные опционы с экспирацией в четверг составили 14.43 миллионов.
Rates: drifting up, front end down
Yields are daily closes against June 30.
Точный SQL-код для каждого числа
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
)The 10-year added 4 bp to 4.48% and the 30-year 6 bp, while the 1-month bill moved -3 bp — belly and long end up, front end down. The 2s10s spread closed at 0.31 percentage points: nothing here matched the equity dispersion.
The calendar behind the day
Точный SQL-код для каждого числа
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:
Точный SQL-код для каждого числа
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.
Является ли первый день квартала обычным днем?
Ситуация кажется очевидной: новый квартал — новые деньги и перераспределение активов. Однако данные говорят об обратном.
Точный SQL-код для каждого числа
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
)За 91 торговых сессий в начале кварталов с January 2004 медианное изменение цены SPY от открытия до закрытия в первый день квартала составляет 0.01% — 46 положительных против 45 отрицательных, в диапазоне от -2.28% до 3.18%: результат сопоставим с подбрасыванием монеты с небольшой погрешностью. 1 июля показатель составил 0.09%, что соответствует 50 позиции из 91 (от худшего к лучшему) — ровно посередине. База данных: изменение цены SPY в обычные часы торговли от открытия до закрытия в первую сессию каждого квартала.
Итоги дня для читателя
Индекс изменился на 0.09%; диапазон восьми акций составляет от -10.45% до 8.88%; стоимость защиты практически не изменилась. Такова специфика концентрированного рынка — индекс усредняет показатели, когда убытки одного сектора компенсируются ростом в 7 из 11 других. Анализ на уровне индекса не выявляет значимых изменений; анализ на уровне отдельных позиций показывает потерю одной десятой части актива за день.
Сессия подтверждена
Точный SQL-код для каждого числа
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'Бары SPY охватывают период с 04:00 по 19:59 по нью-йоркскому времени. В этот день представлено 390 баров основной торговой сессии и 0 праздничных строк — полная сессия, подтвержденная по ленте сделок.
FAQ
Вырос или упал фондовый рынок 1 июля 2026 года?
Результат зависит от выбранного инструмента. SPY закрылся на уровне -0.08%, DIA на 0.02%, QQQ на -1.44%; 3465 ликвидных активов снизились на фоне роста 2928 — при этом 7 из 11 секторных фондов закрылись в плюсе, исключением стал технологический сектор.
Почему акции Micron, SanDisk, Western Digital и Seagate упали 1 июля 2026 года?
Данные фиксируют синхронное движение, а не его причину: все четыре компании снизились в диапазоне между -5.11% и -10.45%. В статье The Motley Fool по Micron, опубликованной в тот же день (в новостной панели на этой странице, 14:11 ET), использовался заголовок «Why Micron Stock Is Plummeting Today». Это интерпретация издания, а не вывод на основе рыночных данных.
Почему акции META выросли 1 июля 2026 года?
META закрылась на 8.88% выше, при этом минимум был зафиксирован на открытии. В материале The Motley Fool это движение объяснялось сообщениями о планах компании продавать избыточные мощности для вычислений ИИ как облачный сервис: это версия издания, а не наш вывод.
Является ли первый торговый день квартала обычно сильным днем?
Существенной закономерности нет. С January 2004 по 91 открытий кварталов медианное изменение цены SPY от открытия до закрытия составило 0.01%: 46 случаев — рост, 45 — падение; это сопоставимо с подбрасыванием монеты. 1 июля показатели оказались средними.
Хеджировал ли рынок опционов распродажу 1 июля 2026 года?
На уровне индексов — нет: по всему рынку соотношение пут-опционов к колл-опционам составило 0.71, и только 11.6% объема пут-опционов SPY достигли отметки более чем на два процента ниже цены закрытия.
Примечания к данным
- Объем в долларах — это минутный показатель — цена закрытия, умноженная на объем, суммированная по минутным барам в основную торговую сессию. Экстремальные значения были перепроверены по соседним барам; при совпадении значений выбирается самое раннее.
- Индекс VIX spot здесь отсутствует. Панель волатильности отображает биржевые фонды на фьючерсы VIX, которые владеют фьючерсами и проводят их редоблирование — они связаны с индексом, но не идентичны ему.
- Новые квартальные максимумы/минимумы — сравнение экстремальных значений за основную торговую сессию на 1 июля с диапазоном каждой акции за период с 1 апреля по 30 июня для ликвидных активов с полным кварталом баров; данные о падении представлены в панели.
- Секторная панель представляет собой отобранную корзину (одиннадцать ETF от SPDR, а не поле поставщика данных); панель новостей — это один лицензионный поток (12 статей, два издателя); один тикер с дублирующимся символом исключен из таблиц лидеров (его отчеты).
Методология
- Одна торговая сессия (1 сессия, подтвержденная по наблюдаемым барам и таблице праздников — не на основе предположений). Временные метки хранятся в UTC и конвертируются в нью-йоркское время внутри запросов; «close» — это последняя минутная свеча регулярной сессии, смена дня привязана к 30 июня.
- Перед расчетом коэффициентов десятичные значения преобразуются в 64-битные числа с плавающей запятой; даты экспирации опционов пересчитываются из тикера OCC. Панели формируются один раз в момент подготовки материала через защищенный путь чтения. Состояние хранилища на 13 июля 2026 года; в данное издание добавлены панели секторов, волатильности, новостей, дивидендов и истории кварталов.
Каждая панель является результатом сохраненного запроса — график, таблица и SQL представляют собой единый объект. Вы можете скопировать любой из них в терминал Strasmore. Далее: 2 июля; неделя: праздничная неделя.