Strasmore Research
Podsumowania rynkowe Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-08-02

Podsumowanie rynku 27 lipca 2026: dzień w liczbach

Sesja z 27 lipca 2026 r. w liczbach: indeksy, szerokość rynku, sektory, opcje i rentowność obligacji skarbowych. Sprawdź dane z zapisanych zapytań.

Ten przegląd rynku z poniedziałku 27 lipca 2026 r. obejmuje całą sesję na podstawie zapisanych zapytań: zmiana SPY względem piątkowego zamknięcia wyniosła 0.02%, udział walorów rosnących w płynnym segmencie rynku wyniósł 65.4%, a na rynku opcji zawarto 64.69 mln kontraktów. Każdy przedział poniżej jest określony za pomocą jednoznacznych dat początkowej i końcowej, dlatego ponowne uruchomienie zapytania SQL dla dowolnego panelu zwróci te same wartości.

Tablica wyników

Każda zmiana porównuje ostatnią minutową świecę regularnej sesji z 27 lipca ze świecą z piątku 24 lipca. Są to kolejne sesje giełdowe rozdzielone weekendem. Wiersze uporządkowano alfabetycznie, dlatego każdy ETF zachowuje stałą pozycję.

ZapytanieSPY / QQQ / DIA / IWM: 27 lipca vs zamknięcie 24 lipca, sesja regularna
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-07-24 13:30:00' AND window_start < '2026-07-24 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-27 13:30:00' AND window_start < '2026-07-27 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_open) / toFloat64(p.prior_close) - 1) * 100, 2) AS gap_pct,
    round((toFloat64(s.day_close) / toFloat64(s.day_open) - 1) * 100, 2) AS intraday_pct,
    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
FROM sess s LEFT JOIN prior p ON s.ticker = p.ticker
ORDER BY ticker
Run this yourself

DIA zmienił się o 0.49%, IWM o 0.59%, QQQ o -0.32%, a SPY o 0.02%, osiągając poziom zamknięcia 739.02 USD. W każdym wierszu zmianę podzielono na dwa odcinki: SPY otworzył się 0.82% względem piątkowego zamknięcia, co obejmuje całą lukę weekendową, a następnie zmienił się o -0.79% od otwarcia do zamknięcia. W poniedziałek odcinek overnight obejmuje faktycznie dwa dni, a podział między nim a odcinkiem śródsesyjnym stanowi pierwszy wyróżnik sesji.

Czy sesja była nietypowa?

Wynik jednej sesji niewiele znaczy bez znajomości rozkładu, dlatego sesja jest klasyfikowana w obrębie własnego kroczącego miesiąca według identycznej metodologii.

ZapytanieDzienna zmiana SPY w ujęciu kroczącym (od otwarcia do zamknięcia, 26 czerwca–27 lipca)
Dokładny kod SQL dla każdej liczby
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-27')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-27'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-27'))) + 1 AS spy_abs_move_rank,
    count() AS spy_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-26 13:30:00')
      AND window_start < toDateTime('2026-07-28 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

Zmiana SPY od otwarcia do zamknięcia wynosząca -0.79% uplasowała się na 1 miejscu spośród 21 poprzednich sesji, uszeregowanych według wartości bezwzględnej, w oknie sięgającym do 2026-06-26. Ranking uwzględnia liczbę innych sesji w tym oknie, których zmiana była większa, powiększoną o jeden. Pierwsze miejsce oznaczałoby największą zmianę w kroczącym miesiącu.

Szerokość rynku

Poziom indeksu jest jedną liczbą. Szerokość rynku pokazuje, ile akcji podążało w tym samym kierunku przez weekendową lukę.

ZapytanieSzerokość rynku na płynnych walorach: zamknięcie 27 lipca vs zamknięcie 24 lipca, filtr obrotu $1M
Dokładny kod SQL dla każdej liczby
SELECT
    countIf(c27 > c24 AND liquid) AS advancers,
    countIf(c27 < c24 AND liquid) AS decliners,
    countIf(c27 = c24 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c27 > c24 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c24, c27, dv27 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv27
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0
    )
)
Run this yourself

Spośród 5935 spółek, których obrót w regularnych godzinach przekroczył próg jednego miliona USD, 3880 zamknęło sesję powyżej piątkowego kursu zamknięcia, a 1972 poniżej. Udział spółek zwyżkujących wyniósł 65.4%. Filtr wyłączył 5336 spółek o niższej płynności, które uwzględniono tutaj, zamiast po cichu odrzucić.

Koszyk spółek mega-cap

Te same osiem spółek mega-cap pojawia się tutaj podczas każdej sesji, w kolejności alfabetycznej, aby każda zachowała swoje miejsce. Stały koszyk jest kluczowy: czytelnik zapamiętuje poszczególne wiersze, a redakcja nie wybiera zwycięzców po fakcie.

ZapytanieOsiem spółek mega-cap: zmiana vs 24 lipca i obrót w USD w sesji regularnej, 27 lipca
Dokładny kod SQL dla każdej liczby
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-27 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-27 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'AMZN', 'AVGO', 'GOOGL', 'META', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
        OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 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,
    day_dollar_bn
FROM per_name
ORDER BY ticker
Run this yourself

Kurs AAPL zmienił się o 1.16%, META o -0.21%, MSFT o 1.94%, a NVDA o -5.04%, przy obrocie w standardowych godzinach sesji na poziomie 25.42 mld USD. W przypadku TSLA wartość wyniosła -1.2%. Kolumna dolarowa pokazuje, jaką część obrotu te osiem spółek generuje samodzielnie. Panel szerokości rynku powyżej wskazuje, w jakim stopniu pozostała część rynku poruszała się w tym samym kierunku.

Największe ruchy podczas sesji

Na obu tablicach wymagany jest obrót w regularnych godzinach handlu o wartości pięciu milionów dolarów. Wykluczane są spółki, których split został zrealizowany między oboma mierzonymi zamknięciami. Wykluczany jest także jeden powtórnie użyty symbol zgodnie z opisaną w uwagach regułą dotyczącą niejednoznaczności.

ZapytanieNajwiększe wzrosty i spadki: zamknięcie 27 lipca vs zamknięcie 24 lipca, obrót co najmniej $5M, z wyłączeniem splitów
Dokładny kod SQL dla każdej liczby
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c27 / c24 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c27 / c24 - 1) * 100, 1) AS day_pct, round(dv / 1e6, 1) AS day_dollar_m
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-27 13:30:00') AS dv
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker NOT IN ('SPCX')
          AND ticker NOT IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date > '2026-07-24' AND execution_date <= '2026-07-27')
          AND window_start >= '2026-07-24 13:30:00' AND window_start < '2026-07-27 20:00:00'
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Największy wzrost na tablicy odnotował DFNS, który zyskał 214.9% przy obrocie o wartości 486.4 milionów dolarów. Największy spadek zanotował MPLT, który stracił -72.9% przy obrocie o wartości 83.3 milionów. Na tej stronie odnotowano wielkości zmian i zawarte transakcje. Nie przypisuje się im żadnej przyczyny.

Zróżnicowanie sektorowe

Jedenaście funduszy SPDR Select Sector, według zmiany kursu zamknięcia z 27 lipca względem 24 lipca, uporządkowano od najlepszego do najsłabszego wyniku. Koszyk jest zdefiniowany i stały, a nie oparty na klasyfikacji dostawcy.

ZapytanieSektorowe ETF: zamknięcie 27 lipca vs zamknięcie 24 lipca, ranking
Dokładny kod SQL dla każdej liczby
SELECT sector, day_pct, round(max(day_pct) OVER () - day_pct, 2) AS points_behind_best
FROM (
    SELECT multiIf(ticker = 'XLK', 'Technology', ticker = 'XLC', 'Communications', ticker = 'XLE', 'Energy',
                   ticker = 'XLF', 'Financials', ticker = 'XLI', 'Industrials', ticker = 'XLB', 'Materials',
                   ticker = 'XLP', 'Staples', ticker = 'XLRE', 'Real Estate', ticker = 'XLU', 'Utilities',
                   ticker = 'XLV', 'Health Care', 'Consumer Discretionary') AS sector,
           round((c27 / c24 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-27 00:00:00') AS c24,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 00:00:00') AS c27
        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-07-24 13:30:00' AND window_start < '2026-07-24 20:00:00')
            OR (window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'))
        GROUP BY ticker
        HAVING c24 > 0 AND c27 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Staples znalazł się na czele zestawienia z wynikiem 1.5%, natomiast Energy zajął ostatnie miejsce z wynikiem -2.06%, o 3.56 punktów procentowych niższym. Ta różnica obrazuje dzienne zróżnicowanie sektorowe: rynek, na którym wszystkie jedenaście funduszy mieści się w przedziale jednego punktu procentowego, wygląda zupełnie inaczej niż rynek, na którym rozpiętość obejmuje kilka punktów.

Gdzie zawierano transakcje w dolarach

Zapytanie6 liderów pod względem obrotu w USD, 4 liderów pod względem liczby akcji: sesja regularna 27 lipca
Dokładny kod SQL dla każdej liczby
SELECT leaderboard, ticker, dollar_volume_bn, shares_m,
    round(1000 * dollar_volume_bn / shares_m, 2) AS implied_avg_price
FROM (
    SELECT
        'by dollars traded' AS leaderboard,
        ticker,
        round(sum(toFloat64(close) * toFloat64(volume)) / 1e9, 2) AS dollar_volume_bn,
        round(sum(toFloat64(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 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(volume)) / 1e6, 1) AS shares_m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
      AND ticker NOT IN ('SPCX')
    GROUP BY ticker
    ORDER BY shares_m DESC
    LIMIT 4
)
ORDER BY leaderboard, if(leaderboard = 'by shares traded', shares_m, dollar_volume_bn) DESC
Run this yourself

MU zajmował czołową pozycję pod względem wartości obrotu w dolarach, osiągając 35.71 mld USD w regularnych godzinach handlu. Za nim plasował się SPY z wynikiem 27.03 mld USD. Zestawienie liczby akcji odpowiada na inne pytanie: liderem był KIDZ z wynikiem 198.3 mln akcji i implikowaną średnią ceną 0.66 USD. Wartość obrotu w dolarach wskazuje, na których instrumentach koncentruje się uwaga rynku, a liczba akcji pokazuje intensywność rotacji. Odpowiednikiem tego miernika dla poszczególnych spółek jest wolumen względny.

Taśma opcji

ZapytanieRynek opcji: kontrakty, udział call, udział transakcji tego samego dnia vs piątek, najaktywniejszy kontrakt SPY
Dokładny kod SQL dla każdej liczby
WITH
    (
        SELECT (strike, typ, vol_m, is_0dte)
        FROM (
            SELECT toFloat64(any(strike_price)) AS strike, any(option_type) AS typ,
                   round(toFloat64(sum(size)) / 1e6, 2) AS vol_m,
                   if(substring(ticker, length(ticker) - 14, 6) = '260727', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
              AND underlying_symbol = 'SPY'
            GROUP BY ticker
            ORDER BY vol_m DESC, strike ASC
            LIMIT 1
        )
    ) AS top_spy,
    (
        SELECT round(toFloat64(argMax(close, window_start)), 2)
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY' AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260724') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-25 00:00:00'
    ) AS jul24_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul24_contracts_m,
    round(100.0 * sumIf(size, option_type = 'C') / sum(size), 1) AS call_pct_of_volume,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1) AS pct_0dte,
    jul24_pct_0dte,
    spy_regular_close,
    top_spy.1 AS top_spy_strike,
    top_spy.2 AS top_spy_type,
    top_spy.3 AS top_spy_contracts_m,
    top_spy.4 AS top_spy_is_0dte,
    round(top_spy.1 - spy_regular_close, 2) AS top_spy_strike_minus_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Na taśmie opcji odnotowano 11.07 mln transakcji obejmujących 64.69 mln kontraktów, wobec 71.14 mln w piątek. Opcje call stanowiły 55.1% wolumenu kontraktów. Kontrakty wygasające podczas tej samej sesji, czyli segment opcji z zerowym terminem do wygaśnięcia, odpowiadały za 39.3% wobec 49% w piątek. Rytm ten wyznacza termin wygasania. Największym wolumenem wśród kontraktów SPY wyróżniał się kontrakt 740 C, obejmujący 0.59 mln kontraktów. Jego cena wykonania znajdowała się 0.98 USD od regularnego zamknięcia SPY na poziomie $739.02, przy pomiarze różnicy jako cena wykonania minus kurs zamknięcia.

Taśma kwotowa

Dane kwotowań stanowią najrzadszy zasób danych tego zespołu i są mierzone podczas każdej sesji. Zwykłe dni również trafiają do rejestru.

ZapytanieLiczba aktualizacji NBBO dla akcji: 27 lipca vs 24 lipca, z aktualizacjami wskazanych tickerów (mln)
Dokładny kod SQL dla każdej liczby
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-24')) / 1e6, 2) AS jul24_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / countIf(toDate(sip_timestamp) = toDate('2026-07-24')) - 1) * 100, 1) AS session_over_session_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'SPY') / 1e6, 2) AS jul27_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'QQQ') / 1e6, 2) AS jul27_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27') AND ticker = 'NVDA') / 1e6, 2) AS jul27_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-24 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Taśma kwotowa akcji zawierała 553.53 mln aktualizacji NBBO wobec 500.88 mln w piątek, co oznacza zmianę między sesjami o 10.5%. Dla SPY odnotowano 4.84 mln aktualizacji, dla QQQ 6.78 mln, a dla NVDA 2.93 mln.

ZapytanieSiedem spółek: mediana spreadu kwotowań w RTH w punktach bazowych, z licznością kwotowań według jakości, 27 lipca
Dokładny kod SQL dla każdej liczby
SELECT ticker,
       round(quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price), 2) AS median_spread_bps,
       round(count() / 1e6, 2) AS quote_updates_m,
       countIf(bid_price <= 0 OR ask_price <= 0) AS one_sided_quote_count,
       countIf(bid_price > ask_price AND bid_price > 0 AND ask_price > 0) AS crossed_quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'DIA', 'IWM', 'NVDA', 'QQQ', 'SPY', 'TSLA')
  AND sip_timestamp >= '2026-07-27 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00'
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
ORDER BY ticker
Run this yourself

Mediana kwotowanego spreadu dla SPY w regularnych godzinach wyniosła 0.27 punktów bazowych wartości środkowej, dla QQQ 0.59, a dla NVDA 1.02. Dwie ostatnie kolumny zawierają dane ujawniające sposób pomiaru: jednostronne i skrzyżowane kwotowania są liczone osobno dla każdego waloru i wyłączane z mediany, a nie pomijane bez informacji. Skrzyżowane kwotowanie, w którym bid przewyższa ask, jest zwykłym efektem skonsolidowanego feedu tworzonego z danych wielu platform z rozdzielczością nanosekundową.

ZapytanieMediana spreadu SPY na tle każdej sesji lipcowej do 27 lipca, od najwęższego spreadu
Dokładny kod SQL dla każdej liczby
SELECT round(anyIf(spread_bps, d = toDate('2026-07-27')), 2) AS jul27_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-27')), groupArrayIf(spread_bps, d != toDate('2026-07-27'))) + 1 AS rank_tightest,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(sip_timestamp) AS d,
           quantileExactIf(0.5)(10000 * (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) AS spread_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-07-01 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
    GROUP BY d
    HAVING countIf(bid_price > 0 AND ask_price > 0 AND ask_price >= bid_price) > 0
)
Run this yourself

W porównaniu ze wszystkimi sesjami lipcowymi przy zastosowaniu identycznej metodologii dzienna mediana spreadu dla SPY, wynosząca 0.27 punktów bazowych, uplasowała się na 18 miejscu spośród 18, licząc od najwęższego spreadu, w okresie rozpoczynającym się 2026-07-01. Przy spokojnej taśmie kwotowej właśnie to jest istotą zestawienia: zwykły dzień z punktu widzenia płynności stanowi ustalenie, które zostało opublikowane i ma określone granice.

ZapytanieRynek NBBO opcji: łączna liczba aktualizacji vs rynek akcji, wraz z wycinkiem dla SPY, 27 lipca
Dokładny kod SQL dla każdej liczby
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00') AS jul27_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00') AS jul27_stock_quote_rows
SELECT
    round(jul27_options_rows / 1e9, 2) AS jul27_options_bn,
    round(jul27_options_rows / jul27_stock_quote_rows, 1) AS options_to_stock_ratio,
    round((SELECT count() FROM global_markets.cache_options_quotes WHERE ticker >= 'O:SPY26' AND ticker < 'O:SPY27' AND sip_timestamp >= '2026-07-27 13:30:00' AND sip_timestamp < '2026-07-27 20:00:00') / 1e6, 0) AS jul27_spy_options_m
Run this yourself

Taśma NBBO dla opcji zawierała 10.38 mld aktualizacji, czyli 18.8 razy więcej niż taśma kwotowa akcji, przy czym sam root SPY odnotował 440 mln aktualizacji w regularnych godzinach.

Rentowność

ZapytanieKwotowania krzywej rentowności obligacji skarbowych zarejestrowane od 22 do 27 lipca
Dokładny kod SQL dla każdej liczby
SELECT toString(date) AS date,
       round(toFloat64(yield_2_year), 2) AS yield_2y_pct,
       round(toFloat64(yield_10_year), 2) AS yield_10y_pct,
       round(toFloat64(yield_30_year), 2) AS yield_30y_pct,
       round((toFloat64(yield_10_year) - toFloat64(yield_2_year)) * 100) AS spread_2s10s_bp
FROM global_markets.treasury_yields
WHERE date >= '2026-07-22' AND date <= '2026-07-27'
ORDER BY date
Run this yourself

Plik obligacji skarbowych jest opóźniony względem bieżących notowań o około jedną sesję. Dlatego panel przedstawia zapisane w nim transakcje: 4 wierszy z datami z okresu od 22 do 27 lipca. Najnowszy wiersz, z datą 2026-07-27, wskazywał rentowność obligacji dwuletnich na poziomie 4.31%, dziesięcioletnich na poziomie 4.65%, a trzydziestoletnich na poziomie 5.12%. Oznacza to spread między obligacjami dwuletnimi a dziesięcioletnimi w wysokości 34 punktów bazowych.

Kalendarz stojący za sesją

ZapytanieDni bez prawa do dywidendy, splity, debiuty giełdowe, wiadomości oraz zestawienie złożeń SEC z 27 lipca
Dokładny kod SQL dla każdej liczby
WITH
    (
        SELECT (argMax(t, (n, t)), max(n))
        FROM (
            SELECT t, count() AS n
            FROM (
                SELECT arrayJoin(tickers) AS t
                FROM global_markets.stocks_news
                WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), uniqExact(cik), countIf(form_type = '4'), countIf(form_type = '8-K'), countIf(form_type = '424B2'), countIf(form_type = '10-Q'))
        FROM global_markets.stocks_sec_edgar_index
        WHERE filing_date = '2026-07-27'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-27') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-27') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-27') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-27 04:00:00' AND published_utc < '2026-07-28 04:00:00') AS news_publishers,
    top_news.1 AS top_news_ticker,
    top_news.2 AS top_news_n,
    fil.1 AS fil_total,
    fil.2 AS fil_filers,
    fil.3 AS fil_form4,
    fil.4 AS fil_8k,
    fil.5 AS fil_424b2,
    fil.6 AS fil_10q
Run this yourself

Dywidendy 91 spółek zostały odcięte od dywidendy ex-dividend 27 lipca, wykonano 7 odwrotnych i 1 zwykłych splitów, a na taśmę trafiło 0 nowych listingów. Kanał informacyjny zawierał 166 artykułów od 2 wydawców, przy czym MSFT był najczęściej opisywanym tickerem w okresie objętym tym kanałem — ukazało się 12 artykułów. Dzienny indeks EDGAR zawiera 3997 zgłoszeń z tego dnia od 2163 odrębnych składających: 587 raportów insiderów Formularz 4, 226 bieżących raportów 8-K, 555 uzupełnień cenowych 424B2 oraz 23 kwartalnych raportów 10-Q. Indeks jest publikowany według własnego harmonogramu, a niniejszy panel przedstawia dane dostępne w nim w momencie generowania.

W planie

Pozostałą część tygodnia, od wtorku 28 lipca do piątku 31 lipca, należy analizować na podstawie tych samych tabel, z celowym wykraczaniem poza ten okres.

ZapytanieKalendarz na 28–31 lipca: zamknięcia, dni bez prawa do dywidendy, splity, piątkowe wygaśnięcie i opóźnienie danych o krótkiej sprzedaży
Dokładny kod SQL dla każdej liczby
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-28' AND date <= '2026-07-31' AND status != 'open') AS closures_rest_of_week,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-28' AND ex_dividend_date <= '2026-07-31') AS exdiv_records_rest_of_week,
    (SELECT countIf(ticker IN ('AAPL', 'MSFT', 'JPM', 'KO', 'JNJ', 'XOM', 'CVX', 'PG', 'WMT', 'HD')) FROM global_markets.stocks_dividends WHERE ex_dividend_date >= '2026-07-28' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-28' AND execution_date <= '2026-07-31') AS splits_rest_of_week,
    round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260731') / sum(size), 1) AS jul31_expiry_pct_of_mon_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-27') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
Run this yourself

Tabela dni wolnych wskazuje 0 zamknięć podczas czterech pozostałych sesji tygodnia. W tych dniach przypadają daty ex-dividend dla 843 spółek, w tym 0 spośród dziesięciu monitorowanych powszechnie znanych firm, a wykonanie zaplanowano dla 18 splitów. W poniedziałkowym wolumenie obrotu opcjami 17.1% przypadało już na kontrakty z terminem wygaśnięcia w piątek 31 lipca. Najnowsze dostępne rozliczenie krótkiej pozycji to 2026-07-15 — dane te publikowane są z opóźnieniem na tyle dużym, że doczekały się osobnego wyjaśnienia.

Sesja, zweryfikowana

ZapytanieWeryfikacja sesji: pierwsza/ostatnia świeca SPY w ET, liczba świec regularnych, dni wolne, następne zamknięcie
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,
    countIf(window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-27') AS jul27_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-27' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_date,
    (SELECT argMin(name, date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-27' AND date <= '2026-12-31' AND status = 'closed') AS next_closure_name
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-27 00:00:00' AND window_start < '2026-07-28 00:00:00'
Run this yourself

Pełna regularna sesja: pierwsza świeca SPY o 04:00 ET, ostatnia o 19:59 ET, 390 świec w regularnych godzinach, 1 sesja w analizowanym przedziale oraz 0 wierszy dotyczących świąt dla tej daty. Najbliższe zaplanowane zamknięcie rynku przypada na Labor Day o 2026-09-07.

FAQ

Jak zachował się rynek akcji w poniedziałek 27 lipca 2026 r.?

SPY zmienił 0.02% względem piątkowego zamknięcia do poziomu 739.02 USD, podczas gdy QQQ wyniósł -0.32%, DIA 0.49%, a IWM 0.59%. Wśród płynnych walorów 3880 wzrósł, a 1972 spadł.

Który sektor wypadł najlepiej 27 lipca 2026 r.?

Staples, na poziomie 1.5%, w ujęciu obejmującym jedenaście funduszy sektorowych SPDR Select Sector. Najsłabszy z jedenastu, Energy, odnotował -2.06%.

Jak aktywny był rynek opcji 27 lipca 2026 r.?

Obrót wyniósł 64.69 mln kontraktów wobec 71.14 mln podczas poprzedniej sesji. Kontrakty wygasające tego samego dnia stanowiły 39.3% obrotu, a opcje call 55.1%.

Która spółka odnotowała największy obrót w ujęciu wartościowym 27 lipca 2026 r.?

MU, z obrotem w regularnych godzinach sesji na poziomie 35.71 mld USD, przed SPY z wynikiem 27.03 mld USD.

Uwagi dotyczące danych

To wydanie uzupełnia poniedziałkową sesję we wznowionym cyklu dziennym, opublikowanym 1 sierpnia. Poprzednia sesja według daty sesji to 10 lipca 2026 r., wydanie z 29 lipca obejmuje środę tego samego tygodnia, a tygodniowe podsumowanie dotyczy tygodnia zakończonego w piątek 24 lipca — sesji, na której opiera się każde porównanie na tej stronie. Panele przypisane do poszczególnych tickerów uporządkowano alfabetycznie, aby odwołania w tekście wskazywały stałe wiersze. Rankingi i zestawienia największych zmian uporządkowano według wartości, a każde zawarte w nich twierdzenie dotyczące pozycji zakodowano jako warunek kontrolny. Koszyk spółek mega-cap oraz sektorowy koszyk jedenastu funduszy to z góry określone, stałe zbiory, a nie klasyfikacje dostawcy danych. Zestawienia największych zmian stosują próg obrotu w regularnych godzinach w wysokości pięciu milionów USD, wykluczają każdy instrument, którego podział akcji został wykonany między dwiema mierzonymi cenami zamknięcia, oraz wykluczają jeden powtórnie użyty symbol zgodnie z wewnętrzną regułą dotyczącą niejednoznaczności. Dzięki temu każde wyróżnienie odnosi się do możliwej do zweryfikowania nazwy. Każda zmiana ceny zamknięcia względem poprzedniego zamknięcia obejmuje tu weekend, od piątku 24 lipca do poniedziałku 27 lipca, a kolumna luki w tabeli wyników obejmuje cały ten okres. Panele kwotowań zliczają jednostronne i skrzyżowane kwotowania dla każdego instrumentu, zamiast je po cichu pomijać. Plik dotyczący obligacji skarbowych oraz dzienny indeks EDGAR są publikowane według własnych harmonogramów, dlatego panele przedstawiają dostępne w nich dane, bez zakładania, że pliki już wpłynęły. W tym wydaniu nie występuje indeks zmienności implikowanej. Takie szeregi czasowe nie są objęte licencją dla tego repozytorium, dlatego zmienność oceniana jest na podstawie danych transakcyjnych: zakresów zmian, udziału opcji zawieranych tego samego dnia oraz zachowania kwotowań.

Metodyka

  • Źródło danych rynkowych: skonsolidowany strumień transakcji. delayed_stocks_minute_aggs dla cen i wolumenów, options_trades dla strumienia transakcji opcyjnych, cache_stocks_quotes i cache_options_quotes dla paneli NBBO.
  • Zamknięcie: ostatni minutowy słupek regularnej sesji, nigdy założona transakcja z godziny 16:00 ani transakcja z handlu poza regularnymi godzinami.
  • Obsługa stref czasowych: wszystkie zapisane znaczniki czasu są w UTC; klauzule WHERE używają surowych wartości UTC, a toTimeZone występuje wyłącznie na listach SELECT jako etykieta ET.
  • Weryfikacja sesji: na podstawie tabeli dni wolnych oraz zaobserwowanych słupków, nigdy wyłącznie na podstawie kalendarza.
  • Porównania z poprzednią sesją: obliczane w zapytaniu od piątku 24 lipca, czyli poprzedniej sesji handlowej przed weekendem, a nie przenoszone z wcześniejszej publikacji.
  • Miejsca dziesiętne: kolumny cen, wielkości i wolumenów są rzutowane na Float64 przed wykonaniem jakiegokolwiek dzielenia lub mnożenia.
  • Deterministyczne agregaty: wszędzie stosowane są dokładne kwantyle oraz rozstrzyganie remisów na podstawie kluczy krotek; każde stwierdzenie dotyczące kolejności lub znaku w tekście jest zakodowane jako warunek kontrolny.
  • Data stanu magazynu danych: 1 sierpnia 2026 r., pięć dni po sesji, czyli po typowym dla strumienia danych opóźnieniu ingestii wynoszącym od jednego do dwóch dni; ograniczone potwierdzenia powyżej zabezpieczają publikację na wypadek braku zbioru danych w momencie generowania.

Odsyłacze: poprzednie dzienne podsumowanie, wydanie z 29 lipca, tygodniowe podsumowanie, termin wygaśnięcia opcji, czym jest spread bid-ask oraz spread obligacji skarbowych dwu- do dziesięcioletnich.

Każde z powyższych zapytań działa bez zmian na terminalu Strasmore, jeśli konieczne jest wskazanie innego okna dla wybranej sesji.