Strasmore Research
Market Recap

Podsumowanie rynku czerwiec 2026

Matt ConnorBy Matt Connor Updated 2026-07-24

Czerwiec 2026 roku był miesiącem dywergencji: indeksy spółek o dużej kapitalizacji odnotowały spadki, podczas gdy spółki o małej kapitalizacji zyskały. Poza poziomami indeksów więcej akcji traciło na wartości niż zyskiwało. SPY zamknął się na poziomie $746.32, co oznacza zmianę o -1.2% w skali miesiąca, natomiast IWM — indeks spółek o małej kapitalizacji — wzrósł o 4.2%. Innym istotnym faktem w tym miesiącu był wolumen obrotu: jeden producent pamięci procesorowych wygenerował obrót o wartości $995.7 miliarda w ciągu 21 sesji, co stanowi wynik wyższy niż w przypadku samego SPY. Każda liczba w tym zestawieniu jest wynikiem zapytania bazodanowego; aby uzyskać dokładne zapytanie SQL, należy rozwinąć dowolny panel.

Wyniki miesiąca

ZapytanieCzerwiec 2026: open-to-close, zakres i obrót w godzinach sesyjnych dla 4 ETF na indeksy
Dokładny kod SQL dla każdej liczby
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

Dane z tabeli są jednoznaczne: DIA 2.4% oraz IWM 4.2% wzrosły, podczas gdy SPY odnotował spadek o -1.2%, a QQQ zakołował na poziomie -0.2% — indeks spółek typu mega-cap growth pozostał w tym samym miesiącu bez zmian lub spadł, podczas gdy małe spółki zyskały cztery procent.

Czerwiec w porównaniu do pięciu poprzednich miesięcy

Czy czerwcowe spadki były nietypowe? Panel historyczny przelicza tę samą miesięczną stopę zwrotu dla każdego miesiąca półrocza w ramach jednego zapytania — wiersze dla czerwca są generowane w ten sam sposób co dla stycznia, w czasie rzeczywistym.

ZapytanieMiesięczne stopy zwrotu, styczeń–czerwiec 2026, przeliczone na żywo (SPY i QQQ)
Dokładny kod SQL dla każdej liczby
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

Według tego kryterium czerwiec był miesiącem przeciętnym: wynik SPY na poziomie -1.2% mieści się w zakresie półrocza — w marcu odnotowano spadek o -4.4%, a w kwietniu wzrost o 9.9%. Charakter miesiąca wyznaczała rotacja sektorów, a nie ogólny kierunek rynku.

Czerwiec na tle wszystkich czerwńców

ZapytanieCzerwiec na wykresie: SPY, przeliczone identycznie dla każdego roku (liczba sesji)
Dokładny kod SQL dla każdej liczby
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
ZapytanieRanking: bieżący czerwiec względem lat ubiegłych (rank 1 = najlepszy; wykluczono samo siebie)
Dokładny kod SQL dla każdej liczby
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
)

Wskaźnik -1.2% dla SPY zajmuje 15 miejsce w rankingu 23 czerwńców od 2004 (miejsce 1 = najlepsze) — środkowa część zestawienia, nieco poniżej średniej. Jest to przeciętny czerwiec, a przeciętność stanowi istotny wniosek: zmiany indeksu w tym miesiącu nie wyróżniają się na tle dwóch dekad czerwńców. Wyjątkowa była natomiast rotacja kapitału, widoczna w panelu szerokości rynku poniżej. Podstawa: zmiany cen od otwarcia do zamknięcia w ramach sesji regulowanych w każdym czerwcu, identyczne obliczenia dla każdego roku, górna granica ustalona na koniec bieżącego miesiąca, aby zestaw porównawczy nie powiększał się automatycznie.

Sesja po sesji

ZapytanieSPY, wszystkie 21 sesji w czerwcu: cena zamknięcia i zmiana close-over-close
Dokładny kod SQL dla każdej liczby
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

Najsilniejszy jednodniowy spadek w tym miesiącu wystąpił na początku — -2.6% dnia 2026-06-05 — a wykres obrazuje przebieg miesiąca: stopniowe spadki do połowy czerwca, stabilizację w okolicach $716.58 oraz częściowe odbicie w ostatnich sesjach przed końcem kwartału. Szczegółowe zestawienie sesji z ostatniego tygodnia tego odbicia znajduje się w podsumowaniu tygodnia.

Szerokość rynku: więcej spadków niż wzrostów

ZapytanieWzrostowe vs spadkowe dla czerwca (zamknięcie vs koniec maja), uwzględniono filtr płynności
Dokładny kod SQL dla każdej liczby
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 tickerów odnotowało spadki w skali miesiąca względem 4240, które wzrosły — ujemna szerokość rynku w miesiącu, w którym dwa z czterech funduszy ETF na indeksy zyskały. Waga indeksów oraz szerokość rynku oparta na równej liczbie spółek odpowiadają na inne pytania; czerwiec to miesiąc, w którym te wskaźniki były rozbieżne. Filtr płynności wykluczył 2896 tickerów o wolumenie poniżej 5 mln USD w czerwcu, uwzględniając je tutaj zamiast pomijania. Wskaźnik dzienny jest zgodny ze wskaźnikiem tickerów: 12 z 21 sesji w tym miesiącu zamknęło SPY niżej, a 9 wyżej.

ZapytanieSesje SPY: wzrostowe vs spadkowe w miesiącu
Dokładny kod SQL dla każdej liczby
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
)

Liderzy rynku

ZapytanieCzerwiec: wolumen USD w godzinach sesyjnych, cały rynek (wykluczono jeden symbol w trakcie weryfikacji)
Dokładny kod SQL dla każdej liczby
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 dominował w całym miesiącu z wynikiem 995.7 mld USD — SPY zajął drugie miejsce, osiągając 77.5% tej kwoty. NVDA wygenerował 523 mld USD, zajmując czwarte miejsce; jego miesiąc został opisany w szczegółowej analizie tick-by-tick. Sektor półprzewodników dominuje w zestawieniu — cztery z ośmiu spółek to podmioty z tej branży. Podstawa: godziny sesji regulaminowej od 1 do 30 czerwca; wykluczono jedną spółkę z czerwca z powodu powtórzonego symbolu do czasu weryfikacji podmiotu, a jej pierwszy miesiąc posiada własny artykuł.

Rynek opcji: czerwiec względem maja

ZapytanieCzerwiec: całkowity wolumen kontraktów options i udział terminów wygasających tego samego dnia
Dokładny kod SQL dla każdej liczby
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')
ZapytanieMaj, przeliczone identycznie dla porównania
Dokładny kod SQL dla każdej liczby
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')

Całkowity wolumen opcji w czerwcu wyniósł 1477.9 milionów kontraktów, z czego 34.3% wygasło w dniu notowań — w porównaniu do 1394.6 milionów i 30.3% w maju. Wzrost wolumenu oraz większy udział instrumentów wygasających tego samego dnia: udział opcji 0DTE w czerwcu jest najwyższy w całym półroczu, a ewolucję od stycznia widać w podsumowaniu H1. Jedna trzecia czerwcu wolumenu opcji wygasła w dniu transakcji.

ZapytanieMediana spreadu SPY: próbka z czerwca względem maja (drugie środy)
Dokładny kod SQL dla każdej liczby
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

Koszt handlu na największym rynku również wzrósł: mediana spreadu dla SPY w czerwcu (0.409 bps, 10 czerwca) jest wyższa niż w maju (0.27 bps, 13 maja). Dane bazowe: próbki obejmują pojedyncze sesje — drugą środę każdego miesiąca — a nie mediany miesięczne; w panelu uwzględniono nieprawidłowe kwotowania.

Stopy procentowe: krzywa niemal się nie zmieniła

ZapytanieRentowność obligacji skarbowych w czerwcu: 10-letnie, 2-letnie oraz spread 2s10s
Dokładny kod SQL dla każdej liczby
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

Rentowność 10-letnich obligacji skarbowych na koniec czerwca wyniosła 4.44%, przy czym spread 2s10s wyniósł 30 punktów bazowych — był to spokojny miesiąc dla stóp procentowych w porównaniu do bardziej zmiennej połowy roku (więcej informacji na temat krzywej z pierwszego półrocza zawiera podsumowanie H1).

Kalendarz: duża liczba operacji na koniec kwartału, jeden dzień bez terminów składania dokumentów

ZapytanieKalendarz korporacyjny na czerwiec — dywidendy, splits, listingi, raporty (ujawniono lukę indeksu 30 czerwca)
Dokładny kod SQL dla każdej liczby
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

W czerwcu odnotowano 6651 zdarzeń ex-dividend, 164 podziałów akcji oraz 35 nowych listingów — wśród nich najważniejszy debiut miesiąca, omówiony szczegółowo w analizie pierwszego miesiąca spółki SpaceX. W odniesieniu do liczby składanych dokumentów występuje jedna rozbieżność: indeks SEC wskazuje na 68388 czerwcu zgłoszeń, jednak sam 30 czerwca zawiera tylko 31 — indeks dla ostatniego dnia miesiąca jest znacząco niekompletny (sąsiednie dni obejmują tysiące wpisów), zatem całkowita liczba za czerwiec zostanie zaktualizowana dopiero po uzupełnieniu danych — jest to element wzorca z końca miesiąca w 2026 roku, o czym informuje odpowiednia uwaga diagnostyczna.

Fala dywidend

ZapytanieWydarzenia ex-dividend w ujęciu dziennym w czerwcu
Dokładny kod SQL dla każdej liczby
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

Wypłaty dywidend koncentrują się na przełomie miesiąca: czerwiec rozpoczął się od 807 zdarzeń ex-dividend w ciągu jednego dnia, a wykres odzwierciedla pełny rytm miesiąca — dzienna zmienność liczona w setkach zdarzeń, przerywana skokami na koniec miesiąca. Wpływ daty ex-dividend na cenę omawia wyjaśnienie mechanizmu ex-dividend.

Krótka sprzedaż: oba czerwcowe zestawienia są dostępne

ZapytanieRozliczenia short-interest: 29 maja, 15 czerwca i 30 czerwca
Dokładny kod SQL dla każdej liczby
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

Dane dotyczące krótkiej sprzedaży są ustalane dwa razy w miesiącu i publikowane z opóźnieniem. Oba czerwcowe zestawienia są już dostępne: rozliczenie 2026-06-30 obejmuje 22207 tickerów, po 22178 w zestawieniu z 15 czerwca oraz 21987 z 29 maja. Dzienna krótka sprzedaż to inny zestaw danych; ograniczeniem dla czerwca jest niepełne zestawienie z 29 czerwca, uwzględnione w podsumowaniu tygodnia oraz w szczegółowej analizie z 29 czerwca.

Podsumowanie sesji

Zapytanie21 sesji, zweryfikowane na wykresie (uwzględniono zamknięcie Juneteenth)
Dokładny kod SQL dla każdej liczby
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

W czerwcu odnotowano 21 sesji — Juneteenth (19 czerwca) wykazuje 0 słupków SPY, a 8190 regularnych słupków stanowi dokładnie dwadzieścia jeden pełnych sesji po 390 minut.

Uwagi do danych

Pełne uwagi do danych
  • Short interest obejmuje rozliczenie z 30 czerwca — oba odczyty z tego miesiąca są zarejestrowane i uwzględnione powyżej.
  • Dzień indeksowy dla raportów z 30 czerwca jest istotnie niekompletny (kilka raportów administracyjnych na tle tysięcy w sąsiednich dniach); sumy za czerwiec są zaniżone do czasu uzupełnienia danych przez system. Każdy koniec miesiąca w 2026 roku, którego ostatni dzień kalendarzowy był dniem roboczym, wykazuje tę samą cechę — notatka diagnostyczna zawiera dowody; podsumowanie Q2 zawiera zastrzeżenie dotyczące skali kwartalnej.
  • Plik FINRA dotyczący krótkich pozycji z 29 czerwca jest skrócony w skali całego rynku — dowody znajdują się w podsumowaniu tygodniowym oraz w szczegółowej analizie z 29 czerwca.
  • Wyłączenie liderów wolumenu: jedna pozycja z czerwca jest handlowana pod ponowiecznie używanym symbolem i została wykluczona z rankingu do czasu weryfikacji podmiotu; osobny artykuł zawiera dowody weryfikacyjne.
  • Szerokość rynku porównuje ostatnie zamknięcie każdego tickera z 30 czerwca z ostatnim zamknięciem z maja; tickery bez obu zamknięć są wykluczane z założenia, a wykluczenia wynikające z filtra płynności są uwzględnione w panelu.

Metodologia

  • Okres obejmuje 1–30 czerwca 2026 — 21 sesji, zweryfikowanych na podstawie obserwowanych słupków (panel odbioru powyżej). Stopy zwrotu w ujęciu miesięcznym obliczane są od otwarcia do zamknięcia sesji w ramach godzin regulowanych w danym okresie.
  • Znaczniki czasu są przechowywane w formacie UTC i filtrowane przy użyciu surowych granic UTC; czerwiec 2026 r. odbywa się w całości według czasu EDT, zatem godziny regulowane to 13:30–20:00 UTC. Wolumen w USD to iloczyn ceny zamknięcia z minuty oraz wolumenu z minuty w godzinach regulowanych.
  • Porównania z poprzednim miesiącem są przeliczane na żywo w tym samym zapytaniu co wiersz dla czerwca — wartości te nigdy nie są odczytywane z zapisanych danych. Blok historii dla każdego czerwca działa w ten sam sposób dla pełnego zapisu minutowego (godziny regulowane czasu wschodniego — konwencja wieloletnia bezpieczna dla DST — z górną granicą ustaloną na koniec bieżącego miesiąca oraz minimalną liczbą sesji dla każdego roku); weryfikacja głębokości danych znajduje się w metodologii podsumowania H1.
  • Generowanie danych odbywa się poprzez ograniczoną ścieżkę tylko do odczytu; strona publiczna nigdy nie wykonuje zapytań na żywo. Stan magazynu danych na dzień 5 lipca 2026 r.

Jest to pierwsza edycja cyklicznego podsumowania miesięcznego — edycja lipcowa będzie zawierać odnośnik do tego miejsca. Szczegółowe zestawienie sesji za ostatni tydzień miesiąca znajduje się w podsumowaniu tygodnia rozpoczynającego się 29 czerwca; podsumowanie kwartału zakończonego w tym miesiącu znajduje się w podsumowaniu Q2.