Strasmore Research
Обзор рынка Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24

Итоги рынка за 1 июля 2026 года

Итоги торгов за первый день июля: спокойные индексы и высокая волатильность. META выросла, а большинство секторов S&P закрылись в плюсе. Читайте детали здесь.

Среда, 1 июля 2026 года — первая сессия второго полугодия — ознаменовалась сочетанием одного из самых спокойных дней для индексов и крайне высокой волатильности котировок. SPY закрылся на уровне -0.08%, а QQQ — на уровне -1.44%. При этом индекс, обеспечивший рост во втором квартале, потерял десятую часть своей стоимости, META выросла на 8.88%, а 7 фондов сектора S&P 11 закрылись в плюсе. Предыдущая сессия: 30 июня.

Итоги торгов

Изменения рассчитаны путем сравнения последней свечи регулярной сессии 1 июля с показателями вторника, 30 июня.

ЗапросSPY / QQQ / DIA / IWM — 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% соответственно. Широкий рынок практически не отреагировал на распродажу активов роста.

Один из самых спокойных дней для индексов за последний месяц

ЗапросРанг изменения цены SPY от открытия до закрытия за последний месяц (1 = максимальное изменение)
Точный 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 — наиболее близкому торгуемому показателю стоимости хеджирования:

ЗапросКомплекс волатильности на 1 июля: ETF на фьючерсы VIX к закрытию вторника, SPY — эталон
Точный 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 ticker

VXX, крупнейший фонд на фьючерсах VIX с ближайшим экспирационным месяцем, вырос на 0.72%; VIXY на 0.8%; кредитное плечо UVXY составило 1.13% в диапазоне 3.68%; обратный фонд SVXY — на -0.42%. Эти значения незначительны по сравнению с динамикой отдельных акций.

Ширина рынка: падение превзошло рост — новых максимумов больше, чем новых минимумов

ЗапросКоличество растущих и падающих акций, новые квартальные максимумы и минимумы среди тикеров с объемом торгов от $1M на 1 июля
Точный 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 > 0

2928 растущих, 3465 падающих, 82 без изменений — 45.2% ликвидных инструментов выросли. Однако масштаб не отражает интенсивность: относительно диапазона торговой сессии за второй квартал, 836 из 6217 акций, торгующихся полный квартал, достигли нового квартального максимума в этот убыточный день, в то время как 246 достигли нового минимума — 3.4 новых максимумов на каждый новый минимум. Большинство инструментов снизилось; лишь немногие вышли за пределы своего диапазона. Падение: 5435 из 11910 тикеров, торгующихся две сессии подряд с объемом менее 1 миллиона долларов, 258 ликвидных инструментов без полной серии баров за квартал.

Секторный обзор: ущерб коснулся только одного сектора

Одиннадцать фондов секторов SPDR представляют собой наиболее доступный способ покупки всего рынка — одна и та же корзина активов каждую сессию.

Запрос11 секторных ETF S&P на 1 июля, от лучших к худшим относительно закрытия вторника
Точный 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 движется в противоположном направлении

Основную дисперсию обеспечили восемь акций: четыре компании из сектора памяти и хранения данных, лидировавшие во втором квартале, и четыре компании из сектора чипов и платформ. В отчете указаны корреляция, масштаб и время изменений; причины не приводятся.

ЗапросMemory complex и мега-капы: изменение к закрытию вторника, временные рамки и объем в долларах
Точный 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 за июнь).

Что было сказано

Эта страница не устанавливает причинно-следственные связи. Наша лицензионная новостная лента — это просто набор данных: вот что в ней было в тот день:

ЗапросПоследние 12 новостей дня по тикерам MU, SNDK, STX, WDC или META (одна лицензионная лента)
Точный 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 статей от двух издателей — это фокус одной ленты, а не состояние рынка.

Где торговались средства

ЗапросЛидеры по объему: топ-6 по объему в долларах, топ-4 по количеству акций (один дублирующийся символ исключен)
Точный 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 июля, один повторный листинг исключен (отчеты).

Рынок опционов

ЗапросОбщие данные по опционам за день: объем, экспирация в тот же день, перекос put/call и самый активный контракт
Точный 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 со страйком $748878,947 контрактов со средней ценой $0.707, экспирация которых была в деньгах на 2.31 долларов, как у вторника. Контракты с экспирацией 3 июля не торговались (0 сделок — в эту пятницу рынок закрыт); недельные опционы с экспирацией в четверг составили 14.43 миллионов.

Rates: drifting up, front end down

Yields are daily closes against June 30.

ЗапросКривая доходности казначейских облигаций, закрытие 1 июля к 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

ЗапросКорпоративный календарь и поток информации на 1 июля, одной строкой
Точный 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_articles

The 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:

ЗапросКрупнейшие компании с экс-дивидендной датой 1 июля, ранжированные по дневному объему в долларах
Точный 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 8

Every 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.

Является ли первый день квартала обычным днем?

Ситуация кажется очевидной: новый квартал — новые деньги и перераспределение активов. Однако данные говорят об обратном.

ЗапросВсе сессии открытия кварталов с 2004 г.: изменение цены SPY от открытия до закрытия, 1 июля в общем ряду
Точный 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 других. Анализ на уровне индекса не выявляет значимых изменений; анализ на уровне отдельных позиций показывает потерю одной десятой части актива за день.

Сессия подтверждена

ЗапросПроверка сессии: наблюдаемый диапазон минутных баров SPY
Точный 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 июля; неделя: праздничная неделя.