Die letzte Juniwoche bestand aus vier Handelstagen: Der Markt handelte von Montag, dem 29. Juni, bis Donnerstag, dem 2. Juli, und schloss am Freitag, dem 3. Juli, aufgrund des Independence Day. Da der 4. Juli auf einen Samstag fiel, wurde der Feiertag am vorangehenden Freitag beobachtet. Die Ergebnisse für diesen Marktschluss sowie für alle anderen hier aufgeführten Daten finden Sie in den Panels. Die auffälligste Kennzahl der Woche findet sich in der Volumentabelle: Ein Speicherchip-Hersteller verzeichnete in vier Tagen ein Handelsvolumen von $190.2 billion — das ist das anderthalbfache des Volumens von SPY. Jede Zahl auf dieser Seite ist das Ergebnis einer gespeicherten Abfrage; erweitern Sie jedes Panel, um das exakte SQL zu sehen.
Die Woche im Überblick
Hat der Markt den Rückgang der Vorwoche aufgeholt oder hat er sich fortgesetzt? Die Auswertung zeigt eine Erholung: Diese Übersicht berechnet die Wochenveränderung jedes Index-ETF und zum Vergleich die Vorwoche – beide Werte stammen aus derselben Abfrage.
Das exakte SQL hinter jeder Zahl
SELECT ticker,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS prior_friday_close,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS week_close,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
/ argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS week_change_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
/ argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-18') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS prior_week_change_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= toDateTime('2026-06-15 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
GROUP BY ticker
ORDER BY tickerDer SPY schloss die Woche bei $744.8, was einem Anstieg von 2.2% gegenüber dem vorangegangenen Freitag entspricht – nach einer -2.3%-Woche zuvor. Der QQQ stieg um 1% nach einer -4.6%-Woche, der DIA gewann 2% hinzu und der IWM schloss bei 297.53 – ein Zuwachs von 0% in dieser Woche, während die Large-Cap-Indizes stiegen.
Die Woche im Vergleich zum Vorjahr
Das exakte SQL hinter jeder Zahl
SELECT round(anyIf(ret, wk = toDate('2026-06-29')), 2) AS week_2026_pct,
arrayCount(x -> x > anyIf(ret, wk = toDate('2026-06-29')), groupArrayIf(ret, wk != toDate('2026-06-29'))) + 1 AS rank_best,
count() AS weeks_compared,
toString(min(wk)) AS first_week,
anyIf(sessions, wk = toDate('2026-06-29')) AS sessions_this_week
FROM (
SELECT toStartOfWeek(toDate(toTimeZone(window_start, 'America/New_York')), 1) AS wk,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
(argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS ret
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2025-06-29 00:00:00')
AND window_start < toDateTime('2026-07-03 00:00:00')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY wk
HAVING sessions >= 3
)Die Messung der Differenz zwischen Eröffnung und Schlusskurs innerhalb der Woche – von der ersten regulären Handelsstunde am Montag bis zum letzten Schlusskurs am Donnerstag – bietet eine leicht andere Perspektive als die oben genannte Wochenbilanz. Das Ergebnis zeigt: Die Woche des SPY liegt bei 14 der letzten 53 Wochen (Rang 1 = best). Damit liegt sie im Mittelfeld eines Jahres, das sowohl Verkäufe als auch Erholungen umfasste. Wochen mit weniger als drei Handelstagen werden durch eine Sicherheitsregel ausgeschlossen; diese Woche hatte 4. Der historische Kontext variiert je nach Zeitraum – die Zusammenfassungen für den Monat, das Quartal und das Halbjahr setzen die jeweiligen Perioden in Relation zu jedem Jahr der historischen Daten.
Vier Sitzungen, dann ein Feiertag
Eine fünf-tägige Handelswoche ist eine Annahme, keine Tatsache – diese Woche hatte vier Sitzungen. Die Auswertung der Schlusskurse basiert auf den Kursdaten: Am 3. Juli wurden keine SPY-Bars im Vergleich zu 1560 regulären Bars über die vier Handelstage hinweg registriert.
Das exakte SQL hinter jeder Zahl
SELECT
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-29 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')) AS sessions_in_week,
(SELECT countIf((toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-29 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')) AS regular_bars_week,
(SELECT count() FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-07-03 00:00:00') AND window_start < toDateTime('2026-07-04 00:00:00')) AS jul3_spy_barsDas exakte SQL hinter jeder Zahl
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS et_date,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS spy_close,
round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / any(prev) - 1) * 100, 1) AS change_pct,
round(toFloat64(sum(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
INNER JOIN (
SELECT d, lagInFrame(c) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-26 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
GROUP BY d
)
) AS p ON toDate(toTimeZone(window_start, 'America/New_York')) = p.d
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-29 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
GROUP BY et_date
ORDER BY et_dateAlle vier Sitzungen folgten dem regulären Zeitplan – die 1560 regulären Bars entsprechen exakt vier 390-minütigen Sitzungen. Die Woche schloss am 2026-07-02 nahezu unverändert (-0.1%) vor dem Feiertag – die Gewinne der Woche wurden in den ersten drei Sitzungen erzielt.
Marktdurchdringung: Wie viele Werte stiegen an
Ein steigender Index kann einen fallenden Markt verbergen. Diese Übersicht zählt jeden Ticker, dessen Schlusskurs sich im Vergleich zur Vorwoche verändert hat. Die ausgeschlossene Gruppe wird explizit ausgewiesen, anstatt sie stillschweigend zu entfernen.
Das exakte SQL hinter jeder Zahl
SELECT
countIf(chg > 0 AND NOT dropped) AS advancers,
countIf(chg < 0 AND NOT dropped) AS decliners,
countIf(chg = 0 AND NOT dropped) AS unchanged,
countIf(dropped) AS dropped_by_liquidity_filter,
count() AS tickers_with_both_closes
FROM (
SELECT ticker,
argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199)
- argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) AS chg,
sumIf(toFloat64(close) * toFloat64(volume), toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-29')) < 1e6 AS dropped
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-26 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
GROUP BY ticker
HAVING countIf(toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-26') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
AND countIf(toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-29') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
)5047 Ticker stiegen in der Woche, während 3525 fielen (39 unverändert) – der Aufwärtstrend war breit gefächert und nicht nur auf Indexebene. Der Liquiditätsfilter hat 3163 Ticker mit einem wöchentlichen Handelsvolumen von unter 1 Mio. $ ausgeklammert; diese werden hier aufgeführt und nicht versteckt.
Die Marktführer: eine Aktie über den ETFs
Das exakte SQL hinter jeder Zahl
SELECT ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 1) AS dollar_bn,
round(100 * sum(toFloat64(close) * toFloat64(volume)) / max(sum(toFloat64(close) * toFloat64(volume))) OVER (), 1) AS pct_of_leader
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= toDateTime('2026-06-29 00:00:00') AND window_start < toDateTime('2026-07-03 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY dollar_bn DESC
LIMIT 8MU führte den gesamten Markt mit einem Handelsvolumen von $190.2 Milliarden während der regulären Handelszeiten an — SPY, der größte ETF, erreichte 66.4% davon. Dass ein einzelnes Unternehmen eine ganze Woche lang mehr handelt als der Standard-Indexfonds des Marktes, ist die herausragende statistische Tatsache dieser Woche; diese Seite berichtet über die Höhe des Zuflusses, nicht über dessen Ursache. Basis: 29. Juni bis 2. Juli während der regulären Handelszeiten; eine wiederverwendete Juni-Notierung wurde bis zur Bestätigung der Einheit ausgeschlossen — die Details dazu finden Sie in diesem Deep-Dive.
Der Feiertag verschob die wöchentlichen Termine
Wohin verschiebt sich der wöchentliche Verfall am Freitag, wenn der Freitag ein Feiertag ist? Der Optionsmarkt gibt die Antwort direkt vor: Dieses Panel extrahiert das Verfallsdatum aus jedem während der Woche gehandelten Kontrakt und sortiert sie.
Das exakte SQL hinter jeder Zahl
SELECT concat('20', substring(expiry_raw, 1, 2), '-', substring(expiry_raw, 3, 2), '-', substring(expiry_raw, 5, 2)) AS expiry,
round(sum(size) / 1e6, 1) AS contracts_m,
round(100 * sum(size) / max(sum(size)) OVER (), 1) AS pct_of_biggest
FROM (
SELECT substring(ticker, length(ticker) - 14, 6) AS expiry_raw, size
FROM global_markets.options_trades
WHERE sip_timestamp >= toDateTime64('2026-06-29 00:00:00', 9) AND sip_timestamp < toDateTime64('2026-07-03 00:00:00', 9)
)
GROUP BY expiry
ORDER BY contracts_m DESC
LIMIT 6Der geschäftigste Verfall der Woche war 2026-07-02 — ein Donnerstag — mit 74.1 Millionen Kontrakten, was 42.2% vor dem nächsten Datum liegt. Da der 3. Juli geschlossen war, verschob sich der "Freitags"-Verfall der Woche auf den Donnerstag; die täglichen Verfälle von Montag bis Mittwoch sowie der monatliche Verfall am 17. Juli ergänzen die Tabelle. Die Verfallsdaten werden aus dem OCC-Symbol jedes Kontrakts extrahiert (die eigene Spalte für das Verfallsdatum des Tickers ist unzuverlässig); die Mechanismen von Verfallswochen wie dieser finden Sie in der Erklärung zu Feiertagen.
Zinsen: 10-jährige Rendite steigt an
Das exakte SQL hinter jeder Zahl
SELECT toString(date) AS d,
round(yield_10_year, 2) AS y10,
round(yield_2_year, 2) AS y2,
round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-06-26') AND date <= toDate('2026-07-02')
ORDER BY dateDie 10-jährige Rendite stieg von 4.38% am vorangegangenen Freitag auf 4.48% bis 2026-07-01 an. Der 2s10s spread blieb bei etwa 31 Basispunkten. Ein Hinweis: Die Rendite für den 2. Juli wurde zum Zeitpunkt der Erstellung dieser Seite noch nicht verarbeitet (4 Zeilen bis zum 1. Juli) — das Panel wird diese Daten bei der nächsten Aktualisierung enthalten.
Der Kalender: Ein Quartalsende, ein fehlender Einreichungstag
Das exakte SQL hinter jeder Zahl
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-29') AND ex_dividend_date <= toDate('2026-07-02')) AS ex_div_events,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-06-29') AND execution_date <= toDate('2026-07-02')) AS splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-29') AND listing_date <= toDate('2026-07-02')) AS ipos,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-29')) AS filings_jun29,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-07-01')) AS filings_jul1,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-07-02')) AS filings_jul2,
(SELECT count() FROM global_markets.stocks_news WHERE published_utc >= toDateTime('2026-06-29 00:00:00') AND published_utc < toDateTime('2026-07-03 00:00:00')) AS news_articlesDie Woche enthielt 2217 Ex-Dividenden-Ereignisse, 48 Splits und 7 Neuemissionen zum Quartalswechsel. Die Spalten für die Einreichungen zeigen einen Fehler in der Datenqualität der Woche: Der SEC-Einreichungsindex verzeichnet 4439 Einreichungen am 29. Juni und 4282 am 1. Juli, aber nur 31 am 30. Juni – dem letzten Tag des Quartals. Quartalsendtage im Vorjahr verzeichneten Tausende von Einreichungen. Die Lücke liegt im Datenfeed, nicht bei den tatsächlichen Einreichungen der Unternehmen; jede Zählung der Einreichungen für Juni oder das zweite Quartal, die den 30. Juni einschließt, ist unterbewertet, bis der Index die Daten nachpflegt. Dies ist Teil eines Musters für Monatsenden im Jahr 2026 – [[the-quarter-end-that-didnt-file|die Diagnose] ] enthält die Belege – wie hier und in den Rückblicken für Juni und Q2 veröffentlicht.
Die Leerverkäufe: eine unvollständige Datei, drei vollständige
Das exakte SQL hinter jeder Zahl
SELECT toString(date) AS d,
uniqExact(ticker) AS tickers_on_file,
max(ticker) AS alphabetical_end,
round(100 * sum(toFloat64(short_volume)) / sum(toFloat64(total_volume)), 1) AS marked_short_pct
FROM (
SELECT date, ticker, any(short_volume) AS short_volume, any(total_volume) AS total_volume
FROM global_markets.stocks_short_volume
WHERE date >= toDate('2026-06-29') AND date <= toDate('2026-07-02')
GROUP BY date, ticker
)
GROUP BY date
ORDER BY dateDas Volumen außerhalb der Börse war Mitte der Woche mit etwa 48.8% gering ausgeprägt — es handelt sich um routinemäßige Market-Maker-Abwicklung und nicht um ein Signal für einen Short Squeeze. Die Spalten zur Deckung enthalten den Hinweis: Die Datei vom 29. Juni ist marktweit unvollständig (5489 Ticker enden bei „SSUS“, während an vollständigen Tagen etwa 15.000 Ticker bei „ZYME“ enden), daher wird der 45.8% vom 29. Juni aus einer teilweisen Datei berechnet. Die Tiefenanalyse vom 29. Juni enthält die vollständige marktweite Untersuchung.
Datenhinweise
Vollständige Datenhinweise
- Der 3. Juli war ein vollständiger Börsenschluss, kein früher Schluss. Da der 4. Juli 2026 auf einen Samstag fiel, beobachteten NYSE und Nasdaq den Feiertag am Freitag, den 3. Juli — an diesem Tag wurden 0 SPY-Bars generiert. Ein Hinweis zum Datensatz wurde bei der Neugenerierung dieser Seite entdeckt: Die Tabelle mit dem Börsenkalender ist ein rollierender Feed für kommende Feiertage. Der Eintrag für den 3. Juli wurde nach dem Feiertag entfernt (er war in der ersten Version dieser Seite enthalten). Daher ist der Schlussbericht der Tag mit der Null-Bar; die Details dazu finden Sie in der Erläuterung zu Feiertagen.
- Die Short-Interest-Daten enden mit dem Settlement am 15. Juni. Das zweimonatliche Settlement Ende Juni war zum Zeitpunkt der Erstellung dieser Seite noch nicht veröffentlicht; es wird hier nicht verwendet, und der Juni-Rückblick enthält die vollständige Offenlegung. Dieser Beitrag wird neu generiert, sobald die Daten vorliegen.
- Die Lücke beim Filing-Index vom 30. Juni wird oben im Text angegeben; die Treasury-Daten vom 2. Juli stehen noch zur Aufnahme aus.
- Die FINRA Short-Volume-Datei vom 29. Juni ist marktweit gekürzt; das Verhältnis wird zusammen mit der Abdeckung angezeigt.
- Ausschluss von Volumen-Führern: Ein Juni-Listing wird unter einem wiederverwendeten Symbol gehandelt und ist vom Leaderboard ausgeschlossen, bis die Identität der Einheit verifiziert ist (der entsprechende Beitrag enthält die Belege).
Methodik
- Der Zeitraum umfasst den 29. Juni bis zum 2. Juli 2026 – die vier Handelssitzungen der Woche; der 3. Juli war ein Börsenfeiertag. Die Grenzen der Sitzungen werden anhand beobachteter Bars verifiziert und nicht angenommen (der Börsenkalender-Datensatz enthält nur anstehende Feiertage – siehe Datenhinweis).
- Zeitstempel werden in UTC gespeichert und mit rohen UTC-Grenzwerten gefiltert; die regulären Handelszeiten in dieser (EDT) Woche sind 13:30–20:00 UTC. Die Schlusskurse entsprechen dem letzten Minuten-Bar der regulären Handelszeit; das Dollar-Volumen ergibt sich aus dem Produkt von Schlusskurs und Volumen pro Minute, summiert über die regulären Handelszeiten.
- Wochenvergleiche beziehen sich auf den Schlusskurs des vorangegangenen Freitags, der in derselben Abfrage wie die aktuelle Woche neu berechnet wird – es werden keine gespeicherten Werte verwendet. Das Ranking des vergangenen Jahres wird jede Woche identisch neu berechnet (reguläre Handelszeiten nach Eastern-Wall-Clock, Minimum-Session-Schutz, obere Grenze fixiert am Ende dieser Woche).
- Die Erstellung erfolgt über den gesperrten Read-only-Pfad; die öffentliche Seite führt niemals Live-Abfragen aus. Datenbestand zum 5. Juli 2026.
Dies ist die erste Ausgabe der wöchentlichen Zusammenfassung – die Ausgabe der nächsten Woche deckt den Zeitraum vom 6. bis 10. Juli ab und verweist hierauf zurück. Der Tagesrückblick vom 29. Juni behandelt den Montag im Detail auf Tagesbasis.