Огляд ринку 28 липня 2026 року: цифри дня
Підсумки сесії 28 липня 2026 року: індекси, ширина ринку, сектори, потік опціонів, котирування, ставки й календар. Усі цифри підтверджені запитами.
Цей огляд ринку за вівторок, 28 липня 2026 року, охоплює всю сесію на основі збережених запитів: зміна SPY відносно попереднього закриття становила 0.24%, частка акцій, що зросли, у ліквідному сегменті — 58.6%, а на опціонному ринку було укладено 59.28 мільйонів контрактів. Кожне наведене нижче вікно прив’язане до чітко визначених дат початку й завершення, тому повторний запуск SQL-запиту для будь-якої панелі повертає ті самі показники.
Таблиця результатів
Кожна зміна порівнює останній хвилинний бар регулярної сесії 28 липня з баром понеділка, 27 липня, тобто з попередньою торговою сесією. Рядки розташовані в алфавітному порядку, тому кожен ETF зберігає фіксовану позицію.
Точний SQL-код для кожного числа
WITH prior AS (
SELECT ticker, argMax(close, window_start) AS prior_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 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-28 13:30:00' AND window_start < '2026-07-28 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 tickerDIA змінився на 1.07%, IWM — на 0.15%, QQQ — на -0.96%, а SPY — на 0.24%, завершивши сесію на рівні $740.76. У кожному рядку рух розділено на дві частини: SPY відкрився на 0.02% відносно понеділкового закриття та змінився на 0.21% від відкриття до закриття. Нічний рух і внутрішньоденний рух не обов’язково мають збігатися, а їхнє співвідношення є першим відбитком торгової сесії.
Чи був день незвичайним?
Показник за одну сесію мало про що говорить без урахування distribution, тому день оцінюється в межах власного попереднього місяця за тією самою методикою.
Точний SQL-код для кожного числа
SELECT
round(anyIf(oc_pct, d = toDate('2026-07-28')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-28'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-28'))) + 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-29 13:30:00')
AND window_start < toDateTime('2026-07-29 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)Рух SPY від відкриття до закриття на 0.21% посів 14 місце серед 21 попередніх сесій за абсолютним розміром у періоді, що починається з 2026-06-29. Рейтинг показує, скільки інших сесій у цьому періоді мали більший рух, плюс один. Перше місце означало б найбільший рух за попередній місяць.
Ширина ринку
Рівень індексу — це одне число. Ширина ринку показує, скільки акцій рухалися разом із ним.
Точний SQL-код для кожного числа
SELECT
countIf(c28 > c27 AND liquid) AS advancers,
countIf(c28 < c27 AND liquid) AS decliners,
countIf(c28 = c27 AND liquid) AS unchanged,
countIf(liquid) AS liquid_tickers,
countIf(NOT liquid) AS dropped_by_liquidity_filter,
round(100.0 * countIf(c28 > c27 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
SELECT ticker, c27, c28, dv28 >= 1000000 AS liquid
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv28
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
GROUP BY ticker
HAVING c27 > 0 AND c28 > 0
)
)Серед 6008 акцій, оборот яких у звичайну торгову сесію перевищив поріг в один мільйон доларів, 3519 закрилися вище рівня закриття понеділка, а 2423 — нижче. Частка акцій, що зросли, становила 58.6%. Фільтр виключив 5346 менш ліквідних акцій, але в цьому показнику їх враховано, а не просто приховано вилучено.
Полиця mega-cap акцій
Ті самі вісім mega-cap компаній з’являються тут на кожній сесії в алфавітному порядку, щоб кожна зберігала свій рядок. Фіксований кошик є принциповим: читач запам’ятовує рядки, а редакція не обирає переможців заднім числом.
Точний SQL-код для кожного числа
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-28 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-28 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 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 tickerAAPL змінився на 0.97%, META — на -0.05%, MSFT — на 1.12%, а NVDA — на 0.23% за обороту в основну торгову сесію на 21.11 млрд доларів; TSLA — на -0.57%. Колонка в доларах показує, яку частину обороту самостійно формують ці вісім компаній; панель breadth вище дає змогу оцінити, наскільки решта ринку рухалася разом із ними.
Акції, що найбільше змінилися за день
Для обох списків потрібен оборот у звичайній торговій сесії щонайменше п’ять мільйонів доларів. Також виключаються акції, спліт яких відбувся між двома врахованими закриттями, а також один повторно використаний тикер відповідно до внутрішнього правила щодо неоднозначності, описаного в примітках.
Точний SQL-код для кожного числа
SELECT ticker, board, day_pct, day_dollar_m
FROM (
SELECT 'gainers' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
GROUP BY ticker
HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
)
ORDER BY day_pct DESC
LIMIT 8
UNION ALL
SELECT 'decliners' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
GROUP BY ticker
HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
)
ORDER BY day_pct ASC
LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESCЛідер зростання у списку, STKH, піднявся на 166.7% за обороту 113.2 мільйонів доларів. Найбільше зниження зафіксувала акція YYAI — -71% за обороту 18.3 мільйонів доларів. На цій сторінці наведено розміри змін і дані про укладені угоди; причин для них вона не пояснює.
Дисперсія між секторами
Одинадцять фондів SPDR Select Sector за підсумками 28 липня проти закриття 27 липня, від найкращого до найгіршого результату. Склад кошика визначено заздалегідь і зафіксовано; це не класифікація постачальника даних.
Точний 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((c28 / c27 - 1) * 100, 2) AS day_pct
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start < '2026-07-28 00:00:00') AS c27,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 00:00:00') AS c28
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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00'))
GROUP BY ticker
HAVING c27 > 0 AND c28 > 0
)
)
ORDER BY day_pct DESCHealth Care очолив список із результатом 2.36%, а Technology опинився внизу з показником -1.9% — на 4.26 відсоткового пункту нижче. Цей розрив і є міжсекторною дисперсією дня: стрічка, у якій усі одинадцять фондів вкладаються в діапазон одного пункту, виглядає зовсім інакше, ніж ринок із розривом у кілька пунктів.
Де торгували доларами
Точний 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-28 13:30:00' AND window_start < '2026-07-28 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-28 13:30:00' AND window_start < '2026-07-28 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) DESCMU очолила рейтинг за доларовим оборотом із показником 39.21 млрд у звичайні торгові години, а QQQ посіла друге місце з 29.98 млрд. Рейтинг за кількістю акцій відповідає на інше запитання: ONFO очолила його з показником 182.4 млн акцій за розрахунковою середньою ціною $0.16. Доларовий обсяг показує, до чого прикута увага ринку, а обсяг у акціях — інтенсивність обороту. Показник для окремого паперу називається відносним обсягом.
Стрічка опціонних угод
Точний 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) = '260728', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
) AS jul27_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
) AS jul27_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul27_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) = '260728') / sum(size), 1) AS pct_0dte,
jul27_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-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'У стрічці опціонних угод зафіксовано 10.07 мільйона угод на 59.28 мільйона контрактів проти 64.69 мільйона в понеділок. На call-опціони припало 55% обсягу контрактів. Контракти, термін дії яких спливав у цю саму сесію, — сегмент опціонів із нульовим строком до експірації, — становили 29% проти 39.3% у понеділок. Такий ритм визначає час експірації. Найактивнішим контрактом на SPY був 742 C із 0.72 мільйона контрактів. Його strike був на 1.24 доларів від звичайного рівня закриття SPY на $740.76; різницю розраховано як strike мінус ціна закриття.
Стрічка котирувань
Дані котирувань — найдефіцитніший набір даних цього desk, і їх вимірюють під час кожної сесії. Звичайні дні також потрапляють до статистики.
Точний SQL-код для кожного числа
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / 1e6, 2) AS jul28_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / countIf(toDate(sip_timestamp) = toDate('2026-07-27')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'SPY') / 1e6, 2) AS jul28_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'QQQ') / 1e6, 2) AS jul28_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'NVDA') / 1e6, 2) AS jul28_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'Стрічка котирувань акцій зафіксувала 536.07 мільйона оновлень NBBO проти 553.53 мільйона в понеділок. Денна зміна становила -3.2%. На SPY припало 4.72 мільйона оновлень, на QQQ — 5.94 мільйона, на NVDA — 3.01 мільйона.
Точний 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-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY tickerМедіанний спред котирувань SPY у звичайні торгові години становив 0.27 базисного пункту від середньої ціни. Для QQQ цей показник дорівнював 0.74, а для NVDA — 1.52. Останні два стовпці містять інформацію про якість даних: односторонні та перехресні котирування враховують окремо для кожного інструмента й не включають до медіани без пояснення. Перехресне котирування, коли bid перевищує ask, є звичайним артефактом консолідованої стрічки, сформованої з даних багатьох торговельних майданчиків із наносекундною роздільною здатністю.
Точний SQL-код для кожного числа
SELECT round(anyIf(spread_bps, d = toDate('2026-07-28')), 2) AS jul28_median_spread_bps,
arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-28')), groupArrayIf(spread_bps, d != toDate('2026-07-28'))) + 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-28 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
)Якщо порівняти цей показник із кожною липневою сесією за тією самою методикою, денний медіанний спред SPY на рівні 0.27 базисного пункту посів 16 місце з 19, якщо рахувати від найвужчого спреду, у періоді, що починається 2026-07-01. На спокійній стрічці саме це і є висновком панелі: звичайний день для ліквідності — це результат, який опубліковано та обмежено визначеними параметрами.
Точний SQL-код для кожного числа
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_stock_quote_rows
SELECT
round(jul28_options_rows / 1e9, 2) AS jul28_options_bn,
round(jul28_options_rows / jul28_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-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00') / 1e6, 0) AS jul28_spy_options_mСтрічка NBBO опціонів містила 10.23 мільярда оновлень — у 19.1 раза більше, ніж стрічка котирувань акцій. Лише root SPY забезпечив 382 мільйона оновлень у звичайні торгові години.
Ставки
Точний 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-23' AND date <= '2026-07-28'
ORDER BY dateДані Treasury відстають від ринку приблизно на одну торговельну сесію, тому на цій панелі показано зафіксовані ним угоди: 4 рядків із датами в цьому періоді. В останньому рядку від 2026-07-28 дохідність дворічних Treasury становила 4.26%, десятирічних — 4.61%, а тридцятирічних — 5.09%. Спред між дворічними та десятирічними Treasury становив 35 базисних пунктів.
The calendar behind the day
Точний 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-28 04:00:00' AND published_utc < '2026-07-29 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-28'
) AS fil
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-28') AS ex_dividend_records,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-28') AS listings,
(SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00') AS news_articles,
(SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 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_10q147 dividend records went ex-dividend on July 28, 3 reverse and 0 forward splits executed, and 2 new listings hit the tape. The news feed carried 161 articles from 2 publishers, with MSFT the most-covered ticker in this one feed's window at 9 articles. The EDGAR daily index holds 5915 filings for the date from 2898 distinct filers: 856 insider Form 4 reports, 315 8-K current reports, 900 424B2 pricing supplements and 100 10-Q quarterly reports. That index lands on its own schedule, and this panel reports whatever it holds at generation time.
Далі за планом
Решта тижня в тих самих таблицях із навмисним поглядом за межі поточного періоду.
Точний SQL-код для кожного числа
SELECT
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-29' 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-29' 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-29' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-29' 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_tue_volume,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-28') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'У таблиці свят зазначено 0 закриттів у середу, 29 липня, четвер, 30 липня, і п’ятницю, 31 липня. За ці три сесії ex-dividend date настає для 696 dividend records, з яких 0 припадають на десять перевірених широко відомих компаній. Також заплановано виконання 15 split. Із обсягу торгів опціонами у вівторок 17.5% уже припадало на контракти з датою експірації в п’ятницю, 31 липня. Найновіший доступний розрахунок short interest має дату 2026-07-15. Цей файл публікується із таким тривалим лагом, що для нього є окреме пояснення.
Сесію перевірено
Точний 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-28') AS jul28_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-28' 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-28' 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-28 00:00:00' AND window_start < '2026-07-29 00:00:00'Повна регулярна сесія: перший бар SPY о 04:00 ET, останній — о 19:59 ET, 390 барів у регулярні години, 1 сесія у вибраному періоді та 0 святкових рядків для цієї дати. Наступне заплановане закриття — Labor Day, 2026-09-07.
FAQ
Як фондовий ринок працював у вівторок, 28 липня 2026 року?
SPY змінився на 0.24% відносно попереднього закриття — до $740.76, тоді як QQQ становив -0.96%, DIA — 1.07%, а IWM — 0.15%. Серед ліквідних акцій 3519 зросла, а 2423 знизилася.
Який сектор був лідером 28 липня 2026 року?
Health Care — 2.36% у межах одинадцяти секторних фондів SPDR Select Sector. Найслабший із одинадцяти, Technology, показав -1.9%.
Наскільки активним був опціонний ринок 28 липня 2026 року?
Було проторговано 59.28 мільйона контрактів проти 64.69 мільйона на попередній сесії. Контракти з виконанням того самого дня становили 29% обсягу, а call-опціони — 55%.
Яка акція мала найбільший доларовий торговий оборот 28 липня 2026 року?
MU — 39.21 мільярда доларів обороту в межах звичайної торгової сесії, випередивши QQQ із показником 29.98 мільярда доларів.
Примітки щодо даних
Цей випуск заповнює пропуск у щоденному ряді за 28 липня: щоденний огляд за 27 липня охоплює попередню сесію, щоденний огляд за 29 липня — наступну, а тижневий підсумок — тиждень, що передував обом датам. Іменовані панелі за тикерами впорядковані за алфавітом, тому посилання в тексті вказують на фіксовані рядки; рейтинги та таблиці лідерів упорядковані за значенням, а кожне позиційне твердження в них закодоване як контрольна межа. До кошика mega-cap і секторного кошика з одинадцяти фондів входять заздалегідь визначені фіксовані набори, а не класифікації постачальника даних. Для таблиць лідерів за змінами застосовується поріг обороту в п’ять мільйонів доларів у звичайні торгові години; виключаються папери, за якими split було виконано між двома вимірюваними закриттями, а також один повторно використаний символ відповідно до внутрішнього правила усунення неоднозначності. Тому кожне згадування завжди можна перевірити за конкретним папером. Панелі котирувань підраховують односторонні та перехресні котирування за кожним папером, а не мовчки вилучають їх. Файл Treasury та щоденний індекс EDGAR надходять за власними графіками, тому відповідні панелі відображають наявні в них дані, не припускаючи, що файли вже надійшли. Індекс implied volatility тут не використовується: ці ряди не ліцензовані для цього сховища, тому волатильність оцінюється за стрічкою через діапазони, частку same-day options і поведінку котирувань.
Методологія
- Джерело ринкових даних: консолідована стрічка.
delayed_stocks_minute_aggs— для цін і обсягів,options_trades— для options tape,cache_stocks_quotesіcache_options_quotes— для панелей NBBO. - Ціна закриття: останній хвилинний бар регулярної сесії. Це не умовний print о 16:00 і не print розширеної сесії.
- Часові пояси: усі збережені часові мітки наведено в UTC; у WHERE використовуються необроблені літерали UTC, а
toTimeZoneз’являється лише в SELECT-списках для позначень ET. - Перевірка сесії: на основі таблиці свят і фактично наявних барів, а не припущень за календарем.
- Порівняння з попередньою сесією: обчислюються безпосередньо в запиті для 27 липня, а не переносяться з попередньої публікації.
- Десяткові значення: стовпці цін, розмірів і обсягів перед будь-яким діленням або множенням перетворюються на Float64.
- Детерміновані агрегати: усюди використовуються точні квантилі та tie-break за ключами кортежів; кожне твердження про порядок або знак у тексті закодоване як перевірка граничних умов.
- Дата зрізу даних у сховищі: 1 серпня 2026 року, через чотири дні після сесії. Це вже після звичайної затримки завантаження tape, яка становить one-to-two days; наведені вище обмежені квитанції збережуть публікацію, якщо під час генерації виявиться відсутнім якийсь набір даних.
Перехресні посилання: щоденний огляд за 27 липня, щоденний огляд за 29 липня, коли спливають опціони, що таке bid-ask spread, і spread між дворічними та десятирічними Treasury.
Кожен наведений вище запит запускається без змін у терміналі Strasmore, якщо потрібно переналаштувати вікно на іншу сесію.