Strasmore Research
Market Recap

Marktoverzicht juni 2026

Matt ConnorBy Matt Connor Updated 2026-07-24

Juni 2026 was een maand van divergentie: de large-cap indexes daalden terwijl small caps stegen. Onder het indexniveau daalden meer aandelen dan dat er stegen. SPY sloot op $746.32, met een verandering van -1.2% over de maand, terwijl IWM — de small-cap index — met 4.2% steeg. Een ander opvallend feit van de maand: één fabrikant van geheugenchips verhandelde $995.7 miljard in 21 sessies, meer dan SPY zelf. Elk getal hier is een resultaat van een query; open een paneel voor de exacte SQL.

De maand in vogelvlucht

QueryJuni 2026: open to close, range en regular-hours turnover voor de vier index ETF's
De exacte SQL achter elk getal
SELECT ticker,
    round(argMinIf(toFloat64(open), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_open,
    round(argMaxIf(toFloat64(close), window_start, (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_close,
    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(maxIf(toFloat64(high), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_high,
    round(minIf(toFloat64(low), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199), 2) AS month_low,
    round(sumIf(toFloat64(close) * toFloat64(volume), (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) / 1e9, 1) AS rth_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
  AND window_start >= toDateTime('2026-06-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY ticker
ORDER BY ticker

De cijfers zijn duidelijk: DIA 2.4% en IWM 4.2% stegen, terwijl SPY met -1.2% daalde en QQQ op -0.2% eindigde — de mega-cap growth index bleef nagenoeg gelijk of daalde in dezelfde maand waarin small caps vier procent wonnen.

Juni versus de voorgaande vijf maanden

Was de daling in juni ongebruikelijk? Het achterliggende paneel berekent in één query hetzelfde maandelijkse rendement voor elke maand van het halfjaar — de rijen voor juni worden op dezelfde wijze gegenereerd als die voor januari, live tijdens de generatie.

QueryMaandelijkse returns, januari t/m juni 2026, live her berekend (SPY en QQQ)
De exacte SQL achter elk getal
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-01-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY period_start, ticker
ORDER BY period_start, ticker

Volgens die maatstaf was juni gemiddeld: de -1.2% van SPY valt ruim binnen de range van het halfjaar — maart daalde met -4.4% en april steeg met 9.9%. Het karakter van de maand was rotatie, niet richting.

Juni vergeleken met elke andere juni op de tape

QueryElke juni op de tape: SPY, identiek per jaar her berekend (session counts weergegeven)
De exacte SQL achter elk getal
SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
       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 june_return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY')
  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')) = 6
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY y
HAVING sessions >= 17
ORDER BY y ASC
QueryDe rank receipt: deze juni t.o.v. alle voorgaande juni's (rank 1 = best; zelf uitgesloten)
De exacte SQL achter elk getal
SELECT round(anyIf(ret, y = 2026), 1) AS june_2026_pct,
       arrayCount(x -> x > anyIf(ret, y = 2026), groupArrayIf(ret, y != 2026)) + 1 AS rank_best,
       count() AS junes_compared,
       min(y) AS first_year,
       anyIf(sessions, y = 2026) AS sessions_2026
FROM (
    SELECT toYear(toTimeZone(window_start, 'America/New_York')) AS y,
           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')
      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')) = 6
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY y
    HAVING sessions >= 17
)

De -1.2% van SPY staat op plek 15 van de 23 juni-periodes sinds 2004 (rang 1 = beste) — middenveld, iets onder het gemiddelde. Een gewone juni, en gewone prestaties zijn een valide bevinding: de beweging van het indexniveau in deze maand valt niet op in vergelijking met twee decennia aan juni-maanden. Wat wel opviel, was de rotatie daaronder — het breadth-paneel hieronder. Basis: de beweging tijdens de reguliere handelsuren van opening tot sluiting binnen elke kalendermaand juni, met dezelfde rekenmethode elk jaar, waarbij de bovengrens is vastgesteld op de eindstand van deze maand, zodat de vergelijkingsset niet ongemerkt groeit.

Sessie per sessie

QuerySPY, alle 21 juni sessions: close en close-over-close verandering
De exacte SQL achter elk getal
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
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-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 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-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
GROUP BY et_date
ORDER BY et_date

De sterkste daling binnen één enkele sessie vond vroeg in de maand plaats — -2.6% op 2026-06-05 — en de grafiek laat het verloop van de maand zien: een neerwaartse trend tot medio juni, een bodem rond de $716.58, en een gedeeltelijk herstel tijdens de laatste sessies richting het einde van het kwartaal. Voor een gedetailleerd overzicht per sessie van de laatste week van dit herstel, zie de weekoverzicht.

Breedte: meer dalingen dan stijgingen

QueryAdvancers vs decliners voor juni (close vs laatste mei close), liquidity filter onthuld
De exacte SQL achter elk getal
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
FROM (
    SELECT ticker,
        argMaxIf(toFloat64(close), window_start, toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-06-01') 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-05-29') 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-01')) < 5e6 AS dropped
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= toDateTime('2026-05-29 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')
    GROUP BY ticker
    HAVING countIf(toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-05-29') 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-01') AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199) > 0
)

4608 tickers daalden deze maand ten opzichte van 4240 die stegen — een negatieve breadth in een maand waarin twee van de vier index ETF's winst boekten. Indexweging en equal-count breadth beantwoorden verschillende vragen; juni is een maand waarin deze twee methoden van elkaar verschilden. De liquiditeitsfilter heeft 2896 tickers met een handelsvolume onder de $5M in juni apart gehouden; deze zijn hier meegerekend in plaats van weggelaten. De dagelijkse trend komt overeen met de ticker-trend: 12 van de 21 sessies van de maand sloot SPY lager ten opzichte van 9 hoger.

QuerySPY sessions up vs down gedurende de maand, één goedkope receipt
De exacte SQL achter elk getal
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-06-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
)

De koplopers van de markt

QueryJuni regular-hours dollar volume, volledige tape (één hergebruikte symbool-listing uitgesloten wegens entiteitsverificatie)
De exacte SQL achter elk getal
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-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 8

MU leidde de gehele maand met $995.7 miljard — SPY volgde op de tweede plaats met 77.5% van dat bedrag. NVDA realiseerde $523 miljard in de vierde positie; de maand van dit aandeel heeft een eigen tick-by-tick analyse. Een thema rondom halfgeleiders domineert de lijst — vier van de acht namen. Basis: 1–30 juni tijdens reguliere handelsuren; één hergebruikt symbool uit een listing in juni is uitgesloten in afwachting van verificatie van de entiteit, en de eerste maand heeft een eigen overzicht.

De options tape: juni versus mei

QueryJuni: volledige tape options contract volume en same-day-expiry share (één scan)
De exacte SQL achter elk getal
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')
QueryMei, identiek her berekend voor contrast (één scan)
De exacte SQL achter elk getal
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')

De totale options volume in juni bedroeg 1477.9 miljoen contracten, waarbij 34.3% werd verhandeld met expiratiedatum op dezelfde dag — vergeleken met 1394.6 miljoen en 30.3% in mei. Meer volume EN een groter aandeel op dezelfde dag: het 0DTE-aandeel in juni is het hoogste van de helft, en de evolutie vanaf januari staat in de H1 recap. Een derde van de options volume in juni verviel op de dag van de handel.

QuerySPY median quoted spread: de juni sample session t.o.v. mei (tweede woensdagen)
De exacte SQL achter elk getal
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-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 ASC

De kosten voor het verhandelen van het grootste ticket in de markt bewogen in dezelfde richting: de mediane quoted spread van SPY tijdens de juni sample session (0.409 bps, 10 juni) is groter dan die van mei (0.27 bps, 13 mei). Basis, zoals vermeld: individuele gelabelde sample sessions — de tweede woensdag van elke maand — geen medianen over de hele maand; ongeldige quotes worden in het panel meegeteld.

Rentes: de curve bewoog nauwelijks

QueryTreasury yields gedurende juni: 10-year, 2-year, en de 2s10s spread
De exacte SQL achter elk getal
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-01') AND date <= toDate('2026-06-30')
  AND isNotNull(yield_10_year) AND isNotNull(yield_2_year)
ORDER BY date

De 10-jarige eindigde juni op 4.44% met de 2s10s spread op 30 basis points — een rustige maand voor rentes vergeleken met een turbulente helft (de H1 recap bevat het verhaal over de zesmaandse curve).

De kalender: drukke kwartaalafsluiting, één ontbrekende indieningsdag

QueryJuni corporate kalender — dividenden, splits, listings, filings (juni 30 index gap onthuld)
De exacte SQL achter elk getal
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= toDate('2026-06-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-06-01') AND execution_date <= toDate('2026-06-30')) AS splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date >= toDate('2026-06-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-06-01') AND filing_date <= toDate('2026-06-30')) AS june_filings,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-30')) AS filings_jun30,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= toDateTime('2026-06-01 00:00:00') AND published_utc < toDateTime('2026-07-01 00:00:00')) AS news_articles

Juni kende 6651 ex-dividend events, 164 splits en 35 nieuwe listings — waaronder de belangrijkste debuut van de maand, die per ontvangst is behandeld in de SpaceX eerste-maand analyse. Eén opmerking bij het aantal indieningen: de SEC-index toont 68388 indieningen in juni, maar op 30 juni zelf zijn er slechts 31 — de index voor de laatste dag van de maand is materieel incompleet (nabijgelegen dagen bevatten duizenden) . Het totaal voor juni is daarom te laag ingeschat totdat de feed de gegevens aanvult — dit is onderdeel van een patroon voor maandafsluitingen in 2026 met een eigen diagnostische noot.

De dividendgolf

QueryEx-dividend events per dag gedurende juni
De exacte SQL achter elk getal
SELECT toString(ex_dividend_date) AS d, count() AS ex_div_events
FROM global_markets.stocks_dividends
WHERE ex_dividend_date >= toDate('2026-06-01') AND ex_dividend_date <= toDate('2026-06-30')
GROUP BY d
ORDER BY d

Dividendactiviteiten pieken rond de maandwisseling: juni begon met 807 ex-dividend gebeurtenissen op één enkele dag. De grafiek toont het volledige ritme van de maand: een dagelijkse churn in de honderden, onderbroken door pieken rond de maandgrenzen. De impact van een ex-dividend datum op een koers wordt uitgelegd in de ex-dividend uitleg.

De shorts: beide juni-cijfers zijn beschikbaar

QueryShort-interest settlements: 29 mei, 15 juni en 30 juni
De exacte SQL achter elk getal
SELECT toString(settlement_date) AS settlement, count() AS tickers
FROM global_markets.stocks_short_interest
WHERE settlement_date >= toDate('2026-05-20')
GROUP BY settlement
ORDER BY settlement

De short interest wordt twee keer per maand vastgesteld en met vertraging gepubliceerd. Beide juni-cijfers zijn nu beschikbaar: de 2026-06-30 settlement bevat 22207 tickers, na 22178 in het bestand van 15 juni en 21987 op 29 mei. De dagelijkse short volume is een andere dataset; de beperking voor juni is het afgebroken bestand van 29 juni, opgenomen in de week recap en de juni 29 deep-dive.

Het sessieoverzicht

Query21 sessions, geverifieerd van de tape (Juneteenth closure receipt inbegrepen)
De exacte SQL achter elk getal
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-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS june_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= toDateTime('2026-06-19 00:00:00') AND window_start < toDateTime('2026-06-20 00:00:00')) AS juneteenth_spy_bars,
    (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-01 00:00:00') AND window_start < toDateTime('2026-07-01 00:00:00')) AS regular_bars_june

Juni kende 21 sessies — Juneteenth (19 juni) vertoont 0 SPY bars, en de 8190 reguliere bars resulteren in exact eenentwintig volledige sessies van 390 minuten.

Databemerkingen

Volledige databemerkingen
  • Short interest loopt tot de settlement van 30 juni — beide prints van deze maand zijn geregistreerd en hierboven opgenomen.
  • De index-dag van de filing van 30 juni is materieel incompleet (een handvol administratieve filings tegenover duizenden op omliggende dagen); de totalen voor de filings van juni zijn te laag totdat de feed de gegevens aanvult. Elke maandelijkse afsluiting van 2026 waarvan de laatste kalenderdag een werkdag was, vertoont hetzelfde patroon — de diagnostische opmerking bevat de bewijsstukken; de Q2 recap bevat de kanttekening voor de kwartaalschaal.
  • Het FINRA short-volume bestand van 29 juni is marktbreed ingekort — bewijsstukken staan in de week recap en de deep-dive van 29 juni.
  • Uitsluiting van volume-leiders: een June listing handelt onder een hergebruikt symbool en is uitgesloten van de leaderboard in afwachting van verificatie van de entiteit; de bijbehorende post bevat de verificatiebewijsstukken.
  • Breadth vergelijkt de laatste June close van elke ticker met de laatste May close; tickers zonder beide closes zijn per definitie uitgesloten en de uitsluitingen van de liquidity filter zijn opgenomen in het panel.

Methodologie

  • De periode is 1–30 juni 2026 — 21 sessies, geverifieerd via de geobserveerde bars (het bovenstaande ontvangstpaneel). Maandelijkse returns worden berekend van de opening van de reguliere uren tot de laatste sluiting van de reguliere uren binnen de periode.
  • Timestamps worden opgeslagen in UTC en gefilterd met ruwe UTC-grenzen; juni 2026 is volledig EDT, waardoor de reguliere uren 13:30–20:00 UTC zijn. De dollar volume is de minuutsluiting vermenigvuldigd met de minuutvolume gedurende de reguliere uren.
  • Vergelijkingen met de voorgaande maand worden live opnieuw berekend in dezelfde query als de rij van juni zelf — er wordt nooit gelezen uit een opgeslagen waarde. Het blok met de geschiedenis van elke juni doet hetzelfde over de volledige minuuttape (Eastern-wall-clock reguliere uren — de DST-veilige meerjarige conventie — met de bovengrens vastgesteld op de einddatum van deze maand en een minimum-sessie limiet per jaar); de verificatie van de diepte staat in de methodologie van de H1 recap.
  • De generatie verloopt via het beveiligde read-only pad; de publieke pagina voert nooit live queries uit. Warehouse-status per 5 juli 2026.

Dit is de eerste editie van de vaste maandelijkse recap — de editie van juli zal hiernaar linken. Voor de laatste week van de maand in sessie-voor-sessie detail, zie de recap van de week van 29 juni; voor het kwartaal dat deze maand is afgesloten, zie de Q2 recap.