Podsumowanie rynku 30 lipca 2026: dzień w liczbach
Sesja 30 lipca 2026 w liczbach: indeksy, szerokość rynku, sektory, opcje, notowania, stopy i kalendarz. Sprawdź pełny zapis danych z rynku.
Ten raport rynkowy z czwartku 30 lipca 2026 r. obejmuje całą sesję na podstawie zapisanych zapytań: zmiana kursu zamknięcia SPY względem poprzedniego zamknięcia wyniosła 1.68%, udział spółek zwyżkujących w płynnym segmencie rynku wyniósł 63.5%, a na rynku opcji zawarto 67.06 mln kontraktów. Każdy z poniższych przedziałów ma jednoznacznie określone daty początkową i końcową, dlatego ponowne uruchomienie zapytania SQL dla dowolnego panelu zwróci te same wartości.
Tablica wyników
Każda zmiana porównuje ostatnią minutową świecę regularnej sesji z 30 lipca ze świecą z środy, 29 lipca, czyli z kolejnych sesji giełdowych. Wiersze uporządkowano alfabetycznie, dzięki czemu 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-29 13:30:00' AND window_start < '2026-07-29 20:00:00'
GROUP BY ticker
),
sess AS (
SELECT ticker,
argMin(open, window_start) AS day_open,
argMax(close, window_start) AS day_close,
max(high) AS day_high,
min(low) AS day_low,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_traded_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
)
SELECT
s.ticker AS ticker,
round(toFloat64(p.prior_close), 2) AS prior_close,
round(toFloat64(s.day_open), 2) AS day_open,
round(toFloat64(s.day_close), 2) AS day_close,
round((toFloat64(s.day_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
round((toFloat64(s.day_close) / toFloat64(p.prior_close) - 1) * 100, 2) AS pct_change,
round(toFloat64(s.day_high), 2) AS day_high,
round(toFloat64(s.day_low), 2) AS day_low,
s.shares_traded_m
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY tickerDIA zmienił się o 1.19%, IWM o 1.37%, QQQ o 3.34%, a SPY o 1.68%, osiągając kurs zamknięcia 741.73 USD. W każdym wierszu zmianę podzielono na dwa etapy: SPY otworzył się 0.9% względem środowego zamknięcia, a następnie zmienił się o 0.77% od otwarcia do zamknięcia. Zmiana overnight i zmiana w trakcie sesji nie muszą być zgodne, a ich podział stanowi pierwszy ślad charakterystyczny dla danej sesji.
Czy sesja była nietypowa?
Liczba z jednej sesji niewiele znaczy bez analizy rozkładu, dlatego sesję klasyfikuje się w obrębie własnego minionego miesiąca według tej samej metodologii.
Dokładny kod SQL dla każdej liczby
SELECT
round(anyIf(oc_pct, d = toDate('2026-07-30')), 2) AS spy_open_to_close_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-30'))) + 1 AS spy_abs_move_rank,
count() AS spy_sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-06-30 13:30:00')
AND window_start < toDateTime('2026-07-31 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)Zmiana SPY od otwarcia do zamknięcia wynosząca 0.77% uplasowała się na 3. miejscu wśród 22 minionych sesji, uszeregowanych według bezwzględnej wielkości zmiany, w okresie sięgającym do 2026-06-30. Pozycja oznacza liczbę innych sesji w tym okresie, które odnotowały większą zmianę, powiększoną o jeden. Pierwsze miejsce oznaczałoby największą zmianę w minionym 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(c30 > c29 AND liquid) AS advancers,
countIf(c30 < c29 AND liquid) AS decliners,
countIf(c30 = c29 AND liquid) AS unchanged,
countIf(liquid) AS liquid_tickers,
countIf(NOT liquid) AS dropped_by_liquidity_filter,
round(100.0 * countIf(c30 > c29 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
SELECT ticker, c29, c30, dv30 >= 1000000 AS liquid
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv30
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0
)
)Spośród 5960 spółek, których obrót w regularnych godzinach przekroczył próg jednego miliona USD, 3782 zamknęło sesję powyżej środowego kursu zamknięcia, a 2122 poniżej. Udział spółek zwyżkujących wyniósł 63.5%. Filtr wykluczył 5492 spółek o niższej płynności, które uwzględniono tutaj 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 po fakcie nie wybiera się ręcznie zwycięzców.
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-30 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-30 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
AND ((window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
GROUP BY ticker
)
SELECT
ticker,
round(prior_close, 2) AS prior_close,
round(day_close, 2) AS day_close,
round((day_close / prior_close - 1) * 100, 2) AS pct_chg,
day_dollar_bn
FROM per_name
ORDER BY tickerAAPL zmieniła się o -1.24%, META o -8.17%, MSFT o 15.06%, a NVDA o 2.67% przy obrotach w godzinach regularnej sesji wynoszących 19.63 miliardów USD. TSLA odnotowała 3.53%. Kolumna wartości w USD pokazuje, jaką część obrotu te osiem spółek generuje samodzielnie. Panel szerokości rynku powyżej pozwala ocenić, w jakim stopniu pozostała część rynku podążała za tymi spółkami.
Największe ruchy w ciągu dnia
Na obu zestawieniach wymagany jest obrót w regularnych godzinach na poziomie pięciu milionów USD. Wykluczane są spółki, w przypadku których podział akcji został wykonany między dwoma uwzględnianymi zamknięciami. Wykluczany jest również jeden powtórnie użyty symbol zgodnie z opisanym w uwagach mechanizmem 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((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker NOT IN ('SPCX')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
)
ORDER BY day_pct DESC
LIMIT 8
UNION ALL
SELECT 'decliners' AS board, ticker, round((c30 / c29 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS c30,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-30 13:30:00') AS dv
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker NOT IN ('SPCX')
AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-29' AND execution_date <= '2026-07-30')
AND window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0 AND dv >= 5000000
)
ORDER BY day_pct ASC
LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESCNajwiększy wzrost na zestawieniu odnotował CYCU, którego kurs zmienił się o 489.5% przy obrocie o wartości 474.4 milionów USD. Największy spadek zanotował IREZ, którego kurs zmienił się o -61.2% przy obrocie o wartości 90.8 milionów USD. Na tej stronie odnotowano wartości zmian i transakcje, bez przypisywania im przyczyn.
Zróżnicowanie sektorowe
Jedenaście funduszy SPDR dla wybranych sektorów, według zmiany między zamknięciem z 30 lipca a zamknięciem z 29 lipca, uszeregowano od najlepszego do najsłabszego. Koszyk został zdefiniowany i jest stały. Nie opiera się 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((c30 / c29 - 1) * 100, 2) AS day_pct
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, window_start < '2026-07-30 00:00:00') AS c29,
argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-30 00:00:00') AS c30
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('XLB', 'XLC', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
AND ((window_start >= '2026-07-29 13:30:00' AND window_start < '2026-07-29 20:00:00')
OR (window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'))
GROUP BY ticker
HAVING c29 > 0 AND c30 > 0
)
)
ORDER BY day_pct DESCTechnology znalazł się na szczycie zestawienia z wynikiem 5.52%, natomiast Communications zajął ostatnie miejsce z wynikiem -2.69%, o 8.21 punktów procentowych niższym. Ta różnica pokazuje dzienne zróżnicowanie sektorowe. Sesja, podczas której wszystkie jedenaście sektorów mieści się w przedziale jednego punktu procentowego, wygląda zupełnie inaczej niż sesja z rozpiętością obejmującą kilka punktów.
Gdzie handlowano 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-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_volume_bn DESC
LIMIT 6
UNION ALL
SELECT
'by shares traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESCMU zajmował czołowe miejsce pod względem obrotów w dolarach, osiągając 43.29 mld USD w regularnych godzinach handlu. Za nim uplasował się MSFT z wynikiem 42.56 mld USD. Zestawienie liczby akcji odpowiada na inne pytanie: na jego czele znalazł się CYCU z wynikiem 544 mln akcji, przy implikowanej średniej cenie wynoszącej 0.86 USD. Wolumen w dolarach pokazuje, na czym koncentruje się uwaga rynku, a wolumen akcji pokazuje skalę rotacji. W ujęciu dla pojedynczej spółki odpowiednikiem tego miernika jest wolumen względny.
Taśma opcji
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) = '260730', 1, 0) AS is_0dte
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'
AND underlying_symbol = 'SPY'
GROUP BY ticker
ORDER BY vol_m DESC, strike ASC
LIMIT 1
)
) AS top_spy,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00'
) AS spy_regular_close,
(
SELECT round(toFloat64(sum(size)) / 1e6, 2)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
) AS jul29_contracts_m,
(
SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260729') / sum(size), 1)
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-30 00:00:00'
) AS jul29_pct_0dte
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
jul29_contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260730') / sum(size), 1) AS pct_0dte,
jul29_pct_0dte,
spy_regular_close,
top_spy.1 AS top_spy_strike,
top_spy.2 AS top_spy_type,
top_spy.3 AS top_spy_contracts_m,
top_spy.4 AS top_spy_is_0dte,
round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'Na taśmie opcji odnotowano 10.93 mln transakcji obejmujących 67.06 mln kontraktów, wobec 66.84 mln w środę. Opcje call stanowiły 54.6% wolumenu kontraktów. Kontrakty wygasające podczas tej samej sesji, czyli grupa opcji z zerową liczbą dni do wygaśnięcia, odpowiadały za 25.3% wobec 33.1% w środę. Rytm ten wyznacza termin wygasania opcji. Największym obrotem wśród kontraktów na SPY charakteryzował się kontrakt 740 C, obejmujący 0.56 mln kontraktów. Jego cena wykonania była oddalona o -1.73 USD od regularnego kursu zamknięcia SPY na poziomie $741.73, przy pomiarze jako cena wykonania minus kurs zamknięcia.
Taśma kwotowa
Dane kwotowań stanowią najrzadszy zasób danych tego zespołu i są mierzone podczas każdej sesji. Zwykłe dni również trafiają do rejestru.
Dokładny kod SQL dla każdej liczby
SELECT
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / 1e6, 2) AS jul30_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-29')) / 1e6, 2) AS jul29_updates_m,
round((countIf(toDate(sip_timestamp) = toDate('2026-07-30')) / countIf(toDate(sip_timestamp) = toDate('2026-07-29')) - 1) * 100, 1) AS day_over_day_pct,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'SPY') / 1e6, 2) AS jul30_spy_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'QQQ') / 1e6, 2) AS jul30_qqq_updates_m,
round(countIf(toDate(sip_timestamp) = toDate('2026-07-30') AND ticker = 'NVDA') / 1e6, 2) AS jul30_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-29 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'Taśma kwotowa akcji odnotowała 560.75 mln aktualizacji NBBO wobec 722.65 mln w środę, co oznacza dzienną zmianę o -22.4%. SPY odnotował 5.55 mln aktualizacji, QQQ 6.75 mln, a NVDA 2.39 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-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY tickerMediana spreadu kwotowań SPY w regularnych godzinach wyniosła 0.27 punktów bazowych wartości środkowej, w przypadku QQQ było to 0.59, a NVDA 1.03. Dwie ostatnie kolumny zawierają dane ujawniające: kwotowania jednostronne i kwotowania krzyżowe są liczone dla każdego waloru i wyłączane z mediany, a nie pomijane bez informacji. Kwotowanie krzyżowe, w którym bid przewyższa ask, jest zwykłym artefaktem skonsolidowanego feedu tworzonego z danych z wielu systemów obrotu z rozdzielczością nanosekundową.
Dokładny kod SQL dla każdej liczby
SELECT round(anyIf(spread_bps, d = toDate('2026-07-30')), 2) AS jul30_median_spread_bps,
arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-30')), groupArrayIf(spread_bps, d != toDate('2026-07-30'))) + 1 AS rank_tightest,
count() AS sessions_compared,
toString(min(d)) AS first_session
FROM (
SELECT toDate(sip_timestamp) AS d,
quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00'
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY d
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)W porównaniu ze wszystkimi sesjami lipcowymi według identycznej metodologii mediana spreadu SPY z tego dnia, wynosząca 0.27 punktów bazowych, uplasowała się na 19 miejscu na 21 sesji, licząc od najwęższego spreadu, w okresie rozpoczynającym się 2026-07-01. Przy spokojnej taśmie kwotowej właśnie to jest celem panelu: zwykły dzień pod względem płynności stanowi ustalenie, które zostało opublikowane i ma określone granice.
Dokładny kod SQL dla każdej liczby
WITH
(SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_options_rows,
(SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00') AS jul30_stock_quote_rows
SELECT
round(jul30_options_rows / 1e9, 2) AS jul30_options_bn,
round(jul30_options_rows / jul30_stock_quote_rows, 1) AS options_to_stock_ratio,
round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-30 13:30:00' AND sip_timestamp < '2026-07-30 20:00:00') / 1e6, 0) AS jul30_spy_options_mTaśma kwotowa opcji odnotowała 10.32 mld aktualizacji, czyli 18.4 razy więcej niż taśma kwotowa akcji. Sam root SPY odpowiadał za 441 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-27' AND date <= '2026-07-30'
ORDER BY dateZestawienie obligacji skarbowych jest opóźnione względem bieżących notowań o około jedną sesję, dlatego panel przedstawia zarejestrowane transakcje: 4 wierszy z datami w analizowanym okresie. Najnowszy wpis, z datą 2026-07-30, wskazuje rentowność obligacji dwuletnich na poziomie 4.23%, dziesięcioletnich na poziomie 4.68%, a trzydziestoletnich na poziomie 5.21%. Oznacza to spread między obligacjami dwuletnimi a dziesięcioletnimi w wysokości 45 punktów bazowych.
Kalendarz dnia
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-30 04:00:00' AND published_utc < '2026-07-31 04:00:00'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news,
(
SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
FROM global_markets.stocks_sec_edgar_index
WHERE filing_date = '2026-07-30'
) AS fil
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-30') AS ex_dividend_records,
(SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS reverse_splits,
(SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-30') AS forward_splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-30') AS listings,
(SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_articles,
(SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-30 04:00:00' AND published_utc < '2026-07-31 04:00:00') AS news_publishers,
top_news.1 AS top_news_ticker,
top_news.2 AS top_news_n,
fil.1 AS fil_total,
fil.2 AS fil_filers,
fil.3 AS fil_form4,
fil.4 AS fil_8k,
fil.5 AS fil_424b2,
fil.6 AS fil_10q200 rejestrów dywidendowych przeszło w dniu 30 lipca przez dzień bez dywidendy, wykonano 3 odwrotnych i 3 zwykłych splitów, a na tape trafiło 3 nowych debiutów giełdowych. Kanał informacyjny zawierał 173 artykułów od 2 wydawców, przy czym NVDA był najczęściej opisywanym tickerem w przedziale objętym tym kanałem, z liczbą 11 artykułów. Dzienny indeks EDGAR obejmuje 5544 dokumentów z tego dnia, złożonych przez 2743 odrębnych podmiotów: 745 raportów insiderów Formularz 4, 460 bieżących raportów 8-K, 1426 uzupełnień cenowych 424B2 oraz 252 kwartalnych raportów 10-Q. Indeks jest publikowany według własnego harmonogramu, a panel przedstawia dane dostępne w nim w momencie generowania.
W przygotowaniu
Podczas dwóch kolejnych sesji należy korzystać z tych samych tabel, celowo wykraczając poza analizowany okres. Piątek 31 lipca jest ostatnim dniem handlu w miesiącu zgodnie z kalendarzem.
Dokładny kod SQL dla każdej liczby
SELECT
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-31' AND date <= '2026-08-03' AND status != 'open') AS closures_next_two_sessions,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS exdiv_records_next_two_sessions,
(SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-31' AND ex_dividend_date <= '2026-08-03') AS household_exdivs,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-31' AND execution_date <= '2026-08-03') AS splits_next_two_sessions,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_thu_volume,
(SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-30') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-30 00:00:00' AND sip_timestamp < '2026-07-31 00:00:00'Tabela dni świątecznych wskazuje 0 zamknięć rynku w piątek 31 lipca i poniedziałek 3 sierpnia. W ciągu tych dwóch sesji 544 zapisów dotyczących dywidend przejdzie w tryb ex-dividend, w tym 0 wśród dziesięciu monitorowanych spółek konsumenckich, a wykonanie zaplanowano dla 14 splitów. Spośród czwartkowego wolumenu opcji 26.7% przypadało już na kontrakty z terminem wygaśnięcia w piątek 31 lipca. Najnowsze dostępne dane dotyczące rozliczenia krótkich pozycji to 2026-07-15 — publikacja tego pliku jest opóźniona na tyle, że doczekała się osobnego objaś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-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-30 13:30:00' AND window_start < '2026-07-30 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-30') AS jul30_holiday_rows,
(SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
(SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-30' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-30 00:00:00' AND window_start < '2026-07-31 00:00:00'Pełna sesja regularna: pierwsza świeca SPY o 04:00 ET, ostatnia o 19:59 ET, 390 świec w godzinach regularnych, 1 sesja w wybranym oknie oraz 0 wierszy dotyczących świąt dla tej daty. Najbliższe zaplanowane zamknięcie rynku przypada na Labor Day o 2026-09-07.
FAQ
Jak zachował się rynek akcji w czwartek 30 lipca 2026 r.?
SPY zmienił się o 1.68% między zamknięciami, do poziomu 741.73 USD. QQQ wyniósł 3.34%, DIA 1.19%, a IWM 1.37%. Wśród płynnych walorów 3782 wzrósł, a 2122 spadł.
Który sektor zajął pierwsze miejsce 30 lipca 2026 r.?
Technology, na poziomie 5.52%, w ujęciu jedenastu funduszy SPDR Select Sector. Najsłabszy z jedenastu, Communications, odnotował -2.69%.
Jak aktywny był rynek opcji 30 lipca 2026 r.?
Zawarto 67.06 mln kontraktów, w porównaniu z 66.84 mln podczas poprzedniej sesji. Kontrakty wygasające tego samego dnia stanowiły 25.3% wolumenu, a opcje call 54.6%.
Która spółka miała największą wartość obrotu 30 lipca 2026 r.?
MU, z obrotem w regularnych godzinach sesji o wartości 43.29 mld USD, przed MSFT z wynikiem 42.56 mld USD.
Uwagi dotyczące danych
Poprzednie wydanie dzienne to 29 lipca 2026 r., a tygodniowe podsumowanie obejmuje tydzień poprzedzający ten okres. Panele nazwane według tickerów uporządkowano alfabetycznie, aby odwołania w tekście wskazywały stałe wiersze. Rankingi i zestawienia liderów oraz 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 mega-cap oraz koszyk jedenastu funduszy sektorowych to zdefiniowane, stałe zbiory, a nie klasyfikacje dostawców danych. Zestawienia największych zmian stosują próg obrotu w regularnych godzinach sesji na poziomie pięciu milionów USD. Wykluczają również każdy instrument, którego split został wykonany między dwoma mierzonymi zamknięciami, oraz jeden ponownie użyty symbol objęty wewnętrznym zabezpieczeniem na wypadek niejednoznaczności. Dzięki temu każde wyróżnienie odnosi się do możliwej do zweryfikowania nazwy. Panele kwotowań uwzględniają dla każdego instrumentu kwotowania jednostronne i krzyżowe, zamiast po cichu je pomijać. Plik Treasury oraz dzienny indeks EDGAR są publikowane według własnych harmonogramów. Dlatego panele przedstawiają zawartość tych źródeł, zamiast zakładać, że dane już napłynęły. W tym zestawieniu nie występuje indeks implikowanej zmienności. Serie te nie są objęte licencją dla tego repozytorium. Zmienność odczytywana jest więc z rynku na podstawie przedziałów cenowych, udziału opcji zawartych tego samego dnia 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. - Zamknięcie: ostatni jednominutowy bar regularnej sesji, nigdy domniemany zapis z godziny 16:00 ani zapis z handlu poza regularnymi godzinami.
- Obsługa stref czasowych: wszystkie zapisane znaczniki czasu są w UTC; klauzule WHERE wykorzystują surowe literały UTC, a
toTimeZonewystępuje wyłącznie na listach SELECT jako oznaczenie czasu ET. - Weryfikacja sesji: na podstawie tabeli dni świątecznych oraz zaobserwowanych barów, nigdy wyłącznie na podstawie kalendarza.
- Porównania z poprzednią sesją: obliczane w zapytaniu na podstawie danych z 29 lipca, nigdy nieprzenoszone z poprzedniej publikacji.
- Miejsca dziesiętne: kolumny cen, wielkości i wolumenu są konwertowane do Float64 przed wykonaniem jakiegokolwiek dzielenia lub mnożenia.
- Deterministyczne agregaty: w całym procesie 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., dwa dni po sesji, na granicy typowego dla taśmy opóźnienia pozyskiwania danych wynoszącego od jednego do dwóch dni; ograniczone potwierdzenia wskazane powyżej zabezpieczają publikację na wypadek braku zbioru danych w momencie generowania.
Odsyłacze: poprzednie dzienne podsumowanie, tygodniowe podsumowanie, kiedy wygasają opcje, czym jest spread bid-ask oraz spread obligacji dwuletnich i dziesięcioletnich.
Każde z powyższych zapytań działa bez zmian na terminalu Strasmore, jeśli zachodzi potrzeba ustawienia okna na inną sesję.