Strasmore Research
Ringkasan pasaran Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-02

Ringkasan Pasaran 28 Julai 2026: Angka Harian

Ringkasan pasaran 28 Julai 2026 berdasarkan data dagangan: papan skor indeks, breadth, sektor, aliran opsyen, kadar dan kalendar, dengan angka disokong pertanyaan tersimpan.

Ringkasan pasaran bagi Selasa, 28 Julai 2026 ini merangkumi keseluruhan sesi berdasarkan pertanyaan tersimpan: perubahan penutupan-ke-penutupan SPY ialah 0.24%, bahagian saham yang meningkat dalam dagangan cair ialah 58.6%, dan rekod dagangan opsyen mencatat 59.28 juta kontrak. Setiap tempoh di bawah ditetapkan pada tarikh mula dan tarikh akhir yang jelas, jadi pelaksanaan semula SQL bagi mana-mana panel akan menghasilkan angka yang sama.

Papan skor

Setiap perubahan membandingkan bar minit sesi biasa terakhir pada 28 Julai dengan bar pada Isnin, 27 Julai, iaitu dua sesi dagangan berturut-turut. Baris disusun mengikut abjad, maka setiap ETF mengekalkan kedudukan tetap.

PertanyaanSPY / QQQ / DIA / IWM: 28 Jul vs penutupan 27 Jul, waktu dagangan biasa
SQL tepat di sebalik setiap nombor
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-27 13:30:00' AND window_start < '2026-07-27 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-28 13:30:00' AND window_start < '2026-07-28 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 berubah sebanyak 1.07%, IWM 0.15%, QQQ -0.96%, dan SPY 0.24% kepada penutupan pada $740.76. Setiap baris membahagikan perubahan itu kepada dua bahagian: SPY dibuka 0.02% daripada penutupan Isnin dan berubah sebanyak 0.21% dari pembukaan hingga penutupan. Pergerakan semalaman dan pergerakan intrahari tidak semestinya sehala. Pecahan antara kedua-duanya ialah petunjuk awal bagi sesuatu sesi.

Adakah hari itu luar biasa?

Angka bagi satu sesi tidak banyak bermakna tanpa taburan di sebaliknya. Oleh itu, hari tersebut dinilai dalam bulan berakhirnya sendiri menggunakan logik yang sama.

PertanyaanPergerakan harian SPY dalam konteks lampau (buka hingga tutup, 29 Jun hingga 28 Jul)
SQL tepat di sebalik setiap nombor
SELECT
    round(anyIf(oc_pct, d = toDate('2026-07-28')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-07-28'))), groupArrayIf(abs(oc_pct), d != toDate('2026-07-28'))) + 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-29 13:30:00')
      AND window_start < toDateTime('2026-07-29 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)
Run this yourself

Pergerakan SPY dari pembukaan hingga penutupan sebanyak 0.21% menduduki kedudukan 14 daripada 21 sesi terdahulu berdasarkan saiz mutlak, dalam tetingkap yang bermula dari 2026-06-29. Kedudukan itu mengira bilangan sesi lain dalam tetingkap yang mencatat pergerakan lebih besar, kemudian menambah satu. Oleh itu, kedudukan pertama bermaksud pergerakan terbesar dalam bulan terdahulu.

Keluasan pasaran

Paras indeks ialah satu angka. Keluasan pasaran mengira bilangan saham yang bergerak seiring dengannya.

PertanyaanKeluasan pasaran pita cair: penutupan 28 Jul vs penutupan 27 Jul, penapis dagangan $1M
SQL tepat di sebalik setiap nombor
SELECT
    countIf(c28 > c27 AND liquid) AS advancers,
    countIf(c28 < c27 AND liquid) AS decliners,
    countIf(c28 = c27 AND liquid) AS unchanged,
    countIf(liquid) AS liquid_tickers,
    countIf(NOT liquid) AS dropped_by_liquidity_filter,
    round(100.0 * countIf(c28 > c27 AND liquid) / countIf(liquid), 1) AS advancer_pct
FROM (
    SELECT ticker, c27, c28, dv28 >= 1000000 AS liquid
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 13:30:00') AS dv28
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
Run this yourself

Daripada 6008 saham yang melepasi ambang nilai dagangan waktu biasa sebanyak satu juta dolar, 3519 ditutup lebih tinggi berbanding penutupan Isnin dan 2423 ditutup lebih rendah, dengan bahagian saham meningkat sebanyak 58.6%. Penapis itu mengetepikan 5346 saham yang kurang aktif didagangkan, dan saham tersebut dikira di sini, bukannya dibuang secara senyap.

Barisan mega-cap

Lapan nama mega-cap yang sama muncul pada setiap sesi, disusun mengikut abjad supaya setiap satu kekal pada barisnya. Bakul tetap ialah intinya: pembaca mengenali setiap baris, dan tiada pemilihan editorial dibuat selepas keputusan diketahui.

PertanyaanLapan mega-kapitalisasi: perubahan vs 27 Jul dan nilai dagangan waktu biasa, 28 Jul
SQL tepat di sebalik setiap nombor
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-28 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-28 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
        OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 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

AAPL bergerak 0.97%, META -0.05%, MSFT 1.12% dan NVDA 0.23% berdasarkan perolehan dagangan waktu biasa sebanyak 21.11 bilion dolar, manakala TSLA berada pada -0.57%. Lajur dolar menunjukkan jumlah bahagian dagangan yang dibawa oleh lapan nama ini secara bersendirian; panel keluasan pasaran di atas menunjukkan sejauh mana bahagian pasaran yang lain bergerak seiring dengan mereka.

Saham yang bergerak hari ini

Kedua-dua papan memerlukan nilai dagangan waktu biasa sebanyak lima juta dolar, mengecualikan mana-mana kaunter yang pemecahannya dilaksanakan antara dua penutupan yang diukur, serta mengecualikan satu simbol yang digunakan semula di bawah kawalan kekaburan dalaman yang diterangkan dalam nota.

PertanyaanPemenang dan penurun terbesar: penutupan 28 Jul vs penutupan 27 Jul, dagangan $5M+, pecahan saham dikecualikan
SQL tepat di sebalik setiap nombor
SELECT ticker, board, day_pct, day_dollar_m
FROM (
    SELECT 'gainers' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct DESC
    LIMIT 8
    UNION ALL
    SELECT 'decliners' AS board, ticker, round((c28 / c27 - 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-27 13:30:00' AND window_start < '2026-07-27 20:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS c28,
               sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-28 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-27' AND execution_date <= '2026-07-28')
          AND window_start >= '2026-07-27 13:30:00' AND window_start < '2026-07-28 20:00:00'
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0 AND dv >= 5000000
    )
    ORDER BY day_pct ASC
    LIMIT 8
)
ORDER BY board DESC, abs(day_pct) DESC
Run this yourself

Kaunter yang mencatat kenaikan terbesar di papan itu, STKH, bergerak sebanyak 166.7% dengan dagangan bernilai 113.2 juta dolar. Kaunter yang mencatat penurunan paling ketara, YYAI, mencatat -71% dengan dagangan bernilai 18.3 juta dolar. Halaman ini merekodkan saiz dan resit tersebut; halaman ini tidak mengaitkan sebarang cerita dengannya.

Perbezaan prestasi sektor

Sebelas dana SPDR sektor terpilih, berdasarkan penutupan 28 Julai berbanding 27 Julai, disusun daripada yang terbaik hingga yang terburuk. Bakul ini telah ditetapkan dan tidak berubah, bukan klasifikasi vendor.

PertanyaanETF sektor, penutupan 28 Jul vs penutupan 27 Jul, mengikut kedudukan
SQL tepat di sebalik setiap nombor
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((c28 / c27 - 1) * 100, 2) AS day_pct
    FROM (
        SELECT ticker,
               argMaxIf(toFloat64(close), window_start, window_start < '2026-07-28 00:00:00') AS c27,
               argMaxIf(toFloat64(close), window_start, window_start >= '2026-07-28 00:00:00') AS c28
        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-27 13:30:00' AND window_start < '2026-07-27 20:00:00')
            OR (window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00'))
        GROUP BY ticker
        HAVING c27 > 0 AND c28 > 0
    )
)
ORDER BY day_pct DESC
Run this yourself

Health Care menduduki tempat teratas pada 2.36%, manakala Technology berada di tempat terbawah pada -1.9%, iaitu 4.26 mata peratusan di belakang. Jurang itu ialah perbezaan prestasi sektor pada hari tersebut: pasaran yang menyaksikan kesemua sebelas sektor berada dalam julat satu mata memberikan gambaran yang sangat berbeza daripada pasaran yang tersebar merentasi beberapa mata.

Tempat dolar didagangkan

Pertanyaan6 teratas mengikut nilai dagangan, 4 teratas mengikut jumlah saham: waktu biasa 28 Jul
SQL tepat di sebalik setiap nombor
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-28 13:30:00' AND window_start < '2026-07-28 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-28 13:30:00' AND window_start < '2026-07-28 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 mendahului papan dolar dengan nilai dagangan waktu biasa sebanyak 39.21 bilion, diikuti QQQ pada 29.98 bilion. Papan saham menjawab soalan yang berbeza: ONFO mendahuluinya dengan 182.4 juta saham pada harga purata tersirat sebanyak $0.16. Jumlah dagangan dalam dolar menunjukkan tumpuan pasaran, manakala jumlah saham menunjukkan kadar pertukaran pegangan. Ukuran ini bagi setiap kaunter ialah volum relatif.

Pita options

PertanyaanPita opsyen: kontrak, bahagian panggilan, bahagian hari yang sama vs Isnin, kontrak SPY paling aktif
SQL tepat di sebalik setiap nombor
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) = '260728', 1, 0) AS is_0dte
            FROM global_markets.options_trades
            WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 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-28 13:30:00' AND window_start < '2026-07-28 20:00:00'
    ) AS spy_regular_close,
    (
        SELECT round(toFloat64(sum(size)) / 1e6, 2)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_contracts_m,
    (
        SELECT round(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260727') / sum(size), 1)
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-28 00:00:00'
    ) AS jul27_pct_0dte
SELECT
    round(count() / 1e6, 2) AS option_prints_m,
    round(toFloat64(sum(size)) / 1e6, 2) AS contracts_m,
    jul27_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) = '260728') / sum(size), 1) AS pct_0dte,
    jul27_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-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Pita options merekodkan 10.07 juta dagangan bagi 59.28 juta kontrak, berbanding 64.69 juta pada Isnin. Call merangkumi 55% daripada jumlah volum kontrak. Kontrak yang tamat tempoh pada sesi yang sama, iaitu kelompok tempoh sifar hari sehingga tamat tempoh, mencatat 29% berbanding 39.3% pada Isnin. Corak ini ditentukan oleh masa tamat tempoh. Kontrak SPY yang paling aktif ialah 742 C, dengan 0.72 juta kontrak. Harga exercise-nya berada 1.24 dolar daripada penutupan biasa SPY pada $740.76, dikira sebagai harga exercise ditolak harga penutupan.

Pita sebut harga

Data sebut harga ialah set data yang paling terhad di meja dagangan ini dan diukur pada setiap sesi. Hari biasa turut direkodkan.

PertanyaanBilangan kemas kini NBBO saham: 28 Jul vs 27 Jul, dengan kemas kini ticker bernama (juta)
SQL tepat di sebalik setiap nombor
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / 1e6, 2) AS jul28_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-27')) / 1e6, 2) AS jul27_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-28')) / countIf(toDate(sip_timestamp) = toDate('2026-07-27')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'SPY') / 1e6, 2) AS jul28_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'QQQ') / 1e6, 2) AS jul28_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-28') AND ticker = 'NVDA') / 1e6, 2) AS jul28_nvda_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-27 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Pita sebut harga saham merekodkan 536.07 juta kemas kini NBBO berbanding 553.53 juta pada Isnin, iaitu perubahan hari ke hari sebanyak -3.2%. SPY merekodkan 4.72 juta kemas kini, QQQ 5.94 juta dan NVDA 3.01 juta.

PertanyaanTujuh saham: spread sebut harga median RTH dalam mata asas, dengan kiraan kualiti sebut harga, 28 Jul
SQL tepat di sebalik setiap nombor
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-28 13:30:00' AND sip_timestamp < '2026-07-28 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

spread sebut harga median SPY pada waktu dagangan biasa berukuran 0.27 mata asas daripada titik tengah, berbanding 0.74 untuk QQQ dan 1.52 untuk NVDA. Dua lajur terakhir ialah pendedahan: sebut harga sebelah dan sebut harga bersilang dikira bagi setiap nama dan diasingkan daripada median, bukannya digugurkan secara senyap. Sebut harga bersilang, iaitu bida melebihi tawaran, ialah artifak biasa bagi suapan disatukan yang digabungkan daripada banyak venue pada resolusi nanosaat.

PertanyaanSpread median SPY berbanding setiap sesi Julai, yang paling ketat dahulu
SQL tepat di sebalik setiap nombor
SELECT round(anyIf(spread_bps, d = toDate('2026-07-28')), 2) AS jul28_median_spread_bps,
       arrayCount(x -> x < anyIf(spread_bps, d = toDate('2026-07-28')), groupArrayIf(spread_bps, d != toDate('2026-07-28'))) + 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-28 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

Jika dibandingkan dengan setiap sesi Julai berdasarkan logik yang sama, spread median SPY pada hari itu, sebanyak 0.27 mata asas, berada pada kedudukan 16 daripada 19, dikira dari spread paling kecil, dalam tetingkap yang bermula pada 2026-07-01. Dalam pita yang tenang, ayat itu ialah inti pati panel ini: hari biasa bagi kecairan ialah suatu dapatan yang diterbitkan dan mempunyai sempadan yang jelas.

PertanyaanPita NBBO opsyen: jumlah kemas kini vs pita saham, serta pecahan akar SPY, 28 Jul
SQL tepat di sebalik setiap nombor
WITH
    (SELECT count() FROM global_markets.cache_options_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_options_rows,
    (SELECT count() FROM global_markets.cache_stocks_quotes WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00') AS jul28_stock_quote_rows
SELECT
    round(jul28_options_rows / 1e9, 2) AS jul28_options_bn,
    round(jul28_options_rows / jul28_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-28 13:30:00' AND sip_timestamp < '2026-07-28 20:00:00') / 1e6, 0) AS jul28_spy_options_m
Run this yourself

Pita NBBO options merekodkan 10.23 bilion kemas kini, iaitu 19.1 kali ganda pita sebut harga saham, dengan root SPY sahaja merekodkan 382 juta kemas kini pada waktu dagangan biasa.

Kadar

PertanyaanCetakan lengkung Treasury yang direkodkan, 23 Jul hingga 28 Jul
SQL tepat di sebalik setiap nombor
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-23' AND date <= '2026-07-28'
ORDER BY date
Run this yourself

Fail Treasury ketinggalan kira-kira satu sesi berbanding pasaran, jadi panel ini melaporkan transaksi yang direkodkannya: baris bertarikh 4 dalam tempoh tersebut. Data terkini bertarikh 2026-07-28 menunjukkan hasil dua tahun pada 4.26%, hasil sepuluh tahun pada 4.61% dan hasil tiga puluh tahun pada 5.09%, dengan spread dua hingga sepuluh tahun sebanyak 35 mata asas.

Kalendar di sebalik hari tersebut

PertanyaanTarikh tanpa dividen, pecahan saham, penyenaraian, berita dan campuran pemfailan SEC 28 Jul
SQL tepat di sebalik setiap nombor
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-28 04:00:00' AND published_utc < '2026-07-29 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-28'
    ) AS fil
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-28') AS ex_dividend_records,
    (SELECT countIf(toFloat64(split_from) > toFloat64(split_to)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS reverse_splits,
    (SELECT countIf(toFloat64(split_to) > toFloat64(split_from)) FROM global_markets.stocks_splits WHERE execution_date = '2026-07-28') AS forward_splits,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-28') AS listings,
    (SELECT count() FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 04:00:00') AS news_articles,
    (SELECT uniqExact(JSONExtractString(publisher, 'name')) FROM global_markets.stocks_news WHERE published_utc >= '2026-07-28 04:00:00' AND published_utc < '2026-07-29 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

Rekod dividen 147 berstatus ex-dividend pada 28 Julai, 3 pemecahan saham songsang dan 0 pemecahan saham biasa dilaksanakan, manakala penyenaraian baharu 2 memasuki pasaran. Suapan berita memuatkan 161 artikel daripada 2 penerbit, dengan ticker yang paling banyak diliputi dalam tempoh suapan ini ialah MSFT, dalam 9 artikel. Indeks harian EDGAR merekodkan 5915 pemfailan bagi tarikh tersebut daripada 2898 pemfail berbeza: 856 laporan orang dalam Borang 4, 315 laporan semasa 8-K, 900 tambahan penentuan harga 424B2 dan 100 laporan suku tahunan 10-Q. Indeks itu dikemas kini mengikut jadualnya sendiri, dan panel ini melaporkan kandungan yang tersedia pada masa penjanaan.

Hari yang mendatang

Bagi baki minggu ini, baca jadual yang sama sambil sengaja melihat melangkaui tempoh tersebut.

Pertanyaan29 hingga 31 Jul dalam kalendar: penutupan, tarikh tanpa dividen, pecahan saham, tamat tempoh Jumaat dan kelewatan faedah jualan singkat
SQL tepat di sebalik setiap nombor
SELECT
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date >= '2026-07-29' 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-29' 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-29' AND ex_dividend_date <= '2026-07-31') AS household_exdivs,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date >= '2026-07-29' 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_tue_volume,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest WHERE settlement_date <= '2026-07-28') AS latest_short_interest_settlement
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-28 00:00:00' AND sip_timestamp < '2026-07-29 00:00:00'
Run this yourself

Jadual cuti menunjukkan 0 penutupan pasaran pada Rabu, 29 Julai, Khamis, 30 Julai dan Jumaat, 31 Julai. Rekod dividen bagi 696 saham menjadi ex-dividend sepanjang tiga sesi tersebut, termasuk 0 daripadanya dalam kalangan sepuluh nama isi rumah yang diperiksa, manakala 15 pemecahan saham dijadualkan untuk dilaksanakan. Daripada jumlah dagangan option pada Selasa, 17.5% telah melibatkan kontrak yang ditetapkan untuk tamat tempoh pada Jumaat, 31 Julai. Penyelesaian short interest terbaharu dalam rekod ialah 2026-07-15, iaitu fail yang diterbitkan dengan kelewatan yang cukup lama sehingga mempunyai penerangan tersendiri.

Sesi, disahkan

PertanyaanPengesahan sesi: bar SPY ET pertama/terakhir, kiraan bar biasa, penerimaan cuti, penutupan seterusnya
SQL tepat di sebalik setiap nombor
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-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-28 13:30:00' AND window_start < '2026-07-28 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.stocks_market_holidays WHERE date = '2026-07-28') AS jul28_holiday_rows,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-28' 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-28' 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-28 00:00:00' AND window_start < '2026-07-29 00:00:00'
Run this yourself

Sesi biasa penuh: bar SPY pertama pada 04:00 ET, yang terakhir pada 19:59 ET, 390 bar waktu dagangan biasa, 1 sesi dalam tetingkap tersebut, dan 0 baris cuti bagi tarikh itu. Penutupan berjadual seterusnya ialah Labor Day pada 2026-09-07.

Soalan Lazim

Bagaimanakah prestasi pasaran saham pada Selasa, 28 Julai 2026?

SPY berubah 0.24% dari penutupan ke penutupan kepada $740.76, dengan QQQ pada -0.96%, DIA pada 1.07% dan IWM pada 0.15%. Dalam kalangan saham yang cair, 3519 meningkat manakala 2423 merosot.

Sektor manakah yang mendahului pasaran pada 28 Julai 2026?

Health Care, pada 2.36%, berdasarkan sebelas dana sektor pilihan SPDR. Dana yang paling lemah dalam kalangan sebelas dana itu, Technology, mencatat -1.9%.

Sejauh manakah sibuknya pasaran options pada 28 Julai 2026?

59.28 juta kontrak didagangkan, berbanding 64.69 juta pada sesi sebelumnya. Kontrak hari yang sama menyumbang 29% daripada jumlah dagangan dan call menyumbang 55%.

Saham manakah mencatat nilai dagangan dolar tertinggi pada 28 Julai 2026?

MU, dengan volum dagangan dolar waktu dagangan biasa sebanyak 39.21 bilion, mendahului QQQ pada 29.98 bilion.

Nota data

Edisi ini melengkapkan jurang 28 Julai dalam siri harian: data harian 27 Julai meliputi sesi sebelumnya, data harian 29 Julai meliputi sesi selepasnya, manakala ringkasan mingguan merangkumi minggu sebelum kedua-dua sesi tersebut. Panel yang dinamakan mengikut ticker disusun mengikut abjad supaya rujukan dalam teks menunjuk kepada baris yang tetap; papan pendahulu dan papan kaunter yang bergerak disusun mengikut nilai, dan setiap dakwaan berkaitan kedudukan disertakan had semakan munasabah. Bakul mega-cap dan bakul sektor yang terdiri daripada eleven-fund ialah set yang ditetapkan dan tetap, bukannya klasifikasi vendor. Papan kaunter yang bergerak mengenakan paras pusing ganti waktu dagangan biasa sebanyak lima juta dolar, mengecualikan mana-mana kaunter yang pecah bahagiannya dilaksanakan antara dua penutupan yang diukur, serta mengecualikan satu simbol yang digunakan semula di bawah kawalan kekaburan dalaman. Oleh itu, setiap sorotan sentiasa merujuk kepada kaunter yang boleh disahkan. Panel sebut harga mengira sebut harga sehala dan sebut harga bersilang bagi setiap kaunter, bukannya menggugurkannya secara senyap. Fail Treasury dan indeks harian EDGAR diterima mengikut jadual masing-masing. Oleh itu, panel tersebut melaporkan data yang tersedia, tanpa mengandaikan fail telah diterima. Tiada indeks implied volatility dipaparkan di sini. Siri tersebut tidak dilesenkan ke dalam gudang data ini. Oleh itu, turun naik diukur daripada tape melalui julat harga, bahagian options pada hari yang sama dan tingkah laku sebut harga.

Metodologi

  • Sumber data pasaran: consolidated tape. delayed_stocks_minute_aggs untuk harga dan volum, options_trades untuk options tape, cache_stocks_quotes dan cache_options_quotes untuk panel NBBO.
  • Penutupan: bar minit terakhir sesi biasa, bukan print 16:00 yang diandaikan dan bukan print waktu dagangan lanjutan.
  • Pengendalian zon waktu: semua cap masa yang disimpan ialah UTC; klausa WHERE menggunakan literal UTC mentah, manakala toTimeZone hanya muncul dalam senarai SELECT untuk label ET.
  • Pengesahan sesi: berdasarkan jadual cuti serta bar yang diperhatikan, bukan andaian daripada kalendar.
  • Perbandingan dengan sesi sebelumnya: dikira dalam query daripada 27 Julai, bukan dibawa daripada kiriman terdahulu.
  • Perpuluhan: lajur harga, saiz dan volum ditukar kepada Float64 sebelum sebarang pembahagian atau pendaraban.
  • Agregat deterministik: kuantil tepat dan pemecah seri berasaskan kunci tuple digunakan secara menyeluruh; setiap dakwaan tentang susunan atau tanda dalam prosa dikodkan sebagai had semakan kewajaran.
  • Tarikh as-of gudang data: 1 Ogos 2026, empat hari selepas sesi dan selepas tempoh kelewatan pengingesan tape yang lazimnya satu hingga dua hari; resit terhad di atas mengekalkan kiriman ini jika mana-mana dataset didapati hilang semasa penjanaan.

Pautan silang: rekap harian 27 Julai, rekap harian 29 Julai, masa options tamat tempoh, maksud spread bid-ask, dan spread dua hingga sepuluh tahun.

Setiap query di atas berjalan tanpa perubahan pada terminal Strasmore jika anda mahu menghalakan semula suatu tetingkap kepada sesi yang berbeza.