Podsumowanie rynku 29 lipca 2026: liczby dnia
Sesja z 29 lipca 2026 w liczbach: indeksy, szerokość rynku, sektory, opcje, notowania i stopy procentowe, oparte na zapisanych zapytaniach.
To podsumowanie rynku z środy, 29 lipca 2026 r. obejmuje całą sesję na podstawie zapisanych zapytań: zmiana wartości SPY względem poprzedniego zamknięcia wyniosła -1.52%, udział walorów rosnących na płynnym rynku wyniósł 27.2%, a na rynku opcji zawarto 66.84 mln kontraktów. Każdy z poniższych przedziałów ma jawnie określone daty początkową i końcową, dlatego ponowne uruchomienie zapytania SQL dla dowolnego panelu zwróci te same wartości.
Tabela wyników
Każda zmiana porównuje ostatni jednominutowy bar regularnej sesji z 29 lipca z barem z wtorku 28 lipca, czyli z kolejnymi sesjami giełdowymi. Wiersze uporządkowano alfabetycznie, dlatego każdy ETF zachowuje stałą pozycję.
Dokładny kod SQL dla każdej liczby
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-28 13:30:00' AND window_start < '2026-07-28 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-29 13:30:00' AND window_start < '2026-07-29 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 zmienił się o -2.19%, IWM o -1.63%, QQQ o -2.07%, a SPY o -1.52%, zamykając sesję na poziomie 729.51 USD. W każdym wierszu zmianę rozbito na dwa etapy: SPY otworzył się -0.11% względem wtorkowego zamknięcia i zmienił się o -1.41% od otwarcia do zamknięcia. Zmiana w okresie overnight i zmiana w trakcie sesji nie muszą być zgodne. Ich rozdzielenie stanowi pierwszy charakterystyczny obraz sesji.
Czy sesja była nietypowa?
Wynik jednej sesji niewiele znaczy bez analizy rozkładu, dlatego sesję sklasyfikowano w obrębie własnego poprzedzającego miesiąca według tej samej metodologii.
Dokładny kod SQL dla każdej liczby
SELECT
round(anyIf(oc_pct, d = toDate('2026-07-29')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-29'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-29'))) + 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-30 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)Zmiana SPY od otwarcia do zamknięcia wynosząca -1.41% zajęła 1 miejsce wśród 22 poprzedzających sesji pod względem wartości bezwzględnej, w okresie sięgającym 2026-06-29. Ranking uwzględnia liczbę innych sesji z tego okresu, w których zmiana była większa, powiększoną o jeden. Pierwsze miejsce oznaczałoby największą zmianę w poprzedzającym miesiącu.
Szerokość rynku
Poziom indeksu to jedna liczba. Szerokość rynku pokazuje, ile akcji poruszało się w tym samym kierunku.
Dokładny kod SQL dla każdej liczby
SELECT
countIf(c29 > c28 AND liquid) AS advancers,
countIf(c29 < c28 AND liquid) AS decliners,
countIf(c29 = c28 AND liquid) AS unchanged,
countIf(liquid) AS liquid_tickers,
countIf(NOT liquid) AS dropped_by_liquidity_filter,
round(100.0 * countIf(c29 > c28 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
SELECT ticker, c28, c29, dv29 >= 1000000 AS liquid
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 13:30:00') AS dv29
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
GROUP BY ticker
HAVING c28 > 0 AND c29 > 0
)
)Spośród 6066 walorów, dla których obrót w godzinach regularnej sesji przekroczył próg jednego miliona USD, 1652 zamknęło sesję powyżej wtorkowego zamknięcia, a 4342 poniżej. Udział spółek zwyżkujących wyniósł 27.2%. Filtr wyłączył 5363 walorów o niższej płynności, które uwzględniono w tym zestawieniu, zamiast pomijać.
Koszyk spółek mega-cap
Te same osiem spółek mega-cap pojawia się tutaj w każdej sesji, w kolejności alfabetycznej, aby każda zachowała swoje miejsce. Stały koszyk jest kluczowy: czytelnik zapamiętuje poszczególne wiersze, a redakcja nie wybiera zwycięzców po fakcie.
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-29 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-29 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00')
OR (window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 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 zmienił się o -0.63%, META o -1.12%, MSFT o -0.27%, a NVDA o -3.51% przy obrocie w regularnych godzinach wynoszącym 22.26 miliardów USD. TSLA odnotowała -2.97%. Kolumna wartości w USD pokazuje, jaką część obrotu te osiem spółek generuje samodzielnie. Panel szerokości rynku powyżej pokazuje natomiast, w jakim stopniu pozostała część rynku podążała za tymi spółkami.
Największe ruchy podczas sesji
Na obu tablicach wymagany jest obrót w regularnych godzinach handlu na poziomie pięciu milionów dolarów. Wykluczane są wszystkie walory, w przypadku których split został wykonany między dwiema uwzględnianymi cenami zamknięcia. Wykluczany jest również jeden ponownie wykorzystany symbol zgodnie z opisaną w uwagach zasadą ochrony przed niejednoznacznością.
Dokładny kod SQL dla każdej liczby
SELECT ticker, board, day_pct, day_dollar_m
FROM (
SELECT 'gainers' AS board, ticker, round((c29 / c28 - 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28' AND execution_date <= '2026-07-29')
AND window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
GROUP BY ticker
HAVING c28 > 0 AND c29 > 0 AND dv >= 5000000
)
ORDER BY day_pct DESC
LIMIT 8
UNION ALL
SELECT 'decliners' AS board, ticker, round((c29 / c28 - 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-29 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-28' AND execution_date <= '2026-07-29')
AND window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-29 20:00:00'
GROUP BY ticker
HAVING c28 > 0 AND c29 > 0 AND dv >= 5000000
)
ORDER BY day_pct ASC
LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESCNajwiększy wzrost na tablicy odnotował DFNS, który zmienił się o 119.8% przy obrocie na poziomie 544.9 milionów dolarów. Największy spadek odnotował YYAI, który zanotował -68.1% przy obrocie na poziomie 8.5 milionów. Niniejsza strona przedstawia wielkości zmian i potwierdzenia transakcji; nie przypisuje im żadnej przyczyny.
Zróżnicowanie sektorów
Jedenaście funduszy SPDR select-sector, według zmiany między zamknięciem z 29 lipca a zamknięciem z 28 lipca, uszeregowano od najlepszego do najsłabszego wyniku. Koszyk jest określony i stały, a nie oparty na klasyfikacji dostawcy.
Dokładny kod SQL dla każdej liczby
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((c29 / c28 - 1) * 100, 2) AS day_pct
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start < '2026-07-29 00:00:00') AS c28,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 00:00:00') AS c29
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-28 13:30:00' AND window_start < '2026-07-28 20:00:00')
OR (window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00'))
GROUP BY ticker
HAVING c28 > 0 AND c29 > 0
)
)
ORDER BY day_pct DESCEnergy znalazł się na czele zestawienia z wynikiem 1.89%, natomiast Industrials zamknął zestawienie z wynikiem -3.21%, czyli o 5.1 punktów procentowych niżej. Ta różnica stanowi dzienne zróżnicowanie sektorów. Sesja, podczas której wszystkie jedenaście funduszy mieści się w przedziale jednego punktu, wygląda zupełnie inaczej niż sesja z rozpiętością obejmującą kilka punktów.
Gdzie obracano dolarami
Dokładny kod SQL dla każdej liczby
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-29 13:30:00' AND window_start < '2026-07-29 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-29 13:30:00' AND window_start < '2026-07-29 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 zajęła pierwsze miejsce pod względem obrotów w dolarach na poziomie 44.99 miliardów USD w regularnych godzinach handlu. Za nią uplasowała się SPY z obrotami wynoszącymi 42.29 miliardów USD. Zestawienie liczby akcji odpowiada na inne pytanie: na pierwszym miejscu znalazła się SNXX z wynikiem 173.4 milionów akcji przy implikowanej średniej cenie 7.32 USD. Obroty w dolarach pokazują, na czym koncentruje się rynek, a liczba akcji wskazuje skalę rotacji. Odpowiednikiem tego miernika dla poszczególnych spółek jest wolumen względny.
Taśma transakcji opcyjnych
Dokładny kod SQL dla każdej liczby
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) = '260729', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
) AS jul28_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260728') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
) AS jul28_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul28_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) = '260729') / sum(size), 1) AS pct_0dte,
jul28_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-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'Na taśmie opcyjnej odnotowano 11.03 mln transakcji obejmujących 66.84 mln kontraktów, wobec 59.28 mln we wtorek. Opcje call stanowiły 53.6% wolumenu kontraktów. Kontrakty wygasające podczas tej samej sesji, czyli segment opcji z zerowym terminem do wygaśnięcia, odpowiadały za 33.1%, wobec 29% we wtorek. Rytm ten wyznacza termin wygasania. Najaktywniej handlowanym kontraktem na SPY był 735 P, z wolumenem 0.36 mln kontraktów. Jego cena wykonania znajdowała się 5.49 USD od regularnego zamknięcia SPY na poziomie $729.51. Odległość obliczono jako cenę wykonania pomniejszoną o cenę zamknięcia.
Taśma kwotowa
Dane kwotowań stanowią najrzadszy zbiór danych tego zespołu i są mierzone podczas każdej sesji. Zwykłe dni również są rejestrowane.
Dokładny kod SQL dla każdej liczby
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / 1e6, 2) AS jul28_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / countIf(toDate(sip_timestamp) = toDate('2026-07-28')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'SPY') / 1e6, 2) AS jul29_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'QQQ') / 1e6, 2) AS jul29_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29') AND ticker = 'NVDA') / 1e6, 2) AS jul29_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'Taśma kwotowa akcji zawierała 722.65 mln aktualizacji NBBO wobec 536.07 mln we wtorek, co oznacza zmianę dzień do dnia o 34.8%. Dla SPY odnotowano 7.32 mln aktualizacji, dla QQQ 8.72 mln, a dla NVDA 4.41 mln.
Dokładny kod SQL dla każdej liczby
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-29 13:30:00' AND sip_timestamp < '2026-07-29 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY tickerMediana spreadu kwotowanego dla SPY w regularnych godzinach wyniosła 0.27 punktów bazowych względem wartości środkowej, dla QQQ 0.75, a dla NVDA 1.55. Dwie ostatnie kolumny dotyczą ujawniania danych: kwotowania jednostronne i krzyżowe są zliczane osobno dla każdego waloru i wyłączane z mediany, a nie pomijane bez informacji. Kwotowanie krzyżowe, przy którym bid przewyższa ask, jest zwykłym artefaktem skonsolidowanego feedu zestawionego z wielu miejsc obrotu z rozdzielczością nanosekundową.
Dokładny kod SQL dla każdej liczby
SELECT round(anyIf(spread_bps, d = toDate('2026-07-29')), 2) AS jul29_median_spread_bps,
arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-29')), groupArrayIf(spread_bps, d != toDate('2026-07-29'))) + 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-29 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
)W porównaniu ze wszystkimi sesjami w lipcu, ocenianymi według identycznej metodologii, dzienna mediana spreadu SPY na poziomie 0.27 punktów bazowych uplasowała się na 20 miejscu spośród 20, licząc od najwęższego spreadu, w okresie rozpoczynającym się 2026-07-01. Przy spokojnej taśmie to właśnie stanowi cel panelu: zwykły dzień pod względem płynności jest obserwacją opublikowaną i ujętą w określonych granicach.
Dokładny kod SQL dla każdej liczby
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00') AS jul29_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00') AS jul29_stock_quote_rows
SELECT
round(jul29_options_rows / 1e9, 2) AS jul29_options_bn,
round(jul29_options_rows / jul29_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-29 13:30:00' AND sip_timestamp < '2026-07-29 20:00:00') / 1e6, 0) AS jul29_spy_options_mTaśma NBBO dla opcji obejmowała 13.55 mld aktualizacji, czyli 18.8 razy więcej niż taśma kwotowa akcji, przy czym sam root SPY odpowiadał za 600 mln aktualizacji w regularnych godzinach.
Rentowności
Dokładny kod SQL dla każdej liczby
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-24' AND date <= '2026-07-29'
ORDER BY dateDane dotyczące obligacji skarbowych są opóźnione względem rynku o około jedną sesję. Panel przedstawia zatem zawarte transakcje dostępne w tym źródle: 4 wierszy z datami w wybranym przedziale. W najnowszym wierszu, datowanym na 2026-07-29, rentowność obligacji dwuletnich wyniosła 4.22%, dziesięcioletnich 4.67%, a trzydziestoletnich 5.2%. Oznacza to spread między rentownością obligacji dwuletnich i dziesięcioletnich na poziomie 45 punktów bazowych.
Kalendarz stojący za danym dniem
Dokładny kod SQL dla każdej liczby
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-29 04:00:00' AND published_utc < '2026-07-30 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-29'
) AS fil
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-29') AS ex_dividend_records,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-29') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-29') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-29') AS listings,
(SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-29 04:00:00' AND published_utc < '2026-07-30 04:00:00') AS news_articles,
(SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-29 04:00:00' AND published_utc < '2026-07-30 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_10q85 rekordów dywidendowych przeszło w dniu 29 lipca w fazę bez dywidendy, wykonano 2 odwrotnych i 1 zwykłych splitów, a na taśmie pojawiło się 1 nowych emisji. Kanał informacyjny zawierał 190 artykułów od 2 wydawców, z czego NVDA był najczęściej opisywanym tickerem w oknie czasowym tego kanału i pojawił się w 13 artykułach. Dzienny indeks EDGAR obejmuje 5742 zgłoszeń z tego dnia od 3064 odrębnych składających: 712 zgłoszeń insiderów na Formularzu 4, 440 bieżących raportów 8-K, 884 suplementów cenowych 424B2 oraz 174 kwartalnych raportów 10-Q. Indeks jest publikowany zgodnie z własnym harmonogramem, a panel przedstawia dane dostępne w nim w momencie generowania.
W planie
Pozostała część tygodnia, odczytana z tych samych tabel, z celowym wyjściem poza analizowany okres.
Dokładny kod SQL dla każdej liczby
SELECT
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-30' 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-30' 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-30' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-30' 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_wed_volume,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-29') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'Tabela dni świątecznych pokazuje 0 zamknięć w czwartek 30 lipca i piątek 31 lipca. W tych dwóch sesjach 611 rekordów dywidend przechodzi na ex-dividend, w tym 0 wśród dziesięciu sprawdzonych powszechnie znanych spółek, a wykonanie zaplanowano dla 12 podziałów akcji. Spośród środowego wolumenu opcji 19.7% przypadało już na kontrakty z terminem wygaśnięcia w piątek 31 lipca. Najnowsze dostępne rozliczenie krótkiej pozycji to 2026-07-15 — dane publikowane z opóźnieniem na tyle dużym, że doczekały się osobnego wyjaśnienia.
Sesja, zweryfikowana
Dokładny kod SQL dla każdej liczby
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-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-29') AS jul29_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-29' 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-29' 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-29 00:00:00' AND window_start < '2026-07-30 00:00:00'Pełna sesja regularna: pierwsza świeca SPY o 04:00 ET, ostatnia o 19:59 ET, 390 świec w godzinach regularnych, 1 sesja w analizowanym przedziale oraz 0 wierszy dotyczących świąt dla tej daty. Najbliższe zaplanowane zamknięcie rynku przypada na Labor Day o 2026-09-07.
Najczęściej zadawane pytania
Jak zachował się rynek akcji w środę 29 lipca 2026 roku?
SPY zmienił się o -1.52% między zamknięciami, do poziomu 729.51 USD. QQQ wyniósł -2.07%, DIA -2.19%, a IWM -1.63%. Wśród płynnych walorów 1652 wzrósł, a 4342 spadł.
Który sektor zajął pierwsze miejsce 29 lipca 2026 roku?
Energy, na poziomie 1.89%, w ujęciu jedenastu funduszy SPDR select-sector. Najsłabszy z jedenastu, Industrials, odnotował -3.21%.
Jak aktywny był rynek opcji 29 lipca 2026 roku?
Obrót wyniósł 66.84 mln kontraktów wobec 59.28 mln podczas poprzedniej sesji. Kontrakty wygasające tego samego dnia stanowiły 33.1% obrotu, a opcje call 53.6%.
Która spółka miała największy obrót wartościowy 29 lipca 2026 roku?
MU, z obrotem w standardowych godzinach sesji na poziomie 44.99 mld USD, wyprzedziła SPY z wynikiem 42.29 mld USD.
Uwagi dotyczące danych
To wydanie wznawia serię dzienną. Poprzednie wydanie dzienne to 10 lipca 2026 r., a tygodniowe podsumowanie obejmuje tydzień poprzedzający bieżący. Panele nazwane według tickerów uporządkowano alfabetycznie, aby odwołania w tekście wskazywały stałe wiersze. Rankingi liderów i zestawienia największych zmian uporządkowano według wartości, a każde zawarte w nich twierdzenie dotyczące pozycji zakodowano jako warunek kontrolny. Koszyk spółek o największej kapitalizacji oraz sektorowy koszyk jedenastu funduszy to zdefiniowane, stałe zbiory, a nie klasyfikacje dostawców danych. Zestawienia największych zmian uwzględniają próg obrotu w regularnych godzinach sesji wynoszący pięć milionów USD. Wykluczają również każdą spółkę, której split został wykonany między dwoma analizowanymi zamknięciami, oraz jeden ponownie wykorzystany symbol objęty wewnętrzną regułą dotyczącą niejednoznaczności. Dzięki temu każde wyróżnienie dotyczy nazwy możliwej do zweryfikowania. Panele kwotowań zliczają jednostronne i krzyżowe kwotowania dla każdej nazwy, zamiast pomijać je bez informacji. Plik dotyczący obligacji skarbowych oraz dzienny indeks EDGAR są publikowane według własnych harmonogramów. Dlatego panele przedstawiają dostępne w nich dane, bez założenia, że pliki pojawią się w tym samym czasie. Nie uwzględniono tu żadnego indeksu implikowanej zmienności. Serie te nie są objęte licencją w tym magazynie danych, dlatego zmienność jest oceniana na podstawie notowań, zakresów zmian, udziału opcji o terminie wygaśnięcia w tym samym dniu oraz zachowania kwotowań.
Metodyka
- Źródło danych rynkowych: skonsolidowana taśma transakcyjna.
delayed_stocks_minute_aggsdla cen i wolumenów,options_tradesdla taśmy opcyjnej,cache_stocks_quotesicache_options_quotesdla paneli NBBO. - Kurs zamknięcia: ostatni minutowy słupek regularnej sesji; nigdy nie jest to założony wydruk z godziny 16:00 ani wydruk z handlu poza regularnymi godzinami.
- Obsługa stref czasowych: wszystkie zapisane znaczniki czasu są w UTC; klauzule WHERE używają surowych literałów UTC, a
toTimeZonepojawia się wyłącznie na listach SELECT dla etykiet ET. - Weryfikacja sesji: na podstawie tabeli świąt oraz zaobserwowanych słupków, nigdy wyłącznie na podstawie kalendarza.
- Porównania z poprzednią sesją: obliczane w zapytaniu na podstawie danych z 28 lipca, a nie przenoszone z poprzedniej publikacji.
- Miejsca dziesiętne: kolumny cen, wielkości pozycji i wolumenu są rzutowane na Float64 przed wykonaniem jakiegokolwiek dzielenia lub mnożenia.
- Deterministyczne agregaty: w całym zapytaniu stosowane są dokładne kwantyle oraz rozstrzyganie remisów oparte na kluczach krotek; każde twierdzenie dotyczące kolejności lub znaku w tekście jest zakodowane jako warunek kontrolny.
- Data stanu magazynu danych: 1 sierpnia 2026 r., trzy dni po sesji, czyli po typowym dla taśmy opóźnieniu ingestu wynoszącym od jednego do dwóch dni; powyższe ograniczone potwierdzenia utrzymują publikację, jeśli podczas generowania zostanie stwierdzony brak zbioru danych.
Linki: poprzednie dzienne podsumowanie, tygodniowe podsumowanie, kiedy wygasają opcje, czym jest spread bid-ask oraz spread między obligacjami skarbowymi o terminie od dwóch do dziesięciu lat.
Każde z powyższych zapytań działa bez zmian na terminalu Strasmore, jeśli konieczne jest wskazanie innego okna czasowego dla odmiennej sesji.