Strasmore Research
Огляди ринку Matt ConnorВід Matt Connor · Оновлено 2026-08-03

Ринок 27 липня 2026 року: підсумки в цифрах

Підсумок сесії 27 липня 2026 року: індекси, ширина ринку, сектори, потік опціонів, котирування, ставки та календар на основі даних запитів.

Цей огляд ринку за понеділок, 27 липня 2026 року, відображає всю торгову сесію на основі збережених запитів: зміна 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% відносно п’ятничного закриття — це gap, що охоплює всі вихідні, — і змінився на -0.79% від відкриття до закриття. У понеділок нічна складова фактично охоплює два дні, а її розподіл між нею та внутрішньоденною складовою є першим відбитком сесії.

Чи був день незвичним?

Показник за одну сесію мало що означає без урахування distribution, тому день оцінюється в межах власного попереднього місяця за тією самою логікою.

ЗапитДинаміка 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 липня, фільтр $1M торгів
Точний 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 менш ліквідних акцій; їх ураховано тут, а не просто проігноровано.

Панель mega-cap акцій

Ті самі вісім mega-cap акцій з’являються тут у кожну торгову сесію, у алфавітному порядку, щоб кожна з них зберігала свій рядок. Фіксований кошик є принциповим: читач запам’ятовує рядки, а редакція не обирає переможців заднім числом.

ЗапитВісім мегакапіталізацій: зміна проти 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%. Доларовий стовпчик показує, яку частину загального торгового обороту ці вісім акцій забезпечують самостійно; панель breadth вище дає змогу оцінити, наскільки решта ринку рухалася разом із ними.

Акції, що найбільше змінилися за день

Для обох списків потрібен оборот у звичайній торговій сесії не менше п’яти мільйонів доларів. Також зі списків виключаються папери, щодо яких split відбувся між двома розрахунковими закриттями, а також один повторно використаний тикер відповідно до внутрішнього правила усунення неоднозначності, описаного в примітках.

ЗапитНайбільші зростання та падіння: закриття 27 липня проти 24 липня, оборот $5M+, без урахування сплітів
Точний 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 Select Sector, співвідношення цін закриття 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. Доларовий обсяг показує, куди спрямована увага ринку, а обсяг акцій — інтенсивність торгів. Показник для окремого паперу називається відносний обсяг.

Опціонна стрічка

ЗапитОпціонний потік: контракти, частка call, частка угод того самого дня проти п’ятниці, найактивніший контракт 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% обсягу контрактів. Контракти, що завершувалися того самого торгового дня, — сегмент опціонів із нульовим строком до експірації — становили 39.3% проти 49% у п’ятницю. Такий темп визначався часом експірації. Найактивнішим контрактом на SPY був 740 C на 0.59 мільйона контрактів. Його strike був на 0.98 доларів від регулярного закриття SPY на рівні $739.02. Різницю розраховано як strike мінус ціна закриття.

Стрічка котирувань

Дані котирувань є найдефіцитнішим набором даних цього desk, і їх вимірюють кожну сесію. Звичайні дні також потрапляють до запису.

ЗапитКількість оновлень 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 мільйона.

ЗапитСім назв: медіанний котирувальний спред під час RTH у базисних пунктах, із показниками якості котирувань, 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 базисного пункту відносно mid, QQQ — 0.59, а NVDA — 1.02. Два останні стовпці містять розкриття даних: односторонні та перехресні котирування підраховують окремо для кожного тикера й виключають із розрахунку медіани, а не мовчки відкидають. Перехресне котирування, за якого bid перевищує ask, є звичайним артефактом консолідованого потоку даних, сформованого з багатьох торговельних майданчиків із наносекундною роздільною здатністю.

ЗапитМедіанний спред 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 мільйона оновлень у звичайні години.

Ставки

ЗапитЗафіксовані значення кривої Treasury, 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

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

The calendar behind the day

ЗапитДати без дивідендів, спліти, лістинги, новини та склад подань до 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 dividend records went ex-dividend on July 27, 7 reverse and 1 forward splits executed, and 0 new listings hit the tape. The news feed carried 166 articles from 2 publishers, with MSFT the most-covered ticker in this one feed's window at 12 articles. The EDGAR daily index holds 3997 filings for the date from 2163 distinct filers: 587 insider Form 4 reports, 226 8-K current reports, 555 424B2 pricing supplements and 23 10-Q quarterly reports. That index lands on its own schedule, and this panel reports whatever it holds at generation time.

Далі за розкладом

Решта тижня — з вівторка, 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 закриттів протягом чотирьох сесій, що залишилися до кінця тижня. За ці сесії ex-dividend date настає для 843 dividend records, з них 0 припадає на десять перевірених відомих компаній. Також заплановано виконання 18 split. Із понеділкового обсягу торгів опціонами 17.1% уже припадало на контракти з датою експірації в п’ятницю, 31 липня. Найновіший доступний розрахунок short interest — 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 ET, останній — о 19:59 ET, 390 барів у регулярні години, 1 сесія у вікні та 0 святкових рядків за цю дату. Наступне заплановане закриття — Labor Day о 2026-09-07.

Поширені запитання

Як фондовий ринок завершив торги в понеділок, 27 липня 2026 року?

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

Який сектор був лідером ринку 27 липня 2026 року?

Staples — на рівні 1.5%, за даними одинадцяти секторальних фондів SPDR. Найслабший із одинадцяти, Energy, показав -2.06%.

Наскільки активним був ринок опціонів 27 липня 2026 року?

Було проторговано 64.69 мільйона контрактів проти 71.14 мільйона на попередній сесії. Контракти з експірацією того самого дня становили 39.3% обсягу, а call-опціони — 55.1%.

Яка акція мала найбільший доларовий обсяг торгів 27 липня 2026 року?

MU35.71 мільярда доларів звичайного обсягу торгів у робочі години, випередивши SPY із показником 27.03 мільярда доларів.

Примітки щодо даних

Цей випуск доповнює понеділкову сесію у відновленому щоденному ряді, опублікованому 1 серпня. Попередня за датою сесії публікація — 10 липня 2026 року, випуск від 29 липня охоплює середу цього самого тижня, а тижневий огляд — тиждень, що завершився в п’ятницю, 24 липня; саме на цій сесії ґрунтуються всі порівняння на цій сторінці. Іменовані панелі за тикерами впорядковано за алфавітом, щоб згадки в тексті посилалися на фіксовані рядки; таблиці лідерів і списки найбільших рухів упорядковано за значеннями, а кожне позиційне твердження в них закодовано як контрольну межу. Кошик mega-cap і секторний кошик з одинадцяти фондів є заздалегідь визначеними фіксованими наборами, а не класифікаціями постачальника даних. Для списків найбільших рухів застосовується поріг обороту в п’ять мільйонів доларів у звичайні години торгів; із них виключаються назви, за якими спліт було проведено між двома вимірюваними закриттями, а також один повторно використаний символ відповідно до внутрішнього правила усунення неоднозначності. Тому кожне згадане ім’я можна перевірити. Усі показники зміни від закриття до закриття охоплюють вихідні — від п’ятниці, 24 липня, до понеділка, 27 липня, — і колонка gap у таблиці результатів також охоплює весь цей період. У панелях котирувань для кожної назви враховуються односторонні та перехресні котирування, а не відкидаються без пояснення. Файл Treasury та щоденний індекс EDGAR надходять за власними графіками, тому відповідні панелі відображають наявні дані, не припускаючи, що файли вже надійшли. Індексів implied volatility тут немає: ці ряди не ліцензовані для цього сховища, тому волатильність оцінюється безпосередньо за стрічкою — через діапазони, частку same-day options і поведінку котирувань.

Методологія

  • Джерело ринкових даних: consolidated tape. delayed_stocks_minute_aggs — для цін і обсягів, options_trades — для options tape, cache_stocks_quotes і cache_options_quotes — для панелей NBBO.
  • Ціна закриття: останній хвилинний бар регулярної сесії; ніколи не передбачуваний print о 16:00 і не print розширеної сесії.
  • Робота з часовими поясами: усі збережені timestamps мають формат UTC; у WHERE використовуються необроблені UTC-літерали, а toTimeZone з’являється лише у списках SELECT для позначення ET.
  • Перевірка сесії: за таблицею свят і фактично спостереженими барами, а не за припущеннями на основі календаря.
  • Порівняння з попередньою сесією: обчислюються в запиті відносно п’ятниці, 24 липня, тобто попередньої торгової сесії після вихідних; дані ніколи не переносяться з попередньої публікації.
  • Десяткові значення: колонки цін, розмірів і обсягів перед будь-яким діленням або множенням перетворюються на Float64.
  • Детерміновані агрегати: усюди використовуються точні квантілі та правила вибору за ключами кортежів у разі однакових значень; кожне твердження про порядок або знак у тексті закодоване як перевірочна межа.
  • Дата актуальності даних у сховищі: 1 серпня 2026 року, через п’ять днів після сесії та після звичайної затримки завантаження tape в один-два дні; наведені вище обмежені receipts збережуть публікацію, якщо під час генерації буде виявлено відсутність набору даних.

Перехресні посилання: попередній щоденний огляд, випуск від 29 липня, тижневий огляд, коли спливають опціони, що таке bid-ask spread, а також spread між дворічними та десятирічними Treasury.

Кожен наведений вище запит виконується без змін у терміналі Strasmore, якщо потрібно переналаштувати часовий проміжок на іншу сесію.