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

Обзор рынка за двадцать седьмое июля две тысячи двадцать

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

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

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

Каждое изменение сравнивает минутный бар последней минуты основной торговой сессии 27 июля с баром 24 июля, пятницы; это последовательные торговые сессии, разделенные выходными. Строки расположены в алфавитном порядке, поэтому каждый ETF сохраняет фиксированную позицию.

ЗапросSPY / QQQ / DIA / IWM: 27 июля к закрытию 24 июля, основная торговая сессия
Точный 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-24 13:30:00' AND window_start < '2026-07-24 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-27 13:30:00' AND window_start < '2026-07-27 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 изменился на 0.49%, IWM на 0.59%, QQQ на -0.32%, а SPY на 0.02% до закрытия на уровне $739.02. Каждая строка разделяет движение на два этапа: SPY открылся с гэпом 0.82% относительно закрытия пятницы — этот гэп охватывает все выходные — и изменился на -0.79% от открытия до закрытия. В понедельник ночной этап фактически является двухдневным, и разделение между ним и внутридневным этапом представляет собой первый индикатор сессии.

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

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

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

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

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

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

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

Из 5935 инструментов, преодолевших порог оборота в один миллион долларов в основную торговую сессию, 3880 закрылись выше уровня пятницы, а 1972 — ниже, что дает долю растущих акций на уровне 65.4%. Фильтр исключил 5336 менее ликвидных бумаг, которые были учтены здесь, а не просто отброшены.

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

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

ЗапросВосемь мега-капитализаций: изменение к 24 июля и объем торгов в долларах за 27 июля
Точный SQL-код для каждого числа
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-27 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-27 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 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-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
        OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 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.16%, META на -0.21%, MSFT на 1.94%, а NVDA на -5.04% при объеме торгов в основную сессию в 25.42 миллиардов долларов, при этом показатель TSLA составил -1.2%. Столбец в долларовом выражении показывает, какую долю оборота обеспечивают эти восемь компаний самостоятельно; панель широты рынка выше служит индикатором того, насколько далеко остальной рынок продвинулся вместе с ними.

Лидеры движения за день

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

ЗапросЛидеры роста и падения: закрытие 27 июля к 24 июля, объем торгов от $5 млн, без учета сплитов
Точный SQL-код для каждого числа
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c27 / c24 - 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-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 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-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c27 / c24 - 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-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 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-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Лидер роста, DFNS, изменился на 214.9% при объеме торгов в 486.4 миллионов долларов. Акция с самым резким снижением, MPLT, зафиксировала результат -72.9% при объеме в 83.3 миллионов. На этой странице отражены объемы и результаты торгов; она не содержит аналитических комментариев к ним.

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

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

ЗапросОтраслевые ETF, закрытие 27 июля к 24 июля, ранжирование
Точный 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((c27 / c24 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-27 00:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 00:00:00') AS c27
        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-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
            OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'))
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Staples возглавил список с результатом 1.5%, а Energy оказался в самом низу с -2.06%, отстав на 3.56 процентных пункта. Этот спред представляет собой отраслевую дисперсию дня: ситуация на рынке, когда все одиннадцать инструментов укладываются в один процентный пункт, существенно отличается от картины, при которой они распределены в широком диапазоне.

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

ЗапросТоп-6 по объему торгов в долларах, топ-4 по количеству акций: основная сессия 27 июля
Точный 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-27 13:30:00' AND window_start < '2026-07-27 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-27 13:30:00' AND window_start < '2026-07-27 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 лидирует по объему торгов в долларовом выражении с показателем 35.71 миллиарда в основную торговую сессию, за ним следует SPY с 27.03 миллиарда. В сегменте акций картина иная: KIDZ занял первое место с 198.3 миллиона акций при подразумеваемой средней цене в 0.66 доллара. Долларовый объем показывает, куда направлено внимание рынка, объем в акциях отражает интенсивность оборота, а индивидуальный показатель для каждого инструмента — это относительный объем.

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

ЗапросПоток опционов: контракты, доля колл-опционов, доля внутридневных сделок к пятнице, наиболее активный контракт 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) = '260727', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260724') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul24_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) = '260727') / sum(size), 1) AS pct_0dte,
    jul24_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-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Лента опционных сделок зафиксировала 11.07 миллиона сделок общим объемом 64.69 миллиона контрактов, по сравнению с 71.14 миллиона в пятницу. На долю call-опционов пришлось 55.1% от общего объема контрактов. Контракты с истечением в день совершения сделки, так называемые 0DTE-опционы, составили 39.3% против 49% в пятницу, что соответствует ритму, заданному графиком экспирации. Самым активным контрактом на SPY стал 740 C с объемом 0.59 миллиона контрактов; цена исполнения этого опциона находилась на расстоянии 0.98 долларов от цены закрытия SPY, составившей 739.02 долларов (расчет произведен как цена исполнения минус цена закрытия).

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

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

ЗапросКоличество обновлений NBBO по акциям: 27 июля к 24 июля, с разбивкой по тикерам (в миллионах)
Точный SQL-код для каждого числа
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-24')) / 1e6, 2) AS jul24_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / countIf(toDate(sip_timestamp) = toDate('2026-07-24')) - 1) * 100, 1) AS session_over_session_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'SPY') / 1e6, 2) AS jul27_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'QQQ') / 1e6, 2) AS jul27_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'NVDA') / 1e6, 2) AS jul27_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Лента котировок акций содержала 553.53 миллионов обновлений NBBO против 500.88 миллионов в пятницу, изменение сессия к сессии составило 10.5%. По SPY зафиксировано 4.84 миллионов обновлений, по QQQ — 6.78 миллионов, по NVDA — 2.93 миллионов.

ЗапросСемь инструментов: медианный спред котировок в базисных пунктах и показатели качества котировок, 27 июля
Точный 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-27 13:30:00' AND sip_timestamp < '2026-07-27 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.02. Последние два столбца представляют собой раскрытие информации: односторонние и пересекающиеся котировки учитываются по каждому инструменту и исключаются из медианы, а не просто отбрасываются. Пересекающаяся котировка, когда цена покупки выше цены продажи, является обычным артефактом консолидированной ленты, собираемой с множества площадок с наносекундным разрешением.

ЗапросРейтинг медианного спреда SPY по всем торговым сессиям июля по 27-е число, от минимального
Точный SQL-код для каждого числа
SELECT round(anyIf(spread_bps, d = toDate('2026-07-27')), 2) AS jul27_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-27')), groupArrayIf(spread_bps, d != toDate('2026-07-27'))) + 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-27 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 базисных пунктов оказался на 18 месте из 18, начиная с самого узкого, в окне с 2026-07-01. На спокойном рынке это предложение является сутью панели: обычный день с точки зрения ликвидности — это результат, который публикуется и ограничивается рамками.

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

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

Ставки

ЗапросКривая доходности казначейских облигаций, с 22 по 27 июля
Точный 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-22' AND date <= '2026-07-27'
ORDER BY date
Run this yourself

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

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

ЗапросЭкс-дивиденды, сплиты, листинги, новости и отчетность SEC за 27 июля
Точный 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-27 04:00:00' AND published_utc < '2026-07-28 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-27'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-27') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-27') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 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

91 эмитентов дивидендов вышли на ex-dividend двадцать седьмого июля, 7 обратных и 1 прямых сплитов было исполнено, а 0 новых листингов появилось в ленте сделок. Новостная лента содержала 166 статей от 2 издателей, при этом MSFT стал самым упоминаемым тикером в окне данного потока с показателем в 12 статей. Ежедневный индекс EDGAR содержит 3997 документов за эту дату от 2163 отдельных подателей: 587 отчетов инсайдеров по Form 4, 226 текущих отчетов 8-K, 555 дополнений к ценообразованию 424B2 и 23 квартальных отчетов 10-Q. Этот индекс формируется по собственному графику, и данная панель отображает те данные, которые доступны на момент генерации.

В ожидании

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

ЗапросКалендарь на 28–31 июля: закрытия, экс-дивиденды, сплиты, пятничная экспирация и лаг по коротким позициям
Точный SQL-код для каждого числа
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-28' AND date <= '2026-07-31' AND status != 'open') AS closures_rest_of_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-28' AND ex_dividend_date <= '2026-07-31') AS exdiv_records_rest_of_week,
    (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-28' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-28' AND execution_date <= '2026-07-31') AS splits_rest_of_week,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_mon_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-27') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Таблица праздничных дней показывает 0 закрытий торговых площадок в течение четырех оставшихся сессий недели. 843 компаний по дивидендным реестрам выходят на ex-dividend date в эти дни, 0 из них входят в число десяти отслеживаемых «голубых фишек», также запланировано 18 дробление акций. В понедельник 17.1% от общего объема торгов опционами пришлось на контракты с датой экспирации в пятницу, 31 июля. Последние данные по размеру коротких позиций зафиксированы на уровне 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-27') AS jul27_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-27' 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-27' 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-27 00:00:00' AND window_start < '2026-07-28 00:00:00'
Run this yourself

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

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

Как закрылся фондовый рынок в понедельник, двадцать седьмого июля две тысячи двадцать шестого года?

SPY изменился на 0.02% по сравнению с закрытием в пятницу, достигнув уровня $739.02; QQQ составил -0.32%, DIA — 0.49%, а IWM — 0.59%. Среди ликвидных бумаг 3880 выросли, а 1972 снизились.

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

Staples с показателем 1.5%, согласно данным по одиннадцати отраслевым фондам SPDR. Самым слабым из одиннадцати секторов стал Energy, зафиксировавший -2.06%.

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

Было проторговано 64.69 миллиона контрактов по сравнению с 71.14 миллионами в предыдущую сессию. На долю контрактов с исполнением в тот же день пришлось 39.3% от общего объёма, а на долю call-опционов — 55.1%.

Акции какой компании показали наибольший объём торгов в денежном выражении двадцать седьмого июля две тысячи двадцать шестого года?

MU с объёмом торгов в основную сессию, составившим 35.71 миллиарда долларов, опередив SPY с показателем 27.03 миллиарда долларов.

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

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

Методология

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

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

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