podsumowanie rynku 1 lipca 2026 liczby
Druga połowa roku rozpoczęła się cicho na indeksach, ale gwałtownie w szczegółach: kompleks pamięci stracił, META wzrosła, a większość sektorów S&P zamknęła się na plusie.
Środa, 1 lipca 2026 r., pierwsza sesja drugiego półrocza, przyniosła jeden z najspokojniejszych dni indeksowych w miesiącu na tle najbardziej gwałtownego tape’u. SPY zamknął się na -0.08%, a QQQ -1.44%, jednak kompleks spółek pamięci, który ciągnął drugi kwartał, stracił jedną dziesiątą swojej wartości, META podskoczyła 8.88%, a 7 z 11 funduszy sektorowych S&P wciąż zamknęło się na plusie. Sesja poprzednia: 30 czerwca.
Wyniki
Zmiany w porównaniu ostatniej sesji 1 lipca z wtorkiem 30 czerwca.
Dokładny kod SQL dla każdej liczby
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-06-30 13:30:00' AND window_start < '2026-06-30 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-01 13:30:00' AND window_start < '2026-07-01 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_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 AS shares_traded_m
FROM sess s
JOIN prior p ON s.ticker = p.ticker
ORDER BY s.tickerKluczowy jest podział: DIA na 0.02% i SPY na -0.08% utrzymały się płasko wobec -1.44% dla QQQ i -0.37% dla IWM – przecena spółek wzrostowych, której rynek szeroki prawie nie odnotował.
Jeden z najspokojniejszych dni indeksowych w ostatnim miesiącu
Dokładny kod SQL dla każdej liczby
SELECT round(anyIf(oc_pct, d = toDate('2026-07-01')), 2) AS day_move_pct,
arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-01'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-01'))) + 1 AS abs_move_rank,
count() AS 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-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)Od otwarcia do zamknięcia w ramach sesji, czyli z innej perspektywy niż zestawienie zamknięcie-nad-zamknięciem, SPY przesunął się o 0.09%: pozycja 20 z 22 poprzednich sesji pod względem bezwzględnej wielkości, tylko dwa poruszyły się mniej. Kompleks zmienności potwierdzał to. Niniejszy magazyn nie zawiera indeksu VIX spot, więc kontrola przebiega na notowanych funduszach kontraktów terminowych na VIX, najbliższych zbywalnych odczytach ceny ochrony:
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'SVXY', 'UVXY', 'VIXY', 'VXX')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
round((day_high / day_low - 1) * 100, 2) AS range_pct
FROM per_name
ORDER BY tickerVXX, największy fundusz kontraktów terminowych na VIX z najbliższego miesiąca, wzrósł o 0.72%; VIXY o 0.8%; lewarowany UVXY o 1.13% w przedziale 3.68%; odwrotny SVXY o -0.42%. Błędy zaokrągleń w porównaniu z tym, co zrobiły pojedyncze akcje.
Szerokość: więcej spadków niż wzrostów, i więcej nowych maksimów niż minimów
Dokładny kod SQL dla każdej liczby
WITH per_ticker AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start < '2026-07-01 00:00:00') AS quarter_high,
minIf(toFloat64(low), window_start < '2026-07-01 00:00:00') AS quarter_low,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') AS day_dollar_volume,
countIf(window_start < '2026-07-01 00:00:00') AS quarter_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ((window_start >= '2026-04-01 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'))
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY ticker
)
SELECT
countIf(day_close > prior_close AND day_dollar_volume >= 1000000) AS advancers,
countIf(day_close < prior_close AND day_dollar_volume >= 1000000) AS decliners,
countIf(day_close = prior_close AND day_dollar_volume >= 1000000) AS unchanged,
round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
/ countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high) AS new_quarter_highs,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low) AS new_quarter_lows,
round(countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_high > quarter_high)
/ countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000 AND day_low < quarter_low), 1) AS highs_per_low,
countIf(day_dollar_volume >= 1000000 AND quarter_bars >= 1000) AS names_with_a_full_quarter,
countIf(day_dollar_volume >= 1000000) AS liquid_tickers,
count() AS tickers_traded_both_sessions,
count() - countIf(day_dollar_volume >= 1000000) AS dropped_by_liquidity_filter,
countIf(day_dollar_volume >= 1000000 AND quarter_bars < 1000) AS dropped_short_quarter_history
FROM per_ticker
WHERE prior_close > 0 AND day_close > 02928 spółek zyskało, 3465 straciło, 82 bez zmian, 45.2% płynnego obrotu wzrosło. Ale zasięg to nie skala: w stosunku do zakresu regularnych sesji drugiego kwartału, 836 z 6217 spółek z pełnym kwartałem notowań zanotowało w tym czerwonym dniu nowe kwartalne maksimum, wobec 246 które zanotowały nowe minimum, 3.4 nowych maksimów na jedno nowe minimum. Większość spadła; niewiele przebiło swój zakres. Spadki: 5435 z 11910 spółek z dwiema sesjami przy filtrze 1 mln USD, 258 płynnych spółek bez pełnego kwartału świec.
Sektorowa tablica: straty sięgnęły tylko jednego sektora
Jedenaście funduszy sektorowych SPDR to najtańszy przekrój całego rynku – ten sam koszyk w każdej sesji.
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
round((day_close / prior_close - 1) * 100 - min((day_close / prior_close - 1) * 100) OVER (), 2) AS pct_above_worst_sector,
sum(if(day_close > prior_close, 1, 0)) OVER (ORDER BY (day_close / prior_close) DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS green_so_far,
day_dollar_bn
FROM per_name
ORDER BY pct_chg DESCUsługi komunikacyjne (XLC), fundusz sektorowy posiadający META, prowadziły na poziomie 2.41%, finanse (XLF) tuż za nimi z wynikiem 2.2%. Technologia (XLK) znajdowała się samotnie na dole, -2.56% i 4.97 punktu procentowego za liderem. Łącznie 7 z 11 funduszy zamknęło się na plusie, dyskrecjonalne 0.68%, ochrona zdrowia 0.57%, wobec spadków w mediach (-1.28%), przemyśle (-0.98%) i energetyce (-0.6%). To oznacza, że „indeks prawie się nie poruszył” od spodu.
Wydarzenie dnia: pamięć się załamała, META poszła w drugą stronę
Osiem spółek niosło dyspersję: cztery akcje z sektora pamięci i przechowywania danych, które przewodziły w drugim kwartale, oraz cztery nazwy z otoczenia układów i platform. Raportowane są współzmienność, skala i czas; dane nie wskazują przyczyny.
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
SELECT
ticker,
toFloat64(argMaxIf(close, window_start, window_start < '2026-07-01 00:00:00')) AS prior_close,
toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-01 00:00:00')) AS day_close,
maxIf(toFloat64(high), window_start >= '2026-07-01 00:00:00') AS day_high,
minIf(toFloat64(low), window_start >= '2026-07-01 00:00:00') AS day_low,
argMinIf(window_start, (toFloat64(low), toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS low_bar,
argMaxIf(window_start, (toFloat64(high), -toInt64(toUnixTimestamp(window_start))), window_start >= '2026-07-01 00:00:00') AS high_bar,
round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-01 00:00:00') / 1e9, 2) AS day_dollar_bn
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AMD', 'META', 'MRVL', 'MU', 'NVDA', 'SNDK', 'STX', 'WDC')
AND ((window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
OR (window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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,
formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
toHour(toTimeZone(low_bar, 'America/New_York')) * 60 + toMinute(toTimeZone(low_bar, 'America/New_York')) AS low_minute_et,
round((day_high / day_low - 1) * 100, 2) AS range_pct,
day_dollar_bn
FROM per_name
ORDER BY tickerSanDisk (-10.45%) i Micron (-10.23%) straciły po ponad dziesiątej wartości; Marvell -8.68%, AMD -6.87%, Western Digital -6.3%, Seagate -5.11%. MU obróciło $42.94 mld, więcej niż SPY przez cały dzień, a MU, AMD i Marvell wyznaczyły minima sesji w ostatnich minutach (15:59, 15:57, 15:58 czasu wschodniego), sprzedane w aukcji zamknięcia, a nie poranną dziurą, która się zagoiła (dogłębna analiza MU ma kwartał za sobą).
META jest lustrzanym odbiciem: 8.88% przy obrocie $22.72 mld, minimum o 09:30 czasu wschodniego, na otwarciu, i nigdy nie wróciło. NVDA stała w miejscu przy -1.09% (czerwiec NVDA).
Co powiedziano
Ta strona nigdy nie przypisuje przyczyn. Jednak nasz licencjonowany kanał informacyjny jest tabelą jak każda inna, a oto co tego dnia przekazał:
Dokładny kod SQL dla każdej liczby
SELECT published_et, publisher, names_tagged, headline
FROM (
SELECT
published_utc,
formatDateTime(toTimeZone(published_utc, 'America/New_York'), '%H:%i') AS published_et,
JSONExtractString(publisher, 'name') AS publisher,
arrayStringConcat(arrayFilter(x -> x IN ('MU', 'SNDK', 'STX', 'WDC', 'META'), tickers), ' ') AS names_tagged,
substring(title, 1, 72) AS headline
FROM global_markets.stocks_news
WHERE published_utc >= '2026-07-01 04:00:00' AND published_utc < '2026-07-02 04:00:00'
AND hasAny(tickers, ['MU', 'SNDK', 'STX', 'WDC', 'META'])
AND NOT has(tickers, 'SPCX')
AND position(title, 'SPCX') = 0
ORDER BY published_utc DESC
LIMIT 12
)
ORDER BY published_utc ASCPopołudniowy artykuł The Motley Fool o firmie Micron (14:11 ET) ukazał się pod nagłówkiem "Why Micron Stock Is Plummeting Today". Jego wieczorne podsumowanie (17:12 ET) oraz kontynuacja cztery minuty później (17:16 ET) oba łączyły skok META z raportowanym planem sprzedaży nadwyżkowej mocy obliczeniowej AI jako usługi chmurowej. Jest to rama narzucona przez to wydanie, a nie ustalenie z danych transakcyjnych, a 12 artykułów od dwóch wydawców to uwaga jednego kanału, a nie rynku.
Gdzie płynęły pieniądze
Dokładny kod SQL dla każdej liczby
SELECT ticker, leaderboard, dollar_volume_bn, if(dollar_volume_bn < 1, dollar_volume_m, NULL) AS dollar_value_m, shares_m,
round(100 * if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)
/ max(if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m)) OVER (PARTITION BY leaderboard), 1) AS pct_of_board_leader
FROM (
SELECT
'by dollars traded' AS leaderboard,
ticker,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 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(close) * toFloat64(volume)) / 1e6, 0) AS dollar_volume_m,
round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
ORDER BY shares_m DESC
LIMIT 4
)
ORDER BY leaderboard ASC, if(leaderboard = 'by dollars traded', dollar_volume_bn, shares_m) DESC$42.94 mld MU prowadziło na taśmie, SPY drugie z $27.76 mld, META czwarte z $22.72 mld – spadający walor wyprzedzał fundusz indeksowy o połowę. Ekstrema ruchu były najgłośniejszymi nazwami w tym ruchu. Tablica notowań to zwykłe krzywe zwierciadło: SOXS, 3-krotnie odwrócony ETF na półprzewodniki, prowadził z 553.1 mln akcji, najaktywniejszy w dniu załamania się układów scalonych, a tania spółka zamyka zestawienie z 189.8 mln akcji wartych $319 mln (wolumen względny wskazuje właśnie na to). Podstawa: regularne godziny sesji 1 lipca, z wyłączeniem jednego powtórzonego symbolu (kwity depozytowe).
Taśma opcyjna
Dokładny kod SQL dla każdej liczby
WITH
(
SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
sum(size), round(avg(toFloat64(price)), 3),
any(if(substring(ticker, length(ticker) - 14, 6) = '260701', 1, 0)))
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'
GROUP BY ticker
ORDER BY sum(size) DESC, ticker ASC
LIMIT 1
) AS top_contract,
(
SELECT round(toFloat64(argMax(close, window_start)), 2)
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
) AS spy_regular_close
SELECT
round(count() / 1e6, 2) AS option_prints_m,
round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
round(sumIf(toFloat64(size), option_type = 'P') / sumIf(toFloat64(size), option_type = 'C'), 2) AS put_call_ratio,
round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260701') / sum(size), 1) AS same_day_expiry_pct,
round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P')) / 1e6, 2) AS spy_put_contracts_m,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P' AND toFloat64(strike_price) < spy_regular_close * 0.98)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'), 1) AS spy_puts_2pct_below_pct,
round(100.0 * sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C' AND toFloat64(strike_price) > spy_regular_close * 1.02)
/ sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'), 1) AS spy_calls_2pct_above_pct,
round(sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'MU' AND option_type = 'C'), 2) AS mu_put_call_ratio,
round(sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'P')
/ sumIf(toFloat64(size), underlying_symbol = 'META' AND option_type = 'C'), 2) AS meta_put_call_ratio,
top_contract.1 AS top_contract_underlying,
top_contract.2 AS top_contract_strike,
top_contract.3 AS top_contract_type,
top_contract.4 AS top_contract_volume,
reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.4))), '\\d{1,3}'), ',')) AS top_contract_volume_fmt,
round(top_contract.5, 3) AS top_contract_avg_price,
top_contract.6 AS top_contract_is_same_day,
round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
spy_regular_close AS spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-02 00:00:00'Zawarto 68.46 mln kontraktów opcyjnych przy 11.22 mln transakcji, call'e stanowiły 58.6% wolumenu, a opcje wygasające tego samego dnia 33.5%. Nikt nie zabezpieczał indeksu: 0.71 putów na jednego call'a w skali rynku, a z 5.76 mln putów na SPY tylko 11.6% miało strike ponad dwa procent poniżej jego zamknięcia na poziomie 745.69 – czyli te głęboko niedźwiedzie strike'y, które wypłacają przy krachu. Skew koncentrował się na pojedynczych spółkach: puty na Micron przewyższały jego call'e (1.11 na call'a), podczas gdy call'e na META biły puty w stosunku lepszym niż dwa do jednego (0.39). Najaktywniejszym kontraktem był wygasający tego samego dnia call na SPY ze strike'iem $748, 878,947 kontraktów po średniej cenie $0.707, wygasający 2.31 dolara poza ceną, podobnie jak we wtorek. Przez cały dzień nie pojawiła się ani jedna transakcja na opcjach wygasających 3 lipca (0 transakcji – ten piątek jest dniem wolnym); czwartkowy tydzień zrealizował 14.43 mln.
Stopy: wzrost na długim końcu, spadek na krótkim
Rentowności to zamknięcia dzienne względem 30 czerwca.
Dokładny kod SQL dla każdej liczby
SELECT
t.1 AS curve_point,
round(t.2, 2) AS jul1_yield_pct,
round((t.2 - t.3) * 100) AS one_day_change_bp
FROM (
SELECT arrayJoin([
('1 month', toFloat64(d.yield_1_month), toFloat64(p.yield_1_month)),
('3 month', toFloat64(d.yield_3_month), toFloat64(p.yield_3_month)),
('1 year', toFloat64(d.yield_1_year), toFloat64(p.yield_1_year)),
('2 year', toFloat64(d.yield_2_year), toFloat64(p.yield_2_year)),
('5 year', toFloat64(d.yield_5_year), toFloat64(p.yield_5_year)),
('10 year', toFloat64(d.yield_10_year), toFloat64(p.yield_10_year)),
('30 year', toFloat64(d.yield_30_year), toFloat64(p.yield_30_year)),
('2s10s spread', toFloat64(d.yield_10_year - d.yield_2_year), toFloat64(p.yield_10_year - p.yield_2_year))
]) AS t
FROM (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS d,
(SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-30') AS p
)Dziesięciolatka dodała 4 pkt baz. do 4.48%, a trzydziestolatka 6 pkt baz., podczas gdy bon miesięczny zmienił się o -3 pkt baz. – środek i długi koniec w górę, krótki koniec w dół. spread 2s10s zamknął się na poziomie 0.31 punktów procentowych: żaden z tych ruchów nie dorównał dyspersji na rynku akcji.
Kalendarz stojący za dniem
Dokładny kod SQL dla każdej liczby
WITH
(
SELECT (count(), uniqExact(publisher))
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
) AS news,
(
SELECT (argMax(t, n), max(n))
FROM (
SELECT t, count() AS n
FROM (
SELECT arrayJoin(tickers) AS t
FROM global_markets.stocks_news
WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-01'
)
WHERE t != 'SPCX'
GROUP BY t
)
) AS top_news
SELECT
(SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS ex_dividend_records,
(SELECT countIf(frequency = 12) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payers,
(SELECT countIf(frequency = 4) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS quarterly_payers,
(SELECT round(100.0 * countIf(frequency = 12) / count(), 1) FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-01') AS monthly_payer_pct,
(SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-01') AS splits_executed,
(SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01') AS ipos_listed,
(SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS sec_filings,
(SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS insider_form4_filings,
(SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-01') AS filings_8k,
(SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-01' ORDER BY ticker
)) AS ipo_names,
news.1 AS news_articles,
news.2 AS news_publishers,
top_news.1 AS most_covered_ticker,
top_news.2 AS most_covered_articlesPrzełom kwartału nastąpił tutaj: 746 rekordów dywidend przeszło ex-dywidendę – fala, której narastanie obserwowało podsumowanie czerwca – obok 9 splitów i 3 nowych notowań (BSP — Bending Spoons S.p.A.; ITG — ITG Inc.; LIME — Neutron Holdings Inc.). Strumień zgłoszeń ożył: 4283 dokumentów, z czego 1072 to formularze 4 i 248 to 8-K, po niemal pustym dniu indeksowym 30 czerwca (uwaga o luce na koniec miesiąca). Nasz kanał przekazał 201 artykułów, a najczęściej opisywanym był MSFT przy 16.
Jednak sama liczba nie mówi, kto płacił. Uszeregowane według wartości obrotu, zestawienie wcale nie jest korporacyjne:
Dokładny kod SQL dla każdej liczby
WITH divs AS (
SELECT ticker, max(toFloat64(cash_amount)) AS cash, max(frequency) AS freq
FROM global_markets.stocks_dividends
WHERE ex_dividend_date = '2026-07-01' AND distribution_type = 'recurring'
GROUP BY ticker
),
tape AS (
SELECT ticker,
sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume,
toFloat64(argMax(close, (window_start, close))) AS day_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00'
AND ticker NOT IN ('SPCX')
GROUP BY ticker
)
SELECT
d.ticker AS ticker,
round(d.cash, 4) AS cash_per_share,
d.freq AS payments_per_year,
round(t.day_close, 2) AS day_close,
round(100 * d.cash / t.day_close, 2) AS pct_of_price,
round(100 * d.cash * d.freq / t.day_close, 2) AS annualized_yield_pct,
round(t.dollar_volume / 1e9, 2) AS day_dollar_bn
FROM divs d JOIN tape t ON d.ticker = t.ticker
WHERE t.dollar_volume > 0 AND d.cash > 0
ORDER BY t.dollar_volume DESC
LIMIT 8Każdy z ośmiu najbardziej aktywnych walorów ex-dywidendy to fundusz wypłacający 12 razy w roku: SGOV, fundusz bonów skarbowych, przeszedł na ex przy 0.2958 USD na akcję (0.29% ceny, 3.54% w ujęciu rocznym) przy obrocie 3.5 mld USD; HYG, fundusz obligacji wysokodochodowych, przy 0.3688 mld USD. To fala pierwszego dnia miesiąca: 572 z 746 rekordów dnia (76.7%) to płatnicy miesięczni – fundusze dystrybuujące odsetki – wobec 123 płatników kwartalnych. Spadek na ex-date jest mechaniczny, a nie stratą.
Czy pierwszy dzień kwartału bywa zwykłym dniem?
Narracja pisze się sama: nowy kwartał, nowe pieniądze, świeże alokacje. Baza danych twierdzi inaczej.
Dokładny kod SQL dla każdej liczby
SELECT
count() AS quarter_opens_measured,
round(quantileExact(0.5)(oc_pct), 2) AS median_quarter_open_pct,
countIf(oc_pct > 0) AS quarter_opens_green,
countIf(oc_pct <= 0) AS quarter_opens_red,
round(anyIf(oc_pct, first_day = toDate('2026-07-01')), 2) AS jul1_oc_pct,
arrayCount(x -> x < anyIf(oc_pct, first_day = toDate('2026-07-01')), groupArrayIf(oc_pct, first_day != toDate('2026-07-01'))) + 1 AS jul1_rank_worst_to_best,
round(min(oc_pct), 2) AS worst_quarter_open_pct,
round(max(oc_pct), 2) AS best_quarter_open_pct,
concat(monthName(min(first_day)), ' ', toString(toYear(min(first_day)))) AS first_measured
FROM (
SELECT f.first_day AS first_day, d.oc_pct AS oc_pct
FROM (
SELECT toStartOfQuarter(d) AS q, min(d) AS first_day
FROM (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
)
GROUP BY q
) f
INNER JOIN (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
(argMax(toFloat64(close), (window_start, close)) / argMin(toFloat64(open), (window_start, open)) - 1) * 100 AS oc_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2004-01-01 00:00:00')
AND window_start < toDateTime('2026-07-02 00:00:00')
AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
GROUP BY d
) d ON d.d = f.first_day
)Na przestrzeni 91 sesji otwierających kwartał od January 2004, mediana zmiany SPY od otwarcia do zamknięcia w pierwszym dniu kwartału wynosi 0.01%, 46 sesji zakończonych wzrostem wobec 45 spadkiem, w przedziale od -2.28% do 3.18%: rzut monetą z błędem zaokrąglenia. 1 lipca dał 0.09%, pozycja 50 z 91 od najgorszej do najlepszej, dokładnie w środku stawki. Podstawa: zmiana SPY od otwarcia do zamknięcia w godzinach regularnej sesji, pierwsza sesja każdego kwartału w bazie danych.
Co dzień zostawia czytelnikowi
Indeks zmienił się o 0.09%; panel ośmiu spółek rozciąga się od -10.45% do 8.88%; ochrona ledwie się przeszacowała. To zwykła arytmetyka skoncentrowanego rynku – straty jednego sektora równoważone zyskami w 7 z 11 pozostałych to właśnie to, co indeks wygładza. Na poziomie indeksu nie widać tu nic; na poziomie pozycji widać, że jedna dziesiąta portfela zniknęła w jeden dzień.
Sesja, zweryfikowana
Dokładny kod SQL dla każdej liczby
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,
count() AS spy_minute_bars,
countIf(window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS regular_session_bars,
uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS day_sessions,
(SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-01') AS jul1_holiday_rows
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-01 00:00:00' AND window_start < '2026-07-02 00:00:00'Słupki SPY obejmują 04:00 do 19:59 czasu nowojorskiego, z 390 słupkami w standardowym oknie oraz 0 wierszami świątecznymi w danym dniu – jest to pełna sesja, zweryfikowana na podstawie taśmy.
FAQ
Czy giełda wzrosła czy spadła 1 lipca 2026 roku?
To zależy, gdzie spojrzeć. SPY zamknął się na poziomie -0.08%, DIA 0.02%, QQQ -1.44%; 3465 płynnych spółek spadło wobec 2928 rosnących, jednak 7 z 11 funduszy sektorowych zamknęło się na plusie, a sektor technologiczny był wyjątkiem.
Dlaczego akcje Micron, SanDisk, Western Digital i Seagate spadły 1 lipca 2026 roku?
Dane te pokazują współwystępowanie, a nie przyczynę: cztery spółki spadły o -5.11% do -10.45%. Artykuł The Motley Fool z tego samego dnia o Micron (w panelu informacyjnym na tej stronie, 14:11 czasu wschodniego) ukazał się pod nagłówkiem „Why Micron Stock Is Plummeting Today”. Jest to interpretacja tego serwisu, a nie ustalenie wynikające z danych rynkowych.
Dlaczego META wzrosła 1 lipca 2026 roku?
META zamknęła się 8.88% wyżej, a jej minimum przypadło na bar otwarcia. Serwis The Motley Fool przypisał ten ruch doniesieniom, że spółka planuje sprzedawać nadwyżki mocy obliczeniowych AI jako usługę chmurową: jest to interpretacja serwisu, a nie nasza.
Czy pierwszy dzień handlu w kwartale jest zazwyczaj mocnym dniem?
Nie w sposób mierzalny. W 91 otwarć kwartałów od January 2004 roku, mediana zmiany SPY od otwarcia do zamknięcia wyniosła 0.01%: 46 dni na plusie, 45 na minusie, czyli rzut monetą; 1 lipca znalazł się w środku stawki.
Czy rynek opcji zabezpieczał się przed wyprzedażą 1 lipca 2026 roku?
Nie na poziomie indeksu: 0.71 opcji put na każdą opcję call w całym rynku, a jedynie 11.6% wolumenu opcji put na SPY miało strike więcej niż dwa procent poniżej zamknięcia.
Uwagi dotyczące danych
- Wolumen w dolarach to przybliżenie minutowe – iloczyn ceny zamknięcia i wolumenu sumowanego dla każdego słupka minutowego w godzinach regularnej sesji. Wskazane ekstrema zostały zweryfikowane względem sąsiednich słupków; w przypadku remisu brany jest najwcześniejszy.
- Nie istnieje tu indeks VIX spot. Panel zmienności odczytuje notowane fundusze kontraktów terminowych na VIX, które utrzymują i rolowane są kontrakty terminowe – powiązane z indeksem, ale nigdy z nim tożsame.
- Nowe kwartalne maksima/minima porównują ekstrema z 1 lipca (godziny regularnej sesji) z zakresem każdego waloru od 1 kwietnia do 30 czerwca, dla płynnych nazw z pełnym kwartałem słupków; spadki są w panelu.
- Tablica sektorowa to starannie dobrany koszyk (jedenaście ETF-ów SPDR, a nie pole dostawcy); panel wiadomości to jeden licencjonowany kanał (12 artykułów, dwóch wydawców); jeden wpis z powtarzającym się symbolem został wykluczony z rankingów (jego wpływy).
Metodologia
- Jedna sesja giełdowa (sesja 1, zweryfikowana na podstawie zaobserwowanych słupków i tabeli świąt, nigdy nie zakładana). Znaczniki czasu są przechowywane w UTC, konwertowane na czas nowojorski w zapytaniach; „zamknięcie” to ostatni minutowy słupek sesji regularnej, zmiana dnia względem 30 czerwca.
- Wartości dziesiętne są rzutowane na 64-bitowe liczby zmiennoprzecinkowe przed arytmetyką wskaźników; wygaśnięcia opcji są ponownie parsowane z tickera OCC. Panele uruchamiane są jednorazowo, w momencie tworzenia, przez ścieżkę tylko do odczytu z bramką. Stan magazynu danych na 13 lipca 2026 r.; to wydanie dodaje panele sektora, zmienności, wiadomości, dywidend i kwartalnych historii.
Każdy panel to wynik zapisanego zapytania, wykres, tabela i SQL są jednym obiektem. Wklej dowolny do terminala Strasmore. Dalej: 2 lipca; tydzień: tydzień świąteczny.