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

Итоги торгов на фондовом рынке тридцатого июля

Обзор рыночной сессии за тридцатое июля две тысячи двадцать шестого года. Анализ индексов, отраслевой динамики, потоков опционов, процентных ставок и ключевых биржевых показателей.

Этот рыночный обзор за четверг, тридцатое июля две тысячи двадцать шестого года, отражает итоги всей сессии на основе сохраненных запросов: изменение цены закрытия SPY к закрытию предыдущего дня составило 1.68%, доля растущих акций в ликвидном сегменте рынка достигла 63.5%, а объем торгов на рынке опционов составил 67.06 миллионов контрактов. Каждое окно ниже привязано к конкретным датам с обеих сторон, поэтому повторный запуск SQL-запроса для любой панели возвращает эти же показатели.

Табло результатов

Все изменения сравниваются на основе минутных баров последней минуты основной торговой сессии 30 июля и предыдущей сессии 29 июля. Строки расположены в алфавитном порядке, поэтому каждый ETF сохраняет фиксированную позицию.

ЗапросSPY / QQQ / DIA / IWM: 30 июля к закрытию 29 июля, основная торговая сессия
Точный 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-29 13:30:00' AND window_start < '2026-07-29 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-30 13:30:00' AND window_start < '2026-07-30 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
Run this yourself

DIA изменился на 1.19%, IWM на 1.37%, QQQ на 3.34%, а SPY на 1.68%, закрывшись на отметке $741.73. Каждая строка разделяет движение на два этапа: SPY открылся с гэпом 0.9% относительно закрытия среды и изменился на 0.77% от открытия до закрытия. Ночной этап и внутридневной этап не обязаны совпадать, и их соотношение является первым индикатором характера сессии.

Был ли этот день необычным?

Результаты одной сессии мало что значат без понимания стоящего за ними распределения, поэтому день ранжируется внутри собственного скользящего месяца по аналогичной логике.

ЗапросДневное изменение SPY в контексте динамики (от открытия до закрытия, с 30 июня по 30 июля)
Точный SQL-код для каждого числа
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-30')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-30'))) + 1 AS spy_abs_move_rank,
    count() AS spy_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-30 13:30:00')
      AND window_start < toDateTime('2026-07-31 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

Движение SPY от открытия до закрытия на 0.77% заняло 3 место из 22 сессий за скользящий период, начиная с 2026-06-30. Ранжирование показывает, сколько еще сессий в этом окне имели более значительное движение, плюс единица; таким образом, первое место соответствует самому большому движению за скользящий месяц.

Рыночный охват

Уровень индекса — это лишь одно число. Рыночный охват показывает, сколько акций двигались вместе с ним.

ЗапросШирина рынка по ликвидным инструментам: закрытие 30 июля к 29 июля, фильтр по объему торгов от $1 млн
Точный SQL-код для каждого числа
SELECT
    countIf(c30 > c29 AND liquid) AS advancers,
    countIf(c30 < c29 AND liquid) AS decliners,
    countIf(c30 = c29 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c30 > c29 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c29, c30, dv30 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv30
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0
    )
)
Run this yourself

Среди 5960 инструментов, объем торгов по которым в основную сессию превысил один миллион долларов, 3782 закрылись выше уровня среды, а 2122 — ниже, что дает долю растущих акций на уровне 63.5%. Фильтр исключил 5492 менее ликвидных бумаг, которые были учтены здесь, а не просто отброшены.

Список мегакапитализированных компаний

Одни и те же восемь компаний с мегакапитализацией появляются здесь каждую сессию, отсортированные по алфавиту, чтобы каждая сохраняла свою строку. Фиксированная корзина — это суть подхода: читатель запоминает строки, и редактор не выбирает фаворитов постфактум.

ЗапросВосемь мега-капитализаций: изменение к 29 июля и объем торгов в долларах, 30 июля
Точный SQL-код для каждого числа
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-30 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
        OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 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,
    day_dollar_bn
FROM per_name
ORDER BY ticker
Run this yourself

Акции AAPL изменились на -1.24%, META на -8.17%, MSFT на 15.06%, а NVDA на 2.67% при объеме торгов в основную сессию в 19.63 миллиарда долларов, при этом показатель TSLA составил 3.53%. Столбец в долларовом выражении показывает, какую долю оборота эти восемь компаний обеспечивают самостоятельно; панель широты рынка выше служит индикатором того, насколько далеко остальной рынок продвинулся вместе с ними.

Лидеры дня

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

ЗапросЛидеры роста и падения: закрытие 30 июля к 29 июля, объем торгов от $5 млн, без учета сплитов
Точный SQL-код для каждого числа
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
          AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
          AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Лидер роста, CYCU, изменился на 489.5% при объеме торгов в 474.4 миллионов долларов. Наибольшее снижение показал IREZ, зафиксировав -61.2% при объеме в 90.8 миллионов. На этой странице фиксируются объемы и результаты торгов; она не содержит аналитических комментариев к ним.

Отраслевая дисперсия

Одиннадцать отраслевых фондов SPDR, закрытие 30 июля по отношению к 29 июля, ранжированные от лучших к худшим. Корзина является фиксированной и определенной, а не классификацией стороннего поставщика.

ЗапросОтраслевые ETF, закрытие 30 июля к 29 июля, ранжирование
Точный SQL-код для каждого числа
SELECT sector, day_pct, round(max(day_pct) OVER () - day_pct, 2) AS points_behind_best
FROM (
    SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
                   ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
                   ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
                   ticker = 'XLV', 'Health Care', 'Consumer Discretionary') AS sector,
           round((c30 / c29 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-30 00:00:00') AS c29,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 00:00:00') AS c30
        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-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
            OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
        GROUP BY ticker
        HAVING c29 > 0 AND c30 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Technology возглавил список с результатом 5.52%, а Communications оказался в самом низу с -2.69%, отстав на 8.21 процентных пункта. Этот спред представляет собой отраслевую дисперсию дня: лента, где все одиннадцать инструментов укладываются в один пункт, читается совершенно иначе, чем та, где показатели растянуты на несколько пунктов.

Где сосредоточены долларовые объемы торгов

ЗапросТоп-6 по объему торгов в долларах, топ-4 по объему торгов в акциях: основная сессия 30 июля
Точный SQL-код для каждого числа
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price
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-30 13:30:00' AND window_start < '2026-07-30 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-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESC
Run this yourself

MU лидирует по объему торгов в долларовом выражении с показателем 43.29 миллиарда в основную торговую сессию, за ним следует MSFT с 42.56 миллиарда. В сегменте акций картина иная: CYCU занял первое место с 544 миллиона акций при подразумеваемой средней цене в 0.86 доллара. Долларовый объем показывает, на какие инструменты направлено внимание рынка, объем в акциях отражает интенсивность оборота, а индивидуальный показатель для каждого инструмента — это относительный объем.

Лента опционных сделок

ЗапросПоток опционов: контракты, доля колл-опционов, доля за день к среде, наиболее активный контракт SPY
Точный SQL-код для каждого числа
WITH
    (
        SELECT (strike, typ, vol_m, is_0dte)
        FROM (
            SELECT toFloat64(any(strike_price)) AS strike, any(option_type) AS typ,
                   round(toFloat64(sum(size)) / 1e6, 2) AS vol_m,
                   if(substring(ticker, length(ticker) - 14, 6) = '260730', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
              AND underlying_symbol = 'SPY'
            GROUP BY ticker
            ORDER BY vol_m DESC, strike ASC
            LIMIT 1
        )
    ) AS top_spy,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
    ) AS jul29_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260729') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
    ) AS jul29_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul29_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) = '260730') / sum(size), 1) AS pct_0dte,
    jul29_pct_0dte,
    spy_regular_close,
    top_spy.1 AS top_spy_strike,
    top_spy.2 AS top_spy_type,
    top_spy.3 AS top_spy_contracts_m,
    top_spy.4 AS top_spy_is_0dte,
    round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Лента опционных сделок зафиксировала 10.93 миллиона сделок общим объемом 67.06 миллиона контрактов, по сравнению с 66.84 миллиона в среду. На долю call-опционов пришлось 54.6% объема контрактов. Контракты с истечением в день совершения сделки, так называемые 0DTE-опционы, составили 25.3% против 33.1% в среду, что соответствует ритму, задаваемому графиком экспирации. Самым активным контрактом по SPY стал 740 C с объемом 0.56 миллиона контрактов; его цена исполнения находилась на расстоянии -1.73 долларов от цены закрытия SPY на уровне $741.73, исходя из разницы между ценой исполнения и ценой закрытия.

Лента котировок

Данные о котировках — самый дефицитный набор данных для нашего торгового подразделения, и мы измеряем его каждую сессию. Обычные торговые дни также фиксируются в отчетности.

ЗапросКоличество обновлений NBBO по акциям: 30 июля к 29 июля, с разбивкой по тикерам (млн)
Точный SQL-код для каждого числа
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / 1e6, 2) AS jul30_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / countIf(toDate(sip_timestamp) = toDate('2026-07-29')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'SPY') / 1e6, 2) AS jul30_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'QQQ') / 1e6, 2) AS jul30_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'NVDA') / 1e6, 2) AS jul30_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Лента котировок акций зафиксировала 560.75 миллиона обновлений NBBO против 722.65 миллионов в среду, изменение день к дню составило -22.4%. По SPY было зарегистрировано 5.55 миллиона обновлений, по QQQ — 6.75 миллиона, по NVDA — 2.39 миллиона.

ЗапросСемь инструментов: медианный спред котировок в базисных пунктах и показатели качества котировок, 30 июля
Точный SQL-код для каждого числа
SELECT ticker,
       round(quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(bid_price <= 0 OR ask_price <= 0) AS one_sided_quote_count,
       countIf(bid_price > ask_price AND bid_price > 0 AND ask_price > 0) AS crossed_quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'DIA', 'IWM', 'NVDA', 'QQQ', 'SPY', 'TSLA')
  AND sip_timestamp >= '2026-07-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY ticker
Run this yourself

Медианный котировочный спред по SPY в основную торговую сессию составил 0.27 базисных пункта от среднего значения, по QQQ — 0.59, по NVDA — 1.03. Последние два столбца представляют собой раскрытие информации: односторонние и пересекающиеся котировки учитываются по каждому инструменту и исключаются из расчета медианы, а не просто отбрасываются. Пересекающаяся котировка, при которой цена покупки выше цены продажи, является обычным артефактом консолидированной ленты, формируемой из множества площадок с наносекундным разрешением.

ЗапросРейтинг медианного спреда SPY по всем сессиям июля, от минимального
Точный SQL-код для каждого числа
SELECT round(anyIf(spread_bps, d = toDate('2026-07-30')), 2) AS jul30_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-30')), groupArrayIf(spread_bps, d != toDate('2026-07-30'))) + 1 AS rank_tightest,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(sip_timestamp) AS d,
           quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
    HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)
Run this yourself

При ранжировании по отношению ко всем июльским сессиям с использованием аналогичной логики, медианный спред по SPY, составивший 0.27 базисных пункта, оказался на 19 месте из 21, начиная с самого узкого, в окне, открытом 2026-07-01. В условиях спокойной ленты это предложение является сутью панели: обычный день для ликвидности — это результат, который публикуется и ограничивается рамками.

ЗапросПоток NBBO по опционам: общее количество обновлений к потоку акций, включая долю SPY, 30 июля
Точный SQL-код для каждого числа
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_stock_quote_rows
SELECT
    round(jul30_options_rows / 1e9, 2) AS jul30_options_bn,
    round(jul30_options_rows / jul30_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-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00') / 1e6, 0) AS jul30_spy_options_m
Run this yourself

Лента NBBO по опционам составила 10.32 миллиарда обновлений, что в 18.4 раз больше, чем по ленте котировок акций, при этом только по базовому активу SPY было зафиксировано 441 миллионов обновлений в основную торговую сессию.

Ставки

ЗапросКривая доходности казначейских облигаций, с 27 по 30 июля
Точный SQL-код для каждого числа
SELECT toString(date) AS date,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct,
       round(toFloat64(yield_10_year), 2) AS yield_10y_pct,
       round(toFloat64(yield_30_year), 2) AS yield_30y_pct,
       round((toFloat64(yield_10_year) - toFloat64(yield_2_year)) * 100) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-27' AND date <= '2026-07-30'
ORDER BY date
Run this yourself

Данные Казначейства отстают от рыночных котировок примерно на одну сессию, поэтому в данной таблице представлены зафиксированные ими сделки: 4 строк с датами в окне наблюдения. Последние данные от 2026-07-30 показывают доходность двухлетних облигаций на уровне 4.23%, десятилетних — 4.68%, а тридцатилетних — 5.21%, что соответствует спреду между двухлетними и десятилетними бумагами в 45 базисных пунктов.

Календарь событий за день

ЗапросЭкс-дивиденды, сплиты, листинги, новости и отчетность SEC за 30 июля
Точный SQL-код для каждого числа
WITH
    (
        SELECT (argMax(t, (n, t)), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-07-30'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-30') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-30') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_publishers,
    top_news.1 AS top_news_ticker,
    top_news.2 AS top_news_n,
    fil.1 AS fil_total,
    fil.2 AS fil_filers,
    fil.3 AS fil_form4,
    fil.4 AS fil_8k,
    fil.5 AS fil_424b2,
    fil.6 AS fil_10q
Run this yourself

200 эмитентов дивидендов вышли на ex-dividend тридцатого июля, 3 обратных и 3 прямых сплитов было исполнено, а 3 новых листингов появилось в ленте сделок. Новостная лента содержала 173 статей от 2 издателей, при этом NVDA стал самым упоминаемым тикером в окне данного потока с показателем в 11 статей. Ежедневный индекс EDGAR содержит 5544 документов за эту дату от 2743 отдельных подателей: 745 инсайдерских отчетов по Form 4, 460 текущих отчетов 8-K, 1426 дополнений к ценообразованию 424B2 и 252 квартальных отчетов 10-Q. Этот индекс формируется по собственному графику, и данная панель отображает те данные, которые доступны на момент генерации.

В ближайшей перспективе

Следующие две торговые сессии рассматриваются по тем же таблицам, при этом внимание намеренно смещено за пределы текущего периода. Пятница, тридцать первое июля, является последним торговым днем месяца согласно календарю.

ЗапросКалендарь на 31 июля и 3 августа: закрытия, экс-дивиденды, сплиты, экспирация в пятницу и лаг по коротким позициям
Точный SQL-код для каждого числа
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-31' AND date <= '2026-08-03' AND status != 'open') AS closures_next_two_sessions,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS exdiv_records_next_two_sessions,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-31' AND execution_date <= '2026-08-03') AS splits_next_two_sessions,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_thu_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-30') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
Run this yourself

Таблица праздничных дней показывает 0 закрытий в период с пятницы, тридцать первого июля, по понедельник, третье августа. 544 дивидендных реестров закрываются в эти две сессии, 0 из них приходятся на десять проверенных известных компаний, также запланировано 14 дробление акций. Из общего объема опционов в четверг 26.7% уже приходилось на контракты со сроком экспирации в пятницу, тридцать первого июля. Самые свежие данные по короткому интересу в архиве датированы 2026-07-15; этот отчет публикуется с задержкой, достаточной для того, чтобы иметь собственное пояснение.

Торговая сессия, подтверждено

ЗапросВерификация сессии: первый/последний бар SPY по ET, количество основных баров, праздничные дни, следующее закрытие
Точный 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,
    countIf(window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-30') AS jul30_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-30 00:00:00' AND window_start < '2026-07-31 00:00:00'
Run this yourself

Полноценная регулярная сессия: первый бар SPY в 04:00 по восточному времени, последний в 19:59 по восточному времени, 390 баров в рамках регулярных торгов, 1 сессий в рассматриваемом периоде и 0 праздничных дней для данной даты. Следующее запланированное закрытие торгов состоится Labor Day числа, 2026-09-07.

Часто задаваемые вопросы

Как закрылся фондовый рынок в четверг, 30 июля 2026 года?

Котировки SPY изменились на 1.68% по сравнению с предыдущим закрытием и составили $741.73, QQQ — 3.34%, DIA — 1.19%, а IWM — 1.37%. Среди ликвидных бумаг акции 3782 выросли, а 2122 — упали.

Какой сектор показал лучшие результаты 30 июля 2026 года?

Technology с результатом 5.52%, согласно данным по одиннадцати отраслевым фондам SPDR. Худшим из одиннадцати стал Communications, зафиксировавший -2.69%.

Насколько активным был рынок опционов 30 июля 2026 года?

Объем торгов составил 67.06 миллиона контрактов по сравнению с 66.84 миллионами в предыдущую сессию. На долю контрактов с исполнением в тот же день пришлось 25.3% объема, а на долю call-опционов — 54.6%.

По каким акциям был зафиксирован наибольший долларовый объем торгов 30 июля 2026 года?

MU с показателем 43.29 миллиарда долларов в основную торговую сессию, опередив MSFT с 42.56 миллиарда долларов.

Примечания к данным

Предыдущий ежедневный выпуск доступен по ссылке 29 июля 2026 года, а еженедельный обзор охватывает период, предшествующий текущему. Именные панели по тикерам отсортированы в алфавитном порядке, чтобы ссылки в тексте указывали на фиксированные строки; таблицы лидеров и наиболее активных бумаг отсортированы по значению, и каждое утверждение об их позиции подкреплено контрольными показателями. Корзина акций с мега-капитализацией и корзина из одиннадцати отраслевых фондов являются фиксированными наборами, а не классификацией поставщика данных. Таблицы наиболее активных бумаг применяют порог оборота в пять миллионов долларов в основную торговую сессию, исключают любые инструменты, по которым между двумя отчетными закрытиями проводился сплит, а также исключают один повторно используемый символ в рамках защиты от неоднозначности, поэтому каждое упоминание всегда относится к проверяемому названию. Котировочные панели учитывают односторонние и пересекающиеся котировки по каждому наименованию, а не отбрасывают их. Файлы Казначейства и ежедневный индекс EDGAR публикуются по собственному графику, поэтому соответствующие панели отражают имеющиеся данные, а не предполагают их поступление. Индексы подразумеваемой волатильности здесь не представлены: эти серии не лицензированы для данного хранилища, поэтому волатильность считывается непосредственно с ленты сделок через диапазоны, объем торгов опционами внутри дня и поведение котировок.

Методология

  • Источник рыночных данных: консолидированная лента. delayed_stocks_minute_aggs для цен и объемов, options_trades для ленты опционов, cache_stocks_quotes и cache_options_quotes для панелей NBBO.
  • Закрытие: последний минутный бар основной торговой сессии, не учитываются сделки после 16:00 и сделки на продленных сессиях.
  • Обработка часовых поясов: все сохраненные временные метки указаны в UTC; предложения WHERE используют необработанные литералы UTC, а toTimeZone появляется только в списках SELECT для меток ET.
  • Верификация сессии: на основе таблицы праздничных дней и фактически зафиксированных баров, а не календарных допущений.
  • Сравнение с предыдущей сессией: вычисляется внутри запроса от 29 июля, данные не переносятся из предыдущих публикаций.
  • Десятичные дроби: столбцы цены, размера и объема приводятся к типу Float64 перед любым делением или умножением.
  • Детерминированные агрегаты: используются точные квантили и правила разрешения ничьих с использованием кортежных ключей; каждое утверждение о порядке или знаке в тексте подкреплено проверкой границ.
  • Дата актуальности хранилища: 1 августа 2026 года, через два дня после сессии, на границе стандартной задержки загрузки данных в ленту, составляющей от одного до двух дней; указанные выше ограниченные поступления сохраняют публикацию, если при генерации обнаруживается отсутствие набора данных.

Перекрестные ссылки: предыдущий ежедневный обзор, еженедельный обзор, время истечения опционов, что такое спред bid-ask и спред от двух до десяти лет.

Каждый приведенный выше запрос выполняется без изменений на терминале Strasmore, если вы хотите перенаправить окно на другую сессию.