Обзор рынка 9 июля 2026 года в цифрах
Акции производителей чипов показали резкий рост и откат, а мега-капы вернулись к прежним значениям. Рынок закрылся в зеленой зоне, но NVDA ушла в минус.
Четверг, 9 июля 2026 года, продемонстрировал резкую волатильность в течение одной минуты — и это произошло еще до открытия торгов. На премаркете акции производителей чипов торговались значительно выше уровней закрытия среды, в то время как META торговалась на -3.16% ниже них; данные в 9:30 подтвердили оба значения. Затем часть дневного роста была нивелирована: гэпы в акциях производителей чипов сократились, а META вернулась к прежним значениям. Сессия завершилась с результатом 71.5% в зеленой зоне, став самой волатильной за неделю. Акции NVDA, росшие с вторника, закрылись в красной зоне. Все приведенные ниже данные получены из базы запросов.
Причины открытия рынка
Ценовые разрывы сформировались не в 9:30. В период с 4:00 до 9:29 по восточному времени премаркет уже пересмотрел котировки этих акций, поэтому цена открытия совпала с этими уровнями.
Точный SQL-код для каждого числа
SELECT
ticker,
round(prior_close, 2) AS prior_close,
formatDateTime(first_pm_bar, '%H:%i') AS first_premkt_bar_et,
round(premkt_last, 2) AS premkt_last,
round((premkt_last / prior_close - 1) * 100, 2) AS premkt_pct,
round(premkt_shares / 1e3, 1) AS premkt_shares_k,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_open / premkt_last - 1) * 100, 2) AS open_vs_premkt_pct
FROM (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS prior_close,
minIf(toTimeZone(window_start, 'America/New_York'), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS first_pm_bar,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00')) AS premkt_last,
sumIf(toFloat64(volume), window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 13:30:00') AS premkt_shares,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS day_open
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'KLAC', 'LRCX', 'META', 'NVDA')
AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 08:00:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
ORDER BY tickerПоследняя цена KLAC на премаркете была на +8.49% выше закрытия среды, и бумага открылась на уровне +8.14%. LRCX выросла на 9.64% и открылась с ростом на 9.67%; META показала -3.16% и открылась на уровне -3.16%. Читайте open_vs_premkt_pct: все шесть акций открылись в пределах одного процента от их последней цены на премаркете. NVDA — исключение: 0.16% за ночь при объеме 3741.7k акций, что является самым высоким объемом на премаркете среди шести бумаг, при этом движение было минимальным (премарк и внебиржевые торги).
Был ли катализатор? Наши данные его не называют
В обзоре должно быть указано, что именно повлияло на акции. В данном случае наши таблицы ничего не фиксируют: лента новостей и индекс отчетов SEC пусты для четырех акций с наибольшим ценовым разрывом.
Точный SQL-код для каждого числа
SELECT
ticker,
toUInt32(sum(overnight_articles)) AS overnight_articles,
toUInt32(sum(session_articles)) AS session_articles,
toUInt32(sum(sec_filings)) AS sec_filings,
toUInt32(sum(filings_8k)) AS filings_8k
FROM (
SELECT
arrayJoin(['AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC']) AS ticker,
toUInt64(0) AS overnight_articles, toUInt64(0) AS session_articles,
toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
UNION ALL
SELECT
arrayJoin(tickers) AS ticker,
countIf(published_utc < '2026-07-09 13:30:00') AS overnight_articles,
countIf(published_utc >= '2026-07-09 13:30:00') AS session_articles,
toUInt64(0) AS sec_filings, toUInt64(0) AS filings_8k
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-08 20:00:00' AND published_utc < '2026-07-09 20:00:00'
GROUP BY ticker
UNION ALL
SELECT
ticker, toUInt64(0), toUInt64(0),
count() AS sec_filings,
countIf(form_type = '8-K') AS filings_8k
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date >= '2026-07-08' AND filing_date <= '2026-07-09'
GROUP BY ticker
)
WHERE ticker IN ('AMD', 'KLAC', 'LRCX', 'META', 'MSFT', 'MU', 'NVDA', 'TER', 'WDC')
GROUP BY ticker
ORDER BY ticker0 ночных статей, 0 внутридневных, 0 отчетов SEC для KLAC — аналогичные пустые строки наблюдаются для LRCX, TER и WDC. NVDA, акции которой не имели ценовых разрывов, получила больше всего упоминаний среди девяти позиций (7 ночных, 9 внутридневных) и закрылась в красной зоне. Это данные одного источника, а не мировых СМИ; отсутствие данных в строке не является доказательством отсутствия события, однако в наших данных нет указания на причину, а «причина неизвестна» — это исчерпывающий ответ.
Итоговые показатели
Все изменения рассчитаны путем сравнения последней минутной свечи регулярной сессии 9 июля с показателями среды. Строки расположены в алфавитном порядке, поэтому положение каждого ETF остается неизменным.
Точный 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-07-08 13:30:00' AND window_start < '2026-07-08 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-09 13:30:00' AND window_start < '2026-07-09 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_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
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
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY tickerВсе четыре фонда закрылись в росте. Лидером стал QQQ с результатом +1.67% — за счет гэпа в +0.99% и роста на +0.68%; компания малой капитализации IWM прибавила +1.29%, SPY — +0.85% до $751.64, DIA показал рост на +0.29%. Акции роста лидируют, индекс Dow Jones отстает.
Был ли день необычным?
На уровне индексов — нет: изменение цены закрытия QQQ составило +1.67%, что является 10 из 21 предыдущих сессий по величине. Показатель SPY от открытия до закрытия составил 8 из 22. Основная волатильность наблюдалась между группами активов в течение дня.
Точный SQL-код для каждого числа
SELECT
round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09')), 2) AS qqq_close_over_close_pct,
arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-09'))), groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-09'))) + 1 AS qqq_abs_move_rank,
countIf(ticker = 'QQQ' AND isFinite(cc_pct)) AS qqq_sessions_compared,
round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-09'))), groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-09'))) + 1 AS spy_abs_move_rank,
countIf(ticker = 'SPY') AS spy_sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT ticker, d,
if(isFinite(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1),
(close_px / lagInFrame(close_px) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100, NULL) AS cc_pct,
oc_pct
FROM (
SELECT ticker, toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS close_px,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-06-08 13:30:00')
AND window_start < toDateTime('2026-07-10 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
)
)Широта рынка: самый масштабный сеанс за неделю
Точный SQL-код для каждого числа
SELECT
countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS advancers,
countIf(close_9 < close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS decliners,
countIf(close_9 = close_8 AND close_8 > 0 AND dv_9 >= 1000000) AS unchanged,
countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS liquid_tickers,
countIf(close_8 > 0 AND close_9 > 0) AS traded_both_sessions,
countIf(close_8 > 0 AND close_9 > 0) - countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000) AS dropped_by_liquidity_filter,
round(100.0 * countIf(close_9 > close_8 AND close_8 > 0 AND dv_9 >= 1000000) / countIf(close_8 > 0 AND close_9 > 0 AND dv_9 >= 1000000), 1) AS advancer_pct,
round(100.0 * countIf(close_8 > close_7 AND close_7 > 0 AND dv_8 >= 1000000) / countIf(close_8 > 0 AND close_7 > 0 AND dv_8 >= 1000000), 1) AS jul8_advancer_pct
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS dv_9,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00') AS dv_8
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)4263 растущих акций против 1631 падающих — доля растущих акций составила 71.5% после 29.6% в среду, при тех же условиях расчета и фильтре по объегам торгов в $1M (5385 из 11351 наименований ниже этого порога). Динамика за остальную часть недели:
Точный SQL-код для каждого числа
WITH per_day AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(toFloat64(close), window_start) AS c,
sum(toFloat64(close) * toFloat64(volume)) AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-09 20:00:00'
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker, d
),
lagged AS (
SELECT ticker, d, c, dv,
lagInFrame(c) OVER (PARTITION BY ticker ORDER BY d) AS prev_c
FROM per_day
)
SELECT
toString(d) AS date,
round(anyIf((c / prev_c - 1) * 100, ticker = 'SPY'), 2) AS spy_pct,
round(anyIf((c / prev_c - 1) * 100, ticker = 'QQQ'), 2) AS qqq_pct,
round(100.0 * countIf(c > prev_c AND prev_c > 0 AND dv >= 1000000) / countIf(c > 0 AND prev_c > 0 AND dv >= 1000000), 1) AS advancer_pct,
countIf(c > 0 AND prev_c > 0 AND dv >= 1000000) AS liquid_names
FROM lagged
WHERE d >= toDate('2026-07-06')
GROUP BY d
ORDER BY dВ понедельник было 62.4% растущих акций, во вторник и среду этот показатель снизился до 33.9% и 29.6% соответственно. Показатель четверга, составляющий 71.4%, является самым высоким среди четырех завершенных сеансов недели (данный обзор не учитывает данные за пятницу, 10 июля). Индекс QQQ также продемонстрировал рост: -1.82% во вторник, 0.25% в среду, +1.67% в четверг.
Не только чипы: как торговался остальной рынок
Показатель охвата рынка указывает на рост большинства акций, однако этот рост не был равномерным. Ниже представлен равновесный портфель, состоящий из трех ликвидных бумаг в каждом секторе; состав портфеля остается неизменным ежедневно.
Точный SQL-код для каждого числа
SELECT
sector,
count() AS names,
round(avg(pct_chg), 2) AS avg_pct_chg,
round(min(pct_chg), 2) AS worst_name_pct,
round(max(pct_chg), 2) AS best_name_pct,
round(avg(pct_chg) - max(avg(pct_chg)) OVER (), 2) AS gap_to_best_sector_pct
FROM (
SELECT
ticker,
multiIf(ticker IN ('AMD', 'AVGO', 'KLAC'), 'Semiconductors',
ticker IN ('AAPL', 'MSFT', 'GOOGL'), 'Big tech',
ticker IN ('JPM', 'BAC', 'GS'), 'Financials',
ticker IN ('CAT', 'HON', 'GE'), 'Industrials',
ticker IN ('XOM', 'CVX', 'COP'), 'Energy',
ticker IN ('JNJ', 'UNH', 'PFE'), 'Healthcare',
ticker IN ('KO', 'PG', 'WMT'), 'Staples',
'Utilities') AS sector,
(toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
/ toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) - 1) * 100 AS pct_chg
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'KLAC', 'AAPL', 'MSFT', 'GOOGL', 'JPM', 'BAC', 'GS', 'CAT', 'HON', 'GE',
'XOM', 'CVX', 'COP', 'JNJ', 'UNH', 'PFE', 'KO', 'PG', 'WMT', 'NEE', 'DUK', 'SO')
AND window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)
GROUP BY sector
ORDER BY avg_pct_chg DESCSemiconductors показал лидерство с результатом +4.24%, Energy отстал с показателем -2.01% — разрыв составил -6.25 пункта (gap_to_best_sector_pct). Финансовый сектор стал самым сильным сектором среди не-чиповых акций с ростом на +1.88%; потребительские товары (-0.91%), коммунальные услуги (-0.96%) и энергетический сектор закрылись в минусе. Показатели крупнейших технологических компаний (AAPL, MSFT и GOOGL) составили в среднем умеренные +0.17%. Самое крупное за день изменение цены от открытия до закрытия — размах в +8.1% у META — не входит ни в один из восьми портфелей; внутри данного портфеля наиболее резким изменением стал результат MSFT, открывшейся на -2.25% и закрывшейся с ростом на +0.33%.
Открытие полупроводникового сектора и последующее снижение
gap_pct — это значение на открытии относительно закрытия среды; intraday_pct — значение за день. Строки расположены в алфавитном порядке.
Точный SQL-код для каждого числа
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-09 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-09 00:00:00') AS day_low,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_open, 2) AS day_open,
round(day_close, 2) AS day_close,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerKLAC открылась ростом на +8.14% относительно закрытия среды, после чего потеряла -3.98%; LRCX открылась на +9.67% и снизилась на -3.26%; TER (+7.87%) и WDC (+7.89%) продемонстрировали аналогичную динамику. MU показала гэп на +7.07%, снизилась на -2.56%, но закрылась ростом на +4.33% при объеме 33.56B — это самая крупная бумага в списке за второй сеанс подряд (обзор среды содержит данные за первый). AMD и SNDK стали исключением: AMD прибавила 1.75% после открытия на +3.87% и закрылась ростом на +5.68%, а SNDK, уже имевшая +6.14% на открытии, добавила еще 1.23% и закрылась ростом на +7.45%. Что касается NVDA: открытие на +0.16% без гэпа с переходом в закрытие на -0.68%.
Точный SQL-код для каждого числа
SELECT
countIf(close_9 > close_8) AS jul9_green,
countIf(close_9 < close_8) AS jul9_red,
countIf(close_8 > close_7) AS jul8_green,
round(anyIf((close_9 / close_8 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul9_pct,
round(anyIf((close_8 / close_7 - 1) * 100, ticker = 'NVDA'), 2) AS nvda_jul8_pct,
count() AS names_counted
FROM (
SELECT ticker,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-07 20:00:00')) AS close_7,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')) AS close_8,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00')) AS close_9
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'AVGO', 'INTC', 'KLAC', 'LRCX', 'MRVL', 'MU', 'NVDA', 'SNDK', 'SOXL', 'SOXS', 'STX', 'TER', 'WDC')
AND window_start >= '2026-07-07 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY ticker
)12 из четырнадцати компаний закрылись ростом; 2 красных закрытий составили обратную структуру — структурное снижение в день роста — и NVDA на уровне -0.68%, спустя день после закрытия на +3.66%. Самая крупная компания в полупроводниковом секторе не приняла участия в росте своего сектора, несмотря на самый большой объем новостного покрытия.
Другая сторона: акции крупнейших компаний открылись снижением, но восстановились
Точный SQL-код для каждого числа
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-09 00:00:00')) AS prior_close,
toFloat64(argMinIf(open, window_start, window_start >= '2026-07-09 00:00:00')) AS day_open,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-09 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-09 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'AMZN', 'CVX', 'GOOGL', 'JNJ', 'META', 'MSFT', 'TSLA')
AND ((window_start >= '2026-07-08 13:30:00' AND window_start < '2026-07-08 20:00:00')
OR (window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_open, 2) AS day_open,
round(day_close, 2) AS day_close,
round((day_open / prior_close - 1) * 100, 2) AS gap_pct,
round((day_close / day_open - 1) * 100, 2) AS intraday_pct,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerСемь из восьми компаний открылись ниже цен закрытия среды; дальнейшая динамика разделила их. META открылась снижением на -3.16% и выросла на +8.1%, закрывшись на уровне 4.69% — это самый резкий разворот от открытия к закрытию на странице. MSFT открылась снижением на -2.25% и восстановилась до +0.33%; AMZN (+1.4%) и AAPL (+0.93%) повторили этот сценарий; TSLA не имела гэпа и выросла до +3.21%. Акции, которые не смогли восстановиться, не относятся к сектору роста: GOOGL (-0.76%), CVX (-1.06%), JNJ (-1.62%). Почему акции открываются гэпом объясняет этот механизм.
Where the money traded
Точный SQL-код для каждого числа
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price,
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(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 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(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard, pct_of_board_leader DESCMU topped the dollar board again at 33.56B, over SPY (24.37B), NVDA (21.28B) and SNDK (20.59B) — memory in two of the top four slots. The shares board is a different market: SOXS led at 558.1M shares, implied price $3.91 (relative volume).
Точный SQL-код для каждого числа
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
GROUP BY et_time
ORDER BY et_timeA textbook U: the open bucket ran 1.79B shares (91.4% of the biggest), the midday trough 0.64B, and the closing auction half-hour was the day's biggest at 1.96B. Even on a day made at its open, the volume finished at the close.
Рынок опционов
Точный SQL-код для каждого числа
WITH
(
SELECT (groupArray(und), groupArray(strike), groupArray(typ), groupArray(vol), groupArray(avg_px), groupArray(is_0dte))
FROM (
SELECT any(underlying_symbol) AS und, any(toFloat64(strike_price)) AS strike, any(option_type) AS typ,
sum(size) AS vol, round(avg(toFloat64(price)), 3) AS avg_px,
if(substring(ticker, length(ticker) - 14, 6) = '260709', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
GROUP BY ticker
ORDER BY vol DESC
LIMIT 3
)
) AS top3,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
) AS jul8_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260708') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-09 00:00:00'
) AS jul8_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul8_contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260709') / sum(size), 1) AS pct_0dte,
jul8_pct_0dte,
spy_regular_close,
top3.1[1] AS top1_und, top3.2[1] AS top1_strike, top3.3[1] AS top1_type,
round(toFloat64(top3.4[1]) / 1e3, 1) AS top1_contracts_k, top3.5[1] AS top1_avg_px, top3.6[1] AS top1_is_0dte,
top3.1[2] AS top2_und, top3.2[2] AS top2_strike, top3.3[2] AS top2_type, top3.6[2] AS top2_is_0dte,
top3.1[3] AS top3_und, top3.2[3] AS top3_strike, top3.3[3] AS top3_type, top3.6[3] AS top3_is_0dte,
round(toFloat64(top3.2[1]) - spy_regular_close, 2) AS top1_moneyness
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'Объем торгов составил 9.99M сделок и 58.85M контрактов — это меньше, чем в среду (63.26M). Доля колл-опционов составила 58% от общего объема; доля 0DTE-опционов снизилась до 28.7% по сравнению с 38.7%. Три самых активных контракта были колл-опционами на SPY с экспирацией в тот же день: 751C (846.6K контрактов, средняя цена $0.526), 752C и 750C. Их цены располагались вблизи отметки закрытия SPY в $751.64 (0DTE опционы подробно описывают этот инструмент).
Хеджирование или ставка? При хеджировании покупают опционы вне денег (out-of-the-money); при ставке покупают опционы в нужном направлении.
Точный SQL-код для каждого числа
WITH (
SELECT toFloat64(argMax(close, window_start))
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00'
) AS spy_close
SELECT
multiIf(dist < -2, 'Strike >2% below close',
dist < -0.5, 'Strike 0.5-2% below',
dist <= 0.5, 'Strike within 0.5%',
dist <= 2, 'Strike 0.5-2% above',
'Strike >2% above close') AS strike_bucket,
round(toFloat64(sumIf(size, option_type = 'C')) / 1e3, 1) AS call_contracts_k,
round(toFloat64(sumIf(size, option_type = 'P')) / 1e3, 1) AS put_contracts_k,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_share_pct
FROM (
SELECT option_type, size, (toFloat64(strike_price) / spy_close - 1) * 100 AS dist
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY'
AND substring(ticker, length(ticker) - 14, 6) = '260709'
)
GROUP BY strike_bucket
ORDER BY min(dist)Объем торгов по опционам с экспирацией в тот же день был сосредоточен в деньгах: 3768.9k колл-опционов и 2563.3k пут-опционов в пределах полупроцента от цены закрытия (59.5% колл-опционов). Объем «крыльев» распределился по направлениям: ниже цены закрытия было 1356.5k пут-опционов против 255.4k колл-опционов (доля колл-опционов в глубоком вне денег составляла 1.2%); выше цены закрытия колл-опционы составили 91.6% от гораздо меньшего объема в 29.1k контрактов. Объем «крыльев» был сосредоточен на страйках в сторону падения, где покупают защиту: это лестница опционов в деньгах, а не в сторону роста.
Лента котировок
Точный SQL-код для каждого числа
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / 1e6, 2) AS jul9_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-08')) / 1e6, 2) AS jul8_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-09')) / countIf(toDate(sip_timestamp) = toDate('2026-07-08')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'SPY') / 1e6, 2) AS jul9_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'QQQ') / 1e6, 2) AS jul9_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'NVDA') / 1e6, 2) AS jul9_nvda_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'TSLA') / 1e6, 2) AS jul9_tsla_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-09') AND ticker = 'MU') / 1e6, 2) AS jul9_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-08 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'Главный факт дня: объем обновлений NBBO в ленте акций составил 383.44M, что на -27.7% меньше, чем в среду. Основная волатильность наблюдалась на уровнях цен, а не в частоте сделок. QQQ лидировал среди основных тикеров с показателем 4.35M, опережая SPY (2.71M) и NVDA (1.83M).
Точный SQL-код для каждого числа
SELECT
ticker,
round(quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000), 2) AS median_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'NVDA', 'TSLA', 'MU', 'SNDK', 'AVGO')
AND sip_timestamp >= '2026-07-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps ASCМедианный спред котировок для SPY составил 0.27 bps, для QQQ — 0.42, для NVDA — 0.99 — стандартные значения. Более широкие спреды наблюдались у MU (4.23 bps) и SNDK (8.79 bps) (бид-аск спред отражает именно эти издержки).
Точный SQL-код для каждого числа
SELECT
round(anyIf(avg_spread_cents, d = toDate('2026-07-09')), 3) AS jul9_avg_spread_cents,
arrayCount(x -> x < anyIf(avg_spread_cents, d = toDate('2026-07-09')), groupArrayIf(avg_spread_cents, d != toDate('2026-07-09'))) + 1 AS tightness_rank,
count() AS sessions_compared,
round(min(avg_spread_cents), 3) AS tightest_session_cents,
round(max(avg_spread_cents), 3) AS widest_session_cents,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
avgIf(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100 AS avg_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= toDateTime('2026-06-08 00:00:00')
AND sip_timestamp < toDateTime('2026-07-10 00:00:00')
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY d
)Средний спред котировок SPY составил 2.071 центов, что соответствует 10 из 22 предыдущих сессий. Значение находилось в диапазоне 1.809–2.865 цента: даже при открытии рынка дефицита ликвидности в котировках не наблюдалось.
Точный SQL-код для каждого числа
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00') AS jul9_stock_quote_rows
SELECT
round(jul9_options_rows / 1e9, 2) AS jul9_options_bn,
round(jul9_options_rows / jul9_stock_quote_rows, 1) AS options_to_stock_ratio,
round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-09 13:30:00' AND sip_timestamp < '2026-07-09 20:00:00') / 1e6, 0) AS jul9_spy_options_mЛента котировок опционов зафиксировала 6.9 миллиарда обновлений NBBO — это в 18 раз больше, чем в ленте акций; только по инструменту SPY этот показатель составил 242M.
Ставки: данные за 9 июля
Точный SQL-код для каждого числа
SELECT
(SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-09') AS jul9_print_rows,
toString(any(date)) AS latest_print_date,
round(toFloat64(any(yield_2_year)), 2) AS latest_2y_pct,
round(toFloat64(any(yield_10_year)), 2) AS latest_10y_pct,
round(toFloat64(any(yield_30_year)), 2) AS latest_30y_pct,
round(toFloat64(any(yield_10_year)) - toFloat64(any(yield_2_year)), 2) AS latest_2s10s_pct
FROM global_markets.treasury_yields
WHERE date = '2026-07-09'Данные по казначейским облигациям за 9 июля были опубликованы с обычной задержкой относительно момента составления отчета — зафиксирована строка 1. Кривая доходности за день (2026-07-09): 2-летняя 4.16%, 10-летняя 4.54%, 30-летняя 5.05%, спред 2s10s 0.38 — доходность по 2-летним облигациям снизилась по сравнению с показателями 8 июля, в то время как на длинном конце кривой изменения отсутствуют.
Календарь событий дня
Точный SQL-код для каждого числа
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-09'
) AS news,
(
SELECT (argMax(t, (n, t)), max(n), max(n) - arraySort(x -> -x, groupArray(n))[2])
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-09'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-09') AS ex_dividend_records,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS splits_executed,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-09') AS forward_splits,
(SELECT countIf(form_type = '424B2') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_424b2,
(SELECT countIf(form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_form4,
(SELECT countIf(form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_8k,
(SELECT count() FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-09') AS fil_total,
news.1 AS news_articles, news.2 AS news_publishers,
top_news.1 AS top_news_ticker, top_news.2 AS top_news_n, top_news.3 AS top_news_lead_over_next,
if(top_news.1 = 'NVDA', 1, 0) AS top_news_is_nvdaСтандартный календарь в необычно активный день: записи о 127 выплате дивидендов, обратные дробления 5, прямое дробление 1, отчетность SEC 2979 (формы 623 Form 4, 605 424B2, 149 8-K). Поток данных содержал 184 статей от 3 издателей; наиболее часто упоминаемый тикер — NVDA, 20 статей, на втором месте — 8.
В ожидании
Данные из наших таблиц — факты о следующей сессии, а не прогнозы.
Точный SQL-код для каждого числа
SELECT
toString(min(d)) AS next_session_date,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-10') AS next_session_holiday_rows,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS ex_div_records_next,
(SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JNJ', 'KO', 'PG', 'XOM', 'CVX', 'JPM', 'WMT', 'PEP', 'HON', 'CAT'))
FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-10') AS household_ex_div_next,
(SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260710') AS spy_next_expiry_contracts_m,
(SELECT round(toFloat64(sum(size)) / 1e6, 2) FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-09 00:00:00' AND sip_timestamp < '2026-07-10 00:00:00'
AND underlying_symbol = 'SPY' AND substring(ticker, length(ticker) - 14, 6) = '260717') AS spy_monthly_expiry_contracts_m,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest) AS latest_short_settlement,
(SELECT count() FROM global_markets.stocks_short_interest WHERE settlement_date = '2026-07-15') AS jul15_short_rows
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-10 00:00:00' AND window_start < '2026-07-14 00:00:00'
)Следующая сессия — 2026-07-10, 0 праздничных дней в сравнении с ней: обычная пятница. 153 компаний переходят в статус ex-dividend этим утром, 0 из нашего списка известных брендов. Пятничный экспирация SPY является самым крупным среди торгуемых фьючерсов — 1.66M контрактов на 9 июля против 0.57M на июльский ежемесячный контракт. Данные по коротким позициям: последняя доступная дата расчетов — 2026-06-30, 0 строк еще не подано за середину июля — FINRA публикует данные примерно через восемь рабочих дней после расчетов (почему данные по коротким позициям двухнедельной давности).
Сессия подтверждена
Точный 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-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-09 13:30:00' AND window_start < '2026-07-09 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-09') AS jul9_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_date,
(SELECT concat(monthName(min(date)), ' ', toString(toDayOfMonth(min(date))), ', ', toString(toYear(min(date))))
FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_label,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-09' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-09 00:00:00' AND window_start < '2026-07-10 00:00:00'Полная обычная сессия: первая свеча SPY в 04:00 ET, последняя в 19:59 ET, 390 регулярных минутных свечей, без праздничных строк. Следующее закрытие: Labor Day, September 7, 2026.
FAQ
Что произошло на фондовом рынке 9 июля 2026 года?
Все индексные ETF закрылись ростом: QQQ +1.67%, IWM +1.29%, SPY +0.85%, DIA +0.29%, доля ликвидных акций составила 71.5%. Акции производителей оборудования для производства чипов показали рост на открытии, который сменился снижением; акции компаний с мега-капитализацией упали на открытии, но затем восстановились.
Почему акции производителей оборудования для производства чипов, такие как KLAC и LRCX, выросли 9 июля 2026 года?
Наши данные не указывают на причину: с закрытия среды до четверга не было опубликовано ни статей, ни отчетов SEC для KLAC, LRCX, TER или WDC. Рост был заложен в цену на премаркете, до 9:30 по восточному времени.
Почему NVDA упала, в то время как сектор полупроводников рос?
NVDA закрылась на уровне -0.68%, в то время как 12 из четырнадцати компаний сектора полупроводников закрылись ростом. Акции не имели гэпа (0.16% на открытии) и были наиболее часто упоминаемым тикером — 20 статей; это рекордное совпадение, но причина не содержится в данных.
Был ли 9 июля 2026 года необычным днем для рынка?
На уровне индексов — нет: изменение QQQ заняло 10 из 21 предыдущих сессий по величине, средний спред SPY составил 10 от 22. Дисперсия внутри рынка составила: -6.25 пунктов между лучшей и худшей корзиной секторов.
Примечания к данным
Регулярные торги проходят в период 13:30–20:00 UTC (9:30–16:00 ET); панель премаркета использует временной интервал 08:00–13:30 UTC. Восемь секторных корзин сформированы методом равного веса — в каждую включены три ликвидные акции из SQL-запроса данной панели. Это установленный метод, а не классификация вендора: три акции представляют группу, а не весь сектор. Панель катализаторов учитывает только нашу новостную ленту и индекс EDGAR.
Полные примечания к данным
Панели по тикерам отсортированы по алфавиту, поэтому каждое упоминание в тексте относится к фиксированной строке; лидерборды отсортированы по значению, каждое позиционное утверждение ограничено. Данные по казначейским облигациям и расчеты по коротким позициям за середину июля ограничены нулем строк — их появление потребует пересмотра данного материала.
Методология
- Источники: в SQL-запросах для каждой панели указаны собственные таблицы — минутные агрегаты, кэши NBBO для акций и опционов, сделки по опционам, наша лента новостей, индекс EDGAR, дивиденды, короткие позиции, праздничные дни, доходность казначейских облигаций.
- Условности: в операторах WHERE используются необработанные значения UTC, в операторах SELECT — только метки ET; gap = цена открытия первого регулярного бара ÷ цена закрытия предыдущего регулярного бара − 1; показатели предыдущей сессии и предыдущей недели рассчитываются непосредственно в запросе, а не переносятся из предыдущих публикаций. Данные хранилища актуальны на 13 июля 2026 года.