Marktrückblick 29. Juli 2026: Der Tag in Zahlen
Marktübersicht zum 29. Juli 2026 mit Indexvergleich, Marktbreite, Sektorspread, Optionsfluss, Kursdaten, Zinsen und Kalender auf Abfragebasis.
Diese Marktübersicht für Mittwoch, den 29. Juli 2026, wertet die gesamte Sitzung anhand gespeicherter Abfragen aus: Die Veränderung von SPY gegenüber dem vorherigen Schlusskurs betrug -1.52%, der Anteil der Gewinner im liquiden Markt 27.2%, und im Optionshandel wurden 66.84 Millionen Kontrakte ausgeführt. Für jedes Zeitfenster sind Beginn und Ende durch konkrete Daten festgelegt. Bei einer erneuten Ausführung der SQL-Abfrage für ein beliebiges Panel ergeben sich daher dieselben Zahlen.
Das Punktetableau
Jede Veränderung vergleicht den letzten Minutenbalken der regulären Sitzung vom 29. Juli mit demjenigen vom Dienstag, dem 28. Juli. Die Zeilen sind alphabetisch sortiert, sodass jedes ETF seine feste Position behält.
Das exakte SQL hinter jeder Zahl
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 bewegte sich um -2.19%, IWM um -1.63%, QQQ um -2.07% und SPY um -1.52% auf einen Schlusskurs von $729.51. Jede Zeile teilt die Bewegung in ihre beiden Komponenten auf: SPY eröffnete -0.11% gegenüber dem Schlusskurs vom Dienstag und bewegte sich vom Eröffnungskurs bis zum Schlusskurs um -1.41%. Die Bewegung über Nacht und die Intraday-Bewegung müssen nicht übereinstimmen. Ihre Aufteilung ist der erste Fingerabdruck einer Sitzung.
War der Handelstag ungewöhnlich?
Die Kennzahl eines einzelnen Handelstags sagt ohne die zugrunde liegende Verteilung wenig aus. Deshalb wird der Tag nach derselben Logik innerhalb seines eigenen zurückliegenden Monats eingeordnet.
Das exakte SQL hinter jeder Zahl
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
)Die Bewegung von SPY zwischen Eröffnung und Schluss von -1.41% belegte nach ihrer absoluten Größe Rang 1 von 22 zurückliegenden Handelssitzungen. Das betrachtete Zeitfenster reicht bis 2026-06-29 zurück. Für die Rangberechnung wird gezählt, wie viele andere Sitzungen im Fenster eine größere Bewegung aufwiesen; anschließend wird eins addiert. Rang eins wäre somit die größte Bewegung des zurückliegenden Monats.
Marktbreite
Ein Indexstand ist eine einzelne Zahl. Die Marktbreite erfasst, wie viele Aktien sich mit ihm bewegten.
Das exakte SQL hinter jeder Zahl
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
)
)Von 6066 Titeln, die im regulären Handel einen Umsatz von einer Million Dollar überschritten, schlossen 1652 über dem Schlusskurs vom Dienstag und 4342 darunter. Der Anteil der Gewinner lag damit bei 27.2%. Der Filter nahm 5363 weniger liquide Titel aus; sie werden hier mitgezählt und nicht stillschweigend verworfen.
Das Mega-Cap-Universum
Dieselben acht Mega-Cap-Titel erscheinen in jeder Sitzung in alphabetischer Reihenfolge, damit jeder Titel seine eigene Zeile behält. Der feste Korb ist entscheidend: Die Leser lernen die Zeilen kennen, und nachträglich werden keine Gewinner redaktionell ausgewählt.
Das exakte SQL hinter jeder Zahl
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 bewegte sich um -0.63%, META um -1.12%, MSFT um -0.27% und NVDA um -3.51% bei einem Umsatz während der regulären Handelszeiten von 22.26 Milliarden Dollar. TSLA lag bei -2.97%. Die Spalte in Dollar zeigt, welchen Anteil des Handelsvolumens diese acht Titel allein ausmachen. Das darüberliegende Breadth-Panel zeigt, wie weit der übrige Markt diese Bewegung mitvollzogen hat.
Die Tagesgewinner und -verlierer
Für beide Listen sind in der regulären Handelszeit mindestens fünf Millionen Dollar Umsatz erforderlich. Aktien, deren Split zwischen den beiden herangezogenen Schlusskursen ausgeführt wurde, werden ausgeschlossen. Außerdem wird ein wiederverwendetes Symbol gemäß der in den Hinweisen beschriebenen Ambiguitätsprüfung des Hauses ausgeschlossen.
Das exakte SQL hinter jeder Zahl
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) DESCDer größte Gewinner der Liste, DFNS, legte bei einem Handelsvolumen von 544.9 Millionen Dollar um 119.8% zu. Der stärkste Verlierer, YYAI, gab bei 8.5 Millionen Dollar Umsatz um -68.1% nach. Diese Seite dokumentiert die Größenordnungen und die Belege. Sie ordnet ihnen keine Erklärung zu.
Sektorstreuung
Die elf SPDR Select Sector Funds, Schlusskurs vom 29. Juli im Vergleich zum 28. Juli, nach Wertentwicklung vom besten zum schlechtesten sortiert. Der Korb ist festgelegt und unverändert. Es handelt sich nicht um eine Anbieterklassifizierung.
Das exakte SQL hinter jeder Zahl
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 führte die Rangliste mit 1.89% an. Industrials lag mit -3.21% am Ende und damit 5.1 Prozentpunkte zurück. Diese Differenz beschreibt die Sektorstreuung des Tages. Ein Handelstag, an dem alle elf Fonds innerhalb eines Prozentpunkts liegen, unterscheidet sich deutlich von einem Tag, an dem sich die Werte über mehrere Prozentpunkte verteilen.
Wo die Dollar gehandelt wurden
Das exakte SQL hinter jeder Zahl
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 führte die Dollar-Rangliste mit einem Umsatz von 44.99 Milliarden während der regulären Handelszeiten an. Dahinter folgte SPY mit 42.29 Milliarden. Die Rangliste nach Aktien beantwortet eine andere Frage: SNXX lag mit 173.4 Millionen Aktien vorn. Daraus ergibt sich ein impliziter Durchschnittspreis von $7.32. Das Dollarvolumen zeigt, auf welche Werte sich die Aufmerksamkeit des Marktes richtet. Das Aktienvolumen zeigt die Umschlaghäufigkeit. Die Kennzahl je Wert ist relatives Volumen.
Der Optionshandel
Das exakte SQL hinter jeder Zahl
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'Im Optionshandel wurden 11.03 Millionen Kontrakte in 66.84 Millionen Trades ausgeführt, gegenüber 59.28 Millionen am Dienstag. Call-Optionen machten 53.6% des Kontraktvolumens aus. Kontrakte, die noch am selben Handelstag verfielen, also die Zero-Days-to-Expiry-Gruppe, kamen auf 33.1% gegenüber 29% am Dienstag. Dieses Muster wurde durch den Zeitpunkt des Verfalls bestimmt. Der meistgehandelte SPY-Kontrakt war der 735 P mit 0.36 Millionen Kontrakten. Sein Ausübungspreis lag 5.49 Dollar vom regulären SPY-Schlusskurs bei $729.51 entfernt, berechnet als Ausübungspreis minus Schlusskurs.
Das Quote-Tape
Die Quote-Daten sind der knappste Datensatz dieses Desks und werden in jeder Sitzung gemessen. Auch gewöhnliche Handelstage werden erfasst.
Das exakte SQL hinter jeder Zahl
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'Das Aktien-Quote-Tape verzeichnete 722.65 Millionen NBBO-Aktualisierungen gegenüber 536.07 Millionen am Dienstag. Das entspricht einer Veränderung zum Vortag von 34.8%. SPY kam auf 7.32 Millionen Aktualisierungen, QQQ auf 8.72 Millionen und NVDA auf 4.41 Millionen.
Das exakte SQL hinter jeder Zahl
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 tickerDer mediane quotierte Spread von SPY während der regulären Handelszeiten entsprach 0.27 Basispunkten des Midpoints. Bei QQQ waren es 0.75 und bei NVDA 1.55. Die letzten beiden Spalten dienen der Offenlegung: Einseitige und gekreuzte Quotes werden je Wertpapier gezählt und vom Median getrennt ausgewiesen, statt stillschweigend verworfen zu werden. Ein gekreuzter Quote, bei dem der Geldkurs über dem Briefkurs liegt, ist ein gewöhnliches Artefakt eines konsolidierten Feeds, der Daten vieler Handelsplätze mit Nanosekundenauflösung zusammenführt.
Das exakte SQL hinter jeder Zahl
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
)Verglichen mit jeder Juli-Sitzung nach identischer Methodik lag der mediane Spread von SPY an diesem Tag bei 0.27 Basispunkten. Das entsprach 20 von 20, gezählt vom engsten Spread aus, in einem am 2026-07-01 beginnenden Zeitraum. Bei einem ruhigen Tape liegt genau darin die Aussagekraft des Panels: Ein gewöhnlicher Liquiditätstag ist ein veröffentlichtes und klar abgegrenztes Ergebnis.
Das exakte SQL hinter jeder Zahl
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_mDas Options-NBBO-Tape verzeichnete 13.55 Milliarden Aktualisierungen. Das waren 18.8-mal so viele wie beim Aktien-Quote-Tape. Allein der SPY-Root kam während der regulären Handelszeiten auf 600 Millionen Aktualisierungen.
Zinssätze
Das exakte SQL hinter jeder Zahl
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 dateDie Datei des US-Finanzministeriums liegt etwa eine Handelssitzung hinter dem Marktgeschehen zurück. Dieses Panel zeigt daher die dort gespeicherten Transaktionen: 4 datierte Zeilen im Zeitfenster. Der jüngste Eintrag vom 2026-07-29 setzte die Rendite zweijähriger US-Staatsanleihen auf 4.22%, die Rendite zehnjähriger auf 4.67% und die Rendite dreißigjähriger auf 5.2%. Der Spread zwischen zwei- und zehnjährigen Laufzeiten betrug 45 Basispunkte.
Der Kalender hinter dem Handelstag
Das exakte SQL hinter jeder Zahl
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 Dividenden wurden am 29. Juli ex-Dividende gehandelt, 2 Reverse Splits und 1 Aktiensplits vollzogen, und 1 neue Listings kamen auf den Markt. Der Newsfeed enthielt 190 Artikel von 2 Publikationen. Dabei war NVDA mit 13 Artikeln der am häufigsten behandelte Ticker in diesem Zeitfenster des Feeds. Der tägliche EDGAR-Index enthält für dieses Datum 5742 Einreichungen von 3064 verschiedenen Einreichern: 712 Insiderberichte nach Formular 4, 440 aktuelle 8-K-Berichte, 884 Preisnachträge nach Formular 424B2 und 174 Quartalsberichte nach Formular 10-Q. Dieser Index wird nach einem eigenen Zeitplan veröffentlicht. Diese Übersicht zeigt den Bestand zum Zeitpunkt der Erstellung.
Als Nächstes
Für den Rest der Woche lesen Sie dieselben Tabellen und blicken dabei bewusst über den Zeitraum hinaus.
Das exakte SQL hinter jeder Zahl
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'Die Feiertagstabelle weist für Donnerstag, den 30. Juli, und Freitag, den 31. Juli, insgesamt 0 Schließungen aus. Bei 611 Dividendenstichtagen fällt der Ex-Dividenden-Termin auf eine dieser beiden Sitzungen. 0 davon entfallen auf die zehn geprüften bekannten Haushaltsnamen. Außerdem sollen 12 Aktiensplits ausgeführt werden. Von Wednesdays Optionsvolumen entfielen bereits 19.7% auf Kontrakte mit Verfall am Freitag, dem 31. Juli. Die jüngste vorliegende Abrechnung zum Short Interest ist 2026-07-15. Diese Datei wird mit einer so langen Verzögerung veröffentlicht, dass sie eine eigene Erläuterung hat.
Die Handelssitzung, überprüft
Das exakte SQL hinter jeder Zahl
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'Eine vollständige reguläre Handelssitzung: der erste SPY-Balken um 04:00 ET, der letzte um 19:59 ET, 390 Balken während der regulären Handelszeiten, 1 Sitzung im Zeitfenster und 0 Feiertagszeilen für das Datum. Die nächste planmäßige Schließung ist Labor Day am 2026-09-07.
FAQ
Wie entwickelte sich der Aktienmarkt am Mittwoch, dem 29. Juli 2026?
SPY veränderte sich von Schlusskurs zu Schlusskurs um -1.52% auf $729.51. QQQ lag bei -2.07%, DIA bei -2.19% und IWM bei -1.63%. Unter den liquiden Titeln stieg 1652, während 4342 fiel.
Welcher Sektor lag am 29. Juli 2026 an der Spitze?
Energy mit 1.89%, gemessen über die elf SPDR-Select-Sektor-Fonds. Der schwächste der elf Fonds, Industrials, verzeichnete -3.21%.
Wie aktiv war der Optionsmarkt am 29. Juli 2026?
Es wurden 66.84 Millionen Kontrakte gehandelt, gegenüber 59.28 Millionen in der vorherigen Sitzung. Kontrakte mit Verfall am selben Tag machten 33.1% des Volumens aus, und Calls machten 53.6% aus.
Welche Aktie verzeichnete am 29. Juli 2026 den höchsten Dollar-Umsatz?
MU mit einem Dollar-Volumen von 44.99 Milliarden während der regulären Handelszeiten, vor SPY mit 42.29 Milliarden.
Datenhinweise
Diese Ausgabe setzt die tägliche Reihe fort. Die vorherige Tagesausgabe ist 10. Juli 2026, und die Wochenzusammenfassung behandelt die vorangegangene Woche. Die benannten Ticker-Panels sind alphabetisch geordnet, damit sich Textverweise auf feste Zeilen beziehen. Ranglisten und Mover-Boards sind nach Wert geordnet. Jede darin enthaltene Positionsangabe ist als Plausibilitätsgrenze kodiert. Der Mega-Cap-Korb und der Sektorkorb aus elf Fonds sind festgelegte Mengen und keine Klassifizierungen eines Datenanbieters. Für die Mover-Boards gilt ein Umsatzgrenzwert von fünf Millionen Dollar während der regulären Handelszeiten. Werte, bei denen der Split zwischen den beiden gemessenen Schlusskursen ausgeführt wurde, werden ausgeschlossen. Außerdem wird unter der hausinternen Ambiguitätsregel ein wiederverwendetes Symbol ausgeschlossen. Dadurch verweist jede Hervorhebung auf einen überprüfbaren Wert. Die Quote-Panels zählen je Wert einseitige und gekreuzte Quotes, statt sie stillschweigend zu entfernen. Die Datei des US-Finanzministeriums und der tägliche EDGAR-Index werden nach eigenen Zeitplänen veröffentlicht. Daher weisen diese Panels die jeweils enthaltenen Daten aus, ohne deren Eingang vorauszusetzen. Ein Index für implizite Volatilität ist hier nicht enthalten. Diese Reihen sind für dieses Datenlager nicht lizenziert. Die Volatilität wird daher anhand der Kursspannen, des Optionsanteils am selben Tag und des Quote-Verhaltens aus dem Tape abgeleitet.
Methodik
- Quelle der Marktdaten: konsolidierter Ticker.
delayed_stocks_minute_aggsfür Kurse und Volumina,options_tradesfür den Options-Ticker,cache_stocks_quotesundcache_options_quotesfür die NBBO-Panels. - Schlusskurs: der letzte Minutenbalken der regulären Sitzung, niemals ein angenommener Print um 16:00 Uhr und niemals ein Print aus dem erweiterten Handel.
- Zeitzonenverarbeitung: Alle gespeicherten Zeitstempel sind UTC. WHERE-Klauseln verwenden unveränderte UTC-Literale, und
toTimeZoneerscheint nur in SELECT-Listen für ET-Kennzeichnungen. - Sitzungsprüfung: anhand der Feiertagstabelle und der beobachteten Balken, niemals auf Grundlage des Kalenders angenommen.
- Vergleiche mit der vorherigen Sitzung: innerhalb der Abfrage aus dem 28. Juli berechnet, niemals aus einem früheren Beitrag übernommen.
- Dezimalstellen: Kurs-, Size- und Volumenspalten werden vor jeder Division und jedem Produkt in Float64 umgewandelt.
- Deterministische Aggregationen: durchgehend exakte Quantile und Tie-Breaks anhand von Tupel-Schlüsseln; jede Rangfolge- oder Vorzeichenaussage im Text ist als Plausibilitätsgrenze kodiert.
- As-of-Datum des Data Warehouse: 1. August 2026, drei Tage nach der Sitzung und damit nach der üblichen ein- bis zweitägigen Verzögerung bei der Datenübernahme des Tickers; die oben genannten begrenzten Belege halten den Beitrag verfügbar, falls bei der Erstellung ein Datensatz fehlt.
Querverweise: die vorherige Tageszusammenfassung, die Wochenzusammenfassung, wann Optionen verfallen, was ein Bid-Ask-Spread ist und der Spread zwischen zwei- und zehnjährigen Laufzeiten.
Jede Abfrage oben läuft unverändert auf dem Strasmore-Terminal, wenn Sie ein Zeitfenster auf eine andere Sitzung umstellen möchten.