Das zweite Quartal 2026 war das Erholungsquartal: Nach einem negativen ersten Quartal legten alle großen Index-ETFs zweistellig zu. Angeführt wurde die Entwicklung vom QQQ mit 26.5%. Die folgenden Bereiche zeigen den Quartalsverlauf, die monatliche Entwicklung, das Zinsumfeld, den Kalender sowie die beiden Datenvorbehalte, die direkt im Text offengelegt werden. Jede Zahl stammt aus einer gespeicherten Abfrage. Erweitern Sie einen Bereich, um die genaue SQL-Abfrage anzuzeigen.
Das Quartal im Überblick
Wie groß war die Veränderung gegenüber Q1? Dieses Panel berechnet die Renditen beider Quartale in einer Abfrage. Der Q1-Referenzwert wird anhand derselben Definitionen live neu berechnet und nicht aus einer anderen Quelle übernommen.
| ticker | Q2-Rendite (%) | Q1-Rendite (%) | Q2-Schlusskurs |
|---|---|---|---|
| DIA | 12.1 | -3.9 | 522.28 |
| IWM | 20.2 | 0.1 | 300.42 |
| QQQ | 26.5 | -6.9 | 735.76 |
| SPY | 14.1 | -5.2 | 746.32 |
Das exakte SQL hinter jeder Zahl
SELECT ticker,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-04-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q2_return_pct,
round((argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-03-31') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959)
/ argMinIf(toFloat64(open), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-01') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959) - 1) * 100, 1) AS q1_return_pct,
round(argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30') AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959), 2) AS q2_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
AND window_start >= toDateTime('2026-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY tickerQQQ stieg im Quartal um 26.5%, nachdem der Wert in Q1 um -6.9% gefallen war. SPY legte um 14.1% zu, nachdem der Wert zuvor -5.2% verloren hatte. IWM stieg um 20.2%. Jeder Index, der im ersten Quartal gefallen war, machte den Rückgang im zweiten Quartal mehr als wett. Die vier Indizes erzählen dabei drei unterschiedliche Geschichten: Der Wachstumsindex verzeichnete in Q1 den stärksten Rückgang und anschließend die größte Erholung. DIA, der preisgewichtete Industrieindex, drehte von -3.9% auf 12.1%. IWM fiel dagegen überhaupt nicht nennenswert (0.1% in Q1). Sein 20.2%-Quartal baute daher auf einem unveränderten Ausgangsniveau auf, statt einen Rückgang auszugleichen. Erholung und Momentum sehen in einer Quartalsrenditespalte identisch aus. Die Q1-Spalte zeigt, worin sie sich unterscheiden.
Das Quartal im Vergleich zu jedem zweiten Quartal im Kursverlauf
Erholungsquartale wirken aus ihrer Mitte heraus historisch. Der Kursverlauf zeigt, ob dieses Quartal tatsächlich in diese Kategorie fällt. Die Auswertungen berechnen in einer einzigen Abfrage für jedes Jahr der Minutenhistorie dieselbe April-bis-Juni-Rendite. Die Berechnung ist in jedem Jahr identisch. Anschließend wird dieses Quartal mit den übrigen Quartalen verglichen.
| Jahr | ticker | Handelssitzungen | Q2-Rendite (%) |
|---|---|---|---|
| 2004 | QQQ | 62 | 5.3 |
| 2004 | SPY | 62 | 1.2 |
| 2005 | SPY | 64 | 0.4 |
| 2006 | SPY | 63 | -2.4 |
| 2007 | SPY | 63 | 5.5 |
| 2008 | SPY | 64 | -4.3 |
| 2009 | SPY | 63 | 17.2 |
| 2010 | SPY | 63 | -12.5 |
| 2011 | QQQ | 63 | -1.2 |
| 2011 | SPY | 63 | -1.1 |
| 2012 | QQQ | 63 | -4.9 |
| 2012 | SPY | 63 | -3.1 |
| 2013 | QQQ | 64 | 3.2 |
| 2013 | SPY | 64 | 2.3 |
| 2014 | QQQ | 63 | 6.6 |
| 2014 | SPY | 63 | 4.3 |
| 2015 | QQQ | 63 | 1.4 |
| 2015 | SPY | 63 | -0.2 |
| 2016 | QQQ | 64 | -0.9 |
| 2016 | SPY | 64 | 2.5 |
Das exakte SQL hinter jeder Zahl
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
ticker,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions,
round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 1) AS q2_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2003-01-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND toMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 4 AND 6
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 50
ORDER BY y ASC, ticker ASC| ticker | Q2 2026 (%) | Rang, beste | Verglichene Q2 | Erstes Jahr | Handelssitzungen 2026 |
|---|---|---|---|---|---|
| QQQ | 26.5 | 2 | 17 | 2004 | 62 |
| SPY | 14.1 | 3 | 23 | 2004 | 62 |
Das exakte SQL hinter jeder Zahl
SELECT ticker,
round(anyIf(ret, y = 2026), 1) AS q2_2026_pct,
arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
count() AS q2s_compared,
min(y) AS first_year,
anyIf(sessions, y = 2026) AS sessions_2026
FROM (
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
ticker,
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 IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2003-01-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND toMonth(toTimeZone(window_start, 'America/New_York')) BETWEEN 4 AND 6
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y, ticker
HAVING sessions >= 50
)
GROUP BY ticker
ORDER BY ticker ASCDas Ergebnis fällt nahezu historisch aus: QQQs 26.5% liegt auf 2 von 17 vergleichbaren zweiten Quartalen (Rang 1 = bestes Ergebnis). Genau ein früheres zweites Quartal schloss höher. Die Tabelle nach Jahren oben zeigt, welches. SPYs 14.1% liegt seit 2004 auf 3 von 23. Zwei Hinweise sind wichtig: Die Zeitreihe von QQQ ist kürzer, weil der Fonds über mehrere Jahre unter einem anderen Root-Ticker gehandelt wurde. Eine sichtbare Prüfung der Sitzungsanzahl schließt diese Jahre aus; die Anzahl je Jahr steht in der Tabelle. Außerdem setzt jede historische Abfrage ihre Obergrenze auf das Ende dieses Quartals. Dadurch kann die Vergleichsgruppe nicht unbemerkt wachsen, wenn spätere Jahre hinzukommen. Grundlage für jeden Rang auf dieser Seite: Eröffnung bis Schlusskurs während der regulären Handelszeiten innerhalb des Kalenderquartals.
Die monatliche Treppe
| Periodenbeginn | ticker | Monatsrendite (%) | Monatsschlusskurs |
|---|---|---|---|
| 2026-04-01 | QQQ | 14.8 | 667.6 |
| 2026-04-01 | SPY | 9.9 | 718.43 |
| 2026-05-01 | QQQ | 10.3 | 738.25 |
| 2026-05-01 | SPY | 4.9 | 756.4 |
| 2026-06-01 | QQQ | -0.2 | 735.76 |
| 2026-06-01 | SPY | -1.2 | 746.32 |
Das exakte SQL hinter jeder Zahl
SELECT toString(toStartOfMonth(toDate(toTimeZone(window_start, 'America/New_York')))) AS period_start, ticker,
round((argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) - 1) * 100, 1) AS month_return_pct,
round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ')
AND window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, tickerDas Quartal war frontlastig: Im April kam der größte Beitrag (SPY 9.9%, QQQ 14.8%), im Mai folgte ein weiterer Zuwachs (4.9% und 10.3%), während der Juni einen Teil davon wieder abgab: SPY -1.2%. Die Juni-Zusammenfassung behandelt den Monat ausführlich, einschließlich der darunter dargestellten Aufschlüsselung nach Marktbreite.
Die umsatzstärksten Titel im Quartal
| ticker | Mrd. $ | % des Spitzenwerts |
|---|---|---|
| MU | 2047.5 | 100 |
| SPY | 2032 | 99.2 |
| QQQ | 1658.5 | 81 |
| NVDA | 1591.8 | 77.7 |
| TSLA | 1198.8 | 58.5 |
| SNDK | 980 | 47.9 |
| AMD | 755.2 | 36.9 |
| INTC | 712.3 | 34.8 |
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-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 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 8Im gesamten Quartal lag MU mit 2047.5 Mrd. $ knapp vor SPY mit 2032 Mrd. $. Damit übertraf eine einzelne Aktie über drei Monate den Handel im wichtigsten Indexfonds. Ihr Vorsprung entsprach 99.2% des Gesamtumsatzes des Spitzenreiters. Dahinter folgten QQQ mit 1658.5 Mrd. $, NVDA mit 1591.8 Mrd. $ sowie TSLA mit 1198.8 Mrd. $. Der Juni von NVDA wird hier Tick für Tick analysiert. Die Liste zeigt den Umsatz während der regulären Handelszeiten, nicht die Wertentwicklung. Ein Titel kann den Handel auch in einem schwachen Monat dominieren. Der Juni des Spitzenreiters wird in der Detailanalyse Tick für Tick untersucht. Grundlage: 1. April bis 30. Juni, reguläre Handelszeiten; eine Juni-Aufstellung mit wiederverwendetem Ticker wurde bis zur Überprüfung der Rechtsträgerschaft ausgeschlossen (die Belege).
Breadth: the day grain
| Sitzungen mit Kursplus | Sitzungen mit Kursminus | Unveränderte Sitzungen | Handelssitzungen gesamt |
|---|---|---|---|
| 36 | 26 | 0 | 62 |
Das exakte SQL hinter jeder Zahl
SELECT countIf(day_ret > 0) AS up_sessions,
countIf(day_ret < 0) AS down_sessions,
countIf(day_ret = 0) AS flat_sessions,
count() AS sessions_total
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
round((argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100, 2) AS day_ret
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-04-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)36 of the quarter's 62 sessions closed SPY higher against 26 lower, up-day dominance that matches a double-digit quarter. The ticker-grain count (every advancer and decliner) is bounded at quarter scale: the single whole-market scan exceeds the query budget this page generates under (measured at authoring), so the equal-count breadth lives at month scale, June's advancer/decliner split, where more fell than rose, is in the June recap, and the bound is disclosed here rather than silently narrowed.
Der Options-Tape, Monat für Monat
Die Microstructure-Entwicklung des Quartals zeigt sich nur auf der passenden Zeitskala: Monat für Monat über den gesamten börsennotierten Options-Tape. Das Volumen stieg zum Quartalsende. Im April waren es 1386.9 Millionen Kontrakte, im Juni 1477.9 Millionen. Damit war der Juni der volumenstärkste Monat des Quartals. Der Anteil der am selben Tag auslaufenden Optionen (0DTE) nahm ebenfalls zu, von 30.3% auf 34.3%. Der Juni-Anteil ist der höchste im ersten Halbjahr. Die Entwicklung seit Januar finden Sie im Rückblick auf das erste Halbjahr.
| Kontrakte (Mio.) | Zero-DTE (%) | Handelssitzungen |
|---|---|---|
| 1386.9 | 30.3 | 21 |
Das exakte SQL hinter jeder Zahl
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-04-01 00:00:00')
AND window_start < toDateTime('2026-05-01 00:00:00')| Kontrakte (Mio.) | Zero-DTE (%) | Handelssitzungen |
|---|---|---|
| 1394.6 | 30.3 | 20 |
Das exakte SQL hinter jeder Zahl
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-05-01 00:00:00')
AND window_start < toDateTime('2026-06-01 00:00:00')| Kontrakte (Mio.) | Zero-DTE (%) | Handelssitzungen |
|---|---|---|
| 1477.9 | 34.3 | 21 |
Das exakte SQL hinter jeder Zahl
SELECT round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm,
round(100.0 * sumIf(toFloat64(volume), toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6))) = toDate(toTimeZone(window_start, 'America/New_York'))) / sum(toFloat64(volume)), 1) AS zero_dte_pct,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS sessions
FROM global_markets.options_minute_aggs
WHERE window_start >= toDateTime('2026-06-01 00:00:00')
AND window_start < toDateTime('2026-07-01 00:00:00')Die Handelskosten, monatlich erfasst
| Handelssitzung | Median-Spread (Bp.) | Kursaktualisierungen (Mio.) | Verworfene ungültige Werte |
|---|---|---|---|
| 2026-04-15 | 0.286 | 2.12 | 1047 |
| 2026-05-13 | 0.27 | 2.64 | 661 |
| 2026-06-10 | 0.409 | 7.48 | 12382 |
Das exakte SQL hinter jeder Zahl
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS session,
round(quantileDeterministicIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, toUInt64(toUnixTimestamp64Micro(sip_timestamp)), bid_price > 0 AND ask_price >= bid_price), 3) AS med_spread_bps,
round(count() / 1e6, 2) AS quote_updates_m,
countIf(NOT (bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price)) AS invalid_dropped
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND ((sip_timestamp >= toDateTime64('2026-04-15 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-04-15 20:00:00', 9))
OR (sip_timestamp >= toDateTime64('2026-05-13 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-05-13 20:00:00', 9))
OR (sip_timestamp >= toDateTime64('2026-06-10 13:30:00', 9) AND sip_timestamp < toDateTime64('2026-06-10 20:00:00', 9)))
GROUP BY session
ORDER BY session ASCDer mediane quotierte spread von SPY in den monatlichen Stichprobensitzungen des Quartals: 0.286 Basispunkte in der April-Stichprobe, 0.27 im Mai und 0.409 im Juni. Die Juni-Stichprobe weist den breitesten spread auf. Grundlage: ausgewählte, einzeln gekennzeichnete Stichprobensitzungen (der zweite Mittwoch jedes Monats), nicht Monatsmediane; ungültige Quotes werden in der Auswertung berücksichtigt und nicht entfernt.
Zinsen: Das Quartal, in dem sich die Kurve abflachte
| Tag | 10-jährige Anleihe | 2s10s-Spread (Bp.) |
|---|---|---|
| 2026-04-01 | 4.33 | 52 |
| 2026-04-02 | 4.31 | 52 |
| 2026-04-03 | 4.35 | 51 |
| 2026-04-06 | 4.34 | 50 |
| 2026-04-07 | 4.33 | 52 |
| 2026-04-08 | 4.29 | 50 |
| 2026-04-09 | 4.29 | 51 |
| 2026-04-10 | 4.31 | 50 |
| 2026-04-13 | 4.3 | 52 |
| 2026-04-14 | 4.26 | 50 |
| 2026-04-15 | 4.29 | 53 |
| 2026-04-16 | 4.32 | 54 |
| 2026-04-17 | 4.26 | 55 |
| 2026-04-20 | 4.26 | 54 |
| 2026-04-21 | 4.3 | 52 |
| 2026-04-22 | 4.3 | 51 |
| 2026-04-23 | 4.34 | 51 |
| 2026-04-24 | 4.31 | 53 |
| 2026-04-27 | 4.35 | 57 |
| 2026-04-28 | 4.36 | 52 |
Das exakte SQL hinter jeder Zahl
SELECT toString(date) AS d,
round(yield_10_year, 2) AS y10,
round((yield_10_year - yield_2_year) * 100, 0) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= toDate('2026-04-01') AND date <= toDate('2026-06-30')
AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY dateDer 2s10s-Spread lag zu Quartalsbeginn bei 52 Basispunkten und am Ende bei 30. Damit war es ein Quartal mit einer Abflachung der Zinskurve; die Rendite der zehnjährigen Anleihe lag zum Schluss bei 4.44%. Die halbjährige Version dieser Entwicklung finden Sie im H1-Rückblick. Technisch bedeutet eine Abflachung, dass das kurze Ende den Abstand zum langen Ende verringerte. Ob sich diese Entwicklung fortsetzt, lässt sich aus dieser Tabelle nicht ableiten. Diese Seite versucht das auch nicht.
Der Kalender, Quartalsskala
| Ex-Dividenden-Ereignisse | Splits | IPOs | Q2-Meldungen | Meldungen bis 30. Apr. | Meldungen bis 30. Juni |
|---|---|---|---|---|---|
| 15402 | 435 | 105 | 235075 | 34 | 31 |
Das exakte SQL hinter jeder Zahl
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-04-01') AND ex_dividend_date <= toDate('2026-06-30')) AS ex_div_events,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-04-01') AND execution_date <= toDate('2026-06-30')) AS splits,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-04-01') AND listing_date <= toDate('2026-06-30')) AS ipos,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date >= toDate('2026-04-01') AND filing_date <= toDate('2026-06-30')) AS q2_filings,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-04-30')) AS filings_apr30,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30105 Unternehmen im Quartal gelistet, 435 ausgeführte Splits und 15402 ausgezahlte Ex-Dividenden-Ereignisse. Die Zahl der Meldungen (235075) weist die offengelegte Lücke auf: Der Index enthält am 30. Juni, dem letzten Tag des Quartals, nur 31 Meldungen und am 30. April 34, während es an den benachbarten Tagen Tausende sind. Daher unterschätzt die Quartalssumme TWO Monatsendtage und bleibt zu niedrig, bis der Datenfeed nachliefert. Die Lücke zum Monatsende hat einen eigenen Diagnosehinweis.
Der Kalender nimmt zum Quartalsende hin an Dynamik zu
| Monat | IPOs | Splits | Ex-Dividenden-Termine |
|---|---|---|---|
| 2026-04 | 30 | 129 | 3947 |
| 2026-05 | 40 | 142 | 4804 |
| 2026-06 | 35 | 164 | 6651 |
Das exakte SQL hinter jeder Zahl
SELECT m, ipos, splits, ex_divs FROM (
SELECT '2026-04' AS m,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-04-01') AND listing_date <= toDate('2026-04-30')) AS ipos,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-04-01') AND execution_date <= toDate('2026-04-30')) AS splits,
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-04-01') AND ex_dividend_date <= toDate('2026-04-30')) AS ex_divs, 1 AS o
UNION ALL SELECT '2026-05',
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-05-01') AND listing_date <= toDate('2026-05-31')),
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-05-01') AND execution_date <= toDate('2026-05-31')),
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-05-01') AND ex_dividend_date <= toDate('2026-05-31')), 2
UNION ALL SELECT '2026-06',
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-01') AND listing_date <= toDate('2026-06-30')),
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= toDate('2026-06-01') AND execution_date <= toDate('2026-06-30')),
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')), 3
) ORDER BY oDer Unternehmenskalendar verdichtete sich im Verlauf des Quartals: Die Zahl der Ex-Dividenden-Termine stieg jeden Monat von 3947 im April auf 6651 im Juni. Auch die Zahl der Aktiensplits nahm zu (von 129 auf 164). Die Zahl der Listings blieb in allen drei Monaten stabil. Das Bild einer Welle bezieht sich in diesem Quartal auf Dividenden, nicht auf IPOs.
Der Sitzungsbeleg
| Q2-Handelssitzungen | April-Sitzungen | Mai-Sitzungen | Juni-Sitzungen |
|---|---|---|---|
| 62 | 21 | 20 | 21 |
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-04-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS q2_sessions,
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-04-01 00:00:00') AND window_start < toDateTime('2026-05-01 00:00:00')) AS april_sessions,
(SELECT uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-05-01 00:00:00') AND window_start < toDateTime('2026-06-01 00:00:00')) AS may_sessions,
(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-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS june_sessions62 Sitzungen, verifiziert anhand beobachteter Kursbalken statt aus dem Kalender abgeleitet: 21 im April, 20 im Mai (Memorial Day), 21 im Juni (Juneteenth). Die Belege auf Monatsebene und die Nachweise für die Marktschließungen finden Sie in der Juni-Zusammenfassung und im Erläuterungstext zu den Feiertagen.
Datenhinweise
Vollständige Datenhinweise
- Die Short-Interest-Daten reichen zum Erstellungszeitpunkt bis zur Abrechnung am 15. Juni; der Monatsendsnapshot für Juni steht noch aus. Die Juni-Zusammenfassung enthält die vollständige Offenlegung. Dieser Beitrag wird aktualisiert, sobald die Daten vorliegen.
- Die Lücke im Einreichungsindex zum Monatsende wird im Text offengelegt: Der 30. Juni UND der 30. April fallen in dieses Quartal, und der 31. März zeigt dasselbe Muster. Bei jedem Monatsende im Jahr 2026, dessen letzter Kalendertag ein Wochentag war, sind die Daten nahezu leer. Der Diagnosehinweis enthält die Belege und die eingegrenzte Ursachenanalyse.
- Die Mikrostruktur (Abwicklung auf Tick-Ebene) fehlt hier bewusst. Die Analyse vom 29. Juni enthält eine vollständige Darstellung der Transaktionsstruktur einer Handelssitzung.
- Ausschluss des Volumenführers: Eine im Juni erneut verwendete Börsenkürzel-Notierung wurde bis zur Überprüfung der Rechtsträgerangaben ausgeschlossen.
Methodik
- Der Zeitraum reicht vom 1. April bis zum 30. Juni 2026 und umfasst 62 Sitzungen, ermittelt anhand der beobachteten Kursbalken. Die Quartalsrenditen werden innerhalb des Zeitraums vom ersten Eröffnungskurs der regulären Handelszeit bis zum letzten Schlusskurs der regulären Handelszeit berechnet. Der Vergleich mit Q1 wird live nach identischen Definitionen neu berechnet.
- Die Zeitstempel werden in UTC gespeichert und anhand roher UTC-Grenzen gefiltert. Während des (EDT-)Quartals gilt die reguläre Handelszeit von 13:30 bis 20:00 UTC. Das Dollar-Handelsvolumen entspricht während der regulären Handelszeit dem Schlusskurs der jeweiligen Minute multipliziert mit dem Minutenvolumen. Bei mehrjährigen Historien wird die reguläre Handelszeit anhand der Eastern-Ortszeit gefiltert, die für jede Zeile separat umgerechnet wird. Diese Konvention berücksichtigt die Sommerzeit über mehrere Jahrzehnte hinweg. Die obere Grenze liegt am Ende dieses Quartals. Die Prüfung der Datentiefe – Minutendaten bis September 2003 – ist in der Methodik des H1-Rückblicks beschrieben.
- Die Erstellung erfolgt über den abgeschotteten Nur-Lese-Pfad. Die öffentliche Seite fragt niemals Live-Daten ab. Der Stand des Data Warehouse ist der 5. Juli 2026.
Dies ist die erste Ausgabe des fortlaufenden Quartalsrückblicks. Die Ausgabe für Q3 wird hierher zurückverlinken. Monatsdetails: Juni. Die Hälfte dieses Quartals ist abgeschlossen: H1 2026.