Strasmore Research
市场回顾 Matt Connor作者: Matt Connor · 更新于 2026-09-28

2026年7月2日市场复盘:下跌表象下的资金轮动

独立日休市前资金如何轮动?查看纳斯达克下跌、行业基金分化、存储芯片走弱与市场广度数据,理解这场看似崩盘的分裂行情。

2026年7月2日星期四是独立日休市前的最后一个交易日。当天表面上是下跌,实质上是资金轮动。QQQ下跌 -1.71%,而DIA上涨 1.04%。市场广度为正:3398只交易活跃的股票上涨,2758只下跌;尽管成长股指数下跌,盘面仍有54.6%的股票上涨。11只行业基金中有8只收高。卖压集中在科技股和此前一天走弱的存储芯片板块前一日。

盘面概览

查询SPY / QQQ / DIA / IWM:7月2日与7月1日收盘价对比,常规交易时段
代码前收盘价当日开盘价当日收盘价涨跌幅当日最高价当日最低价成交股数(百万)
DIA522.41525.49527.831.04528.26523.733
IWM299.31300.54297.53-0.59302.23294.9818.5
QQQ725.16725.58712.74-1.71730.83707.5643.7
SPY745.69747.4744.8-0.12751.31740.0343.9
每个数字背后的完整 SQL
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-01 13:30:00' AND window_start < '2026-07-01 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-02 13:30:00' AND window_start < '2026-07-02 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.ticker
自己运行这个查询

DIA报1.04%,QQQ报-1.71%,概括了当天的市场表现:工业股与成长股的日回报率相差近三个百分点。SPY介于两者之间,报-0.12%;IWM收于-0.59%。

这一天是否异常?

同一面板展示两种视角:SPY的开盘至收盘变动,以及QQQ的收盘至收盘变动。两者均按绝对幅度与过去一个月的表现进行排名(排名1代表幅度最大)。

查询SPY和QQQ相对过去一个月交易日排名(排名1 = 绝对变动最大)
SPY开收盘涨跌幅SPY绝对变动排名SPY比较交易日数QQQ收盘价涨跌幅QQQ绝对变动排名QQQ比较交易日数首个交易日
-0.351522-1.719212026-06-02
每个数字背后的完整 SQL
WITH per_day AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct,
           argMax(toFloat64(close), window_start) AS rth_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ')
      AND window_start >= toDateTime('2026-06-02 00:00:00')
      AND window_start < toDateTime('2026-07-03 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, d
),
with_prev AS (
    SELECT ticker, d, oc_pct,
           lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) AS prev_close,
           (rth_close / lagInFrame(rth_close) OVER (PARTITION BY ticker ORDER BY d) - 1) * 100 AS cc_pct
    FROM per_day
)
SELECT
    round(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02')), 2) AS spy_open_to_close_pct,
    arrayCount(x -> x > abs(anyIf(oc_pct, ticker = 'SPY' AND d = toDate('2026-07-02'))),
               groupArrayIf(abs(oc_pct), ticker = 'SPY' AND d != toDate('2026-07-02'))) + 1 AS spy_abs_move_rank,
    countIf(ticker = 'SPY') AS spy_sessions_compared,
    round(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02')), 2) AS qqq_close_over_close_pct,
    arrayCount(x -> x > abs(anyIf(cc_pct, ticker = 'QQQ' AND d = toDate('2026-07-02'))),
               groupArrayIf(abs(cc_pct), ticker = 'QQQ' AND d != toDate('2026-07-02') AND isFinite(cc_pct) AND prev_close > 0)) + 1 AS qqq_abs_move_rank,
    countIf(ticker = 'QQQ' AND isFinite(cc_pct) AND prev_close > 0) AS qqq_sessions_compared,
    toString(minIf(d, ticker = 'SPY')) AS first_session
FROM with_prev
自己运行这个查询

从指数层面看,并不异常。SPY的-0.35%开盘至收盘变动在过去22个交易日中排名15,处于后半区间。QQQ的波动更明显,但仍不算极端:其-1.71%收盘至收盘变动在截至2026-06-02、此前收盘价明确的21个交易日中排名9。对成长型指数而言,这是一个处于中游的糟糕交易日。真正剧烈的波动出现在个股层面,7月2日的个股行情明显更为喧闹。

市场广度:交易活跃股票上涨,成长指数下跌

查询7月2日成交额至少为$1M的股票中,上涨股与下跌股
上涨股下跌股平盘股高流动性代码两个交易日均交易的代码因流动性筛选剔除上涨股占比上涨股(格式化)下跌股(格式化)因流动性筛选剔除(格式化)两个交易日均交易的代码(格式化)
3398275863621911536531754.63,3982,7585,31711,536
每个数字背后的完整 SQL
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') AS day_dollar_volume
    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')
       OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00')
    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,
    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,
    round(100.0 * countIf(day_close > prior_close AND day_dollar_volume >= 1000000)
        / countIf(day_dollar_volume >= 1000000), 1) AS advancer_pct,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close > prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS advancers_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(countIf(day_close < prior_close AND day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS decliners_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(count() - countIf(day_dollar_volume >= 1000000))), '[0-9]{1,3}'), ',')) AS dropped_by_liquidity_filter_fmt,
    reverse(arrayStringConcat(extractAll(reverse(toString(count())), '[0-9]{1,3}'), ',')) AS tickers_traded_both_sessions_fmt
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0
自己运行这个查询

3,398只个股上涨,2,758只个股下跌,63只个股持平。流动性较高的股票中,54.6%上涨,而 QQQ 下跌。市值加权指数与等权广度指标给出了不同答案。这类交易日正是两者都需要纳入面板的原因。该筛选条件剔除了双时段交易、成交额低于100万美元的5,317只股票,占相关11,536个股票的比例。

逐板块观察:上涨集中在哪些行业

市场广度只统计上涨或下跌的股票数量,并不说明上涨或下跌来自哪些行业。十一只SPDR行业基金按行业拆分了本交易日的表现。表现最好与最差板块之间的差距,就是当天的行业分化程度。

查询11只SPDR行业ETF:7月2日与7月1日收盘价对比,常规交易时段
代码前收盘价当日收盘价涨跌幅高于最差板块(点)当日成交额(十亿美元)
XLB5151.991.944.650.57
XLC109.74109.6-0.132.580.83
XLE52.8253.230.783.481.46
XLF54.7955.611.54.22.36
XLI183.41183.910.272.981.15
XLK185.54180.52-2.7102.43
XLP83.338524.711.33
XLRE44.1844.691.153.860.22
XLU44.7645.762.234.941.05
XLV159.57163.772.635.342.01
XLY118.07117.11-0.811.891.2
每个数字背后的完整 SQL
WITH per_etf AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 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-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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 pts_above_worst_sector,
    day_dollar_bn
FROM per_etf
ORDER BY ticker
自己运行这个查询

医疗保健(XLV)以 2.63% 领涨,公用事业为 2.23%,必需消费品为 2%,材料为 1.94%。科技(XLK)收盘垫底,报 -2.71%,也是唯一跌幅超过一个百分点的板块;非必需消费品(-0.81%)和通信服务(-0.13%)是另外两个下跌板块,其余八个板块均上涨。最好与最差板块之间的分化为 5.34 个百分点。DIA上涨、QQQ下跌的分化贯穿整个市场,并非只有四只超大市值股票出现这种情况。因此,纳斯达克下跌时,市场涨跌线仍然上升并不矛盾。

本日重点:存储芯片板块第二日重挫

周三率先下跌的板块周四跌幅进一步扩大。这里说的是跌幅和联动性,不是因果关系。

查询存储与内存股:相对周三收盘价的变动、区间时间和美元成交额
代码前收盘价当日收盘价涨跌幅当日最高价当日最高价(美东时间)当日最低价当日最低价(美东时间)区间幅度当日成交额(十亿美元)
MU1033.29975.77-5.571064.6410:03950.2815:2612.0351.4
SNDK2035.071743.59-14.322052.5409:35169315:2621.2426.57
STX915.25820.25-10.38923.0609:53795.6614:2316.014.74
WDC598.37538.99-9.92609.4609:35525.8413:5915.94.31
每个数字背后的完整 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('MU', 'SNDK', 'STX', 'WDC')
      AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    day_dollar_bn
FROM per_name
ORDER BY ticker
自己运行这个查询

SanDisk成交价为 -14.32%,Seagate为 -10.38%,Western Digital为 -9.92%,MU为 -5.57%。MU成交额为 $51.4十亿,约为 SPY 的一点五倍。MU和SanDisk在尾盘创下日内低点(15:26、15:26 ET),Seagate和Western Digital则更早见底(14:23、13:59)。背景参见:周三和MU深度分析。

这轮轮动的另一面体现在超大市值股:

查询超大盘股轮动:相对周三收盘价的变动、区间时间和美元成交额
代码前收盘价当日收盘价涨跌幅当日最高价当日最高价(美东时间)当日最低价当日最低价(美东时间)区间幅度当日成交额(十亿美元)
AAPL294.25308.224.75309.4215:57293.6809:305.3618.36
MSFT384.22389.621.41392.215:11383.709:352.2212.58
NVDA197.58194.51-1.55200.0610:03192.3513:404.0121.18
TSLA425.34392.81-7.65432.3509:31389.315:2311.0625.41
每个数字背后的完整 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-07-02 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-07-02 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-07-02 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-07-02 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-07-02 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-07-02 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-07-02 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'TSLA')
      AND ((window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00')
        OR (window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 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, 2) AS day_high,
    formatDateTime(toTimeZone(high_bar, 'America/New_York'), '%H:%i') AS day_high_et,
    round(day_low, 2) AS day_low,
    formatDateTime(toTimeZone(low_bar, 'America/New_York'), '%H:%i') AS day_low_et,
    round((day_high / day_low - 1) * 100, 2) AS range_pct,
    day_dollar_bn
FROM per_name
ORDER BY ticker
自己运行这个查询

AAPL单边上涨 4.75%,于 09:30 ET 触及低点,并在收盘前三分钟、15:57 触及高点;TSLA则走出相反走势,下跌 -7.65%。MSFT上涨 1.41%;NVDA收于 -1.55%。同一指数,走势却截然相反。

资金流向

查询成交量领先者(两种口径):成交额前6名、成交股数前4名(剔除1个待实体核验的重复代码)
代码排行榜美元成交额(十亿)美元金额(百万)股数(百万)占榜首百分比
MUby dollars traded51.4None51.9100
SPYby dollars traded32.7None43.963.6
QQQby dollars traded31.3None43.760.9
SNDKby dollars traded26.57None14.651.7
TSLAby dollars traded25.41None63.649.4
NVDAby dollars traded21.18None108.641.2
SOXSby shares traded3.24None748.2100
TZAby shares traded1.27None325.743.5
LIMNby shares traded0.0442245.732.8
BITOby shares traded1.71None204.927.4
每个数字背后的完整 SQL
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-02 13:30:00' AND window_start < '2026-07-02 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-02 13:30:00' AND window_start < '2026-07-02 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
自己运行这个查询

MU连续第四个交易日领跑成交额(周一、周二、周三),成交额为$51.4 billion;SPY为$32.7 billion。SanDisk成交额为$26.57 billion,使内存板块股票占据成交额前四名中的两席。SOXS是三倍反向半导体ETF,成交量以748.2 million股居首:低价股更容易在股数统计中占优,高价股则更容易在成交额统计中领先;相对成交量则是将成交量与个股自身通常水平进行比较。统计口径:7月2日正常交易时段,排除一个重复使用代码的上市证券(收据)。

查询每30分钟区间成交股数,常规交易时段;最后区间含收盘竞价成交(十亿股)
美东时间股数(十亿)占最大类别百分比
09:302.1360.5
10:001.6446.4
10:301.6446.5
11:001.4140
11:301.0529.7
12:001.0329.2
12:300.9627.3
13:000.8724.7
13:300.8524.2
14:000.8925.3
14:300.8123.1
15:001.0529.8
15:303.53100
每个数字背后的完整 SQL
SELECT
    et_time,
    round(sum(shares) / 1e9, 2) AS shares_bn,
    round(100 * sum(shares) / max(sum(shares)) OVER (), 1) AS pct_of_biggest_bucket
FROM
(
    SELECT
        formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
        toFloat64(volume) AS shares
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
    UNION ALL
    SELECT
        '15:30' AS et_time,
        toFloat64(size) AS shares
    FROM global_markets.stocks_trades
    WHERE sip_timestamp >= '2026-07-02 20:00:00' AND sip_timestamp < '2026-07-02 20:15:00'
      AND has(conditions, 8)
)
GROUP BY et_time
ORDER BY et_time
自己运行这个查询

开盘半小时成交量为2.13 billion股,14:30时降至0.81 billion股,节前收盘前成交量达到3.53 billion股。最后一个时段是当日成交量最大的时段,因为收盘竞价会将挂单集中撮合成一笔成交。

期权交易带:顺延的周度期权到期

查询整日期权数据一行:成交量、当日期权、假日顺延周和7月月度期权
期权成交笔数(百万)合约数(百万)看涨期权成交量占比当日到期占比7月2日(周四)到期合约数(百万)7月3日(周五)成交笔数7月10日周度合约数(百万)7月17日月度合约数(百万)SPY合约数(百万)QQQ合约数(百万)最大合约标的最大合约行权价最大合约类型最大合约到期日最大合约成交量最大合约成交量格式最大合约平均价格最大行权价减SPY收盘价SPY收盘价减行权价
13.1580.9658.447.438.3809.648.8213.968.5SPY740P2026-07-02540403540,4030.499-4.84.8
每个数字背后的完整 SQL
WITH
    (
        SELECT (any(underlying_symbol), any(toFloat64(strike_price)), any(option_type),
                any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))),
                sum(size), count(), round(avg(toFloat64(price)), 3))
        FROM global_markets.options_trades
        WHERE sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
        GROUP BY ticker
        ORDER BY sum(size) DESC
        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-02 13:30:00' AND window_start < '2026-07-02 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(100.0 * sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702') / 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, substring(ticker, length(ticker) - 14, 6) = '260710')) / 1e6, 2) AS jul10_weekly_contracts_m,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260717')) / 1e6, 2) AS jul17_monthly_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
    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_expiry,
    top_contract.5 AS top_contract_volume,
    reverse(arrayStringConcat(extractAll(reverse(toString(assumeNotNull(top_contract.5))), '[0-9]{1,3}'), ',')) AS top_contract_volume_fmt,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(top_contract.2 - spy_regular_close, 2) AS top_strike_minus_spy_close,
    round(spy_regular_close - top_contract.2, 2) AS spy_close_minus_strike
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
自己运行这个查询

期权成交量为 80.96百万份合约,对应 13.15百万笔成交,其中 47.4% 的成交量在同一个周四到期。全天没有任何带有7月3日到期代码的合约成交(0笔),因此周四同时承载了当日到期期权和本周顺延的周度期权。最活跃的合约是当日到期的SPY $740看跌期权,共成交 540,403份合约,平均权利金为$0.499;SPY收盘价高于行权价4.8美元,因此该期权处于虚值状态。在这张期权成交板上,周二和周三则是看涨期权占主导。看涨期权仍占成交量的58.4%;下一周到期期权成交 9.64百万份合约,7月月度期权成交 8.82百万份合约(到期机制)。

报价带:交易成本

价格说明发生了什么,报价说明交易成本是多少。买卖价差是每次完整买卖往返交易都要支付的“通行费”,以中间价的基点表示(一个基点为百分之一个百分点)。我们在每个交易日测算价差,无论市场是否异常。这样,“价差大幅扩大”就成为可以验证的说法。

查询股票NBBO更新次数:7月2日与7月1日对比,含指定代码更新次数(百万次)
7月2日更新数(百万)7月1日更新数(百万)日环比百分比7月2日SPY更新数(百万)7月2日QQQ更新数(百万)7月2日MU更新数(百万)
597.22449.15335.427.561.01
每个数字背后的完整 SQL
SELECT
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / 1e6, 2) AS jul2_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-01')) / 1e6, 2) AS jul1_updates_m,
    round((countIf(toDate(sip_timestamp) = toDate('2026-07-02')) / countIf(toDate(sip_timestamp) = toDate('2026-07-01')) - 1) * 100, 1) AS day_over_day_pct,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'SPY') / 1e6, 2) AS jul2_spy_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'QQQ') / 1e6, 2) AS jul2_qqq_updates_m,
    round(countIf(toDate(sip_timestamp) = toDate('2026-07-02') AND ticker = 'MU') / 1e6, 2) AS jul2_mu_updates_m
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-01 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
自己运行这个查询

全国最佳买价和卖价,即合并订单簿的最优报价,在7月2日被改写了597.22百万次,而7月1日为449.15百万次:临近收市时增加了33%。QQQ的改写次数为7.56百万次,高于SPY的5.42百万次;MU为1.01百万次。

查询中位报价价差(基点),常规交易时段:指数ETF、超大盘股和内存股
代码中位价差(基点)中位价差(美分)SPY价差倍数RTH更新数(百万)剔除的无效报价
SPY0.27214.9819064
QQQ0.8363.16.035934
NVDA1.0323.82.5520398
AAPL1.62561.915193
TSLA2.2998.50.852699
MU5.525520.40.922442
SNDK10.418938.50.26163
WDC10.7960400.1483
每个数字背后的完整 SQL
SELECT
    ticker,
    round(med_bps, 2) AS median_spread_bps,
    round(med_dollars * 100, 1) AS median_spread_cents,
    round(med_bps / min(med_bps) OVER (), 1) AS times_the_spy_spread,
    round(quote_updates / 1e6, 2) AS rth_updates_m,
    invalid_quotes_dropped
FROM (
    SELECT
        ticker,
        quantileExactIf(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000,
                             toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_bps,
        quantileExactIf(0.5)(toFloat64(ask_price) - toFloat64(bid_price),
                             toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)) AS med_dollars,
        count() AS quote_updates,
        countIf(NOT (toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price))) AS invalid_quotes_dropped
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'TSLA', 'NVDA', 'MU', 'SNDK', 'WDC')
      AND sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
    GROUP BY ticker
)
ORDER BY median_spread_bps ASC
自己运行这个查询

SPY的报价中位价差为0.27个基点:对于一只价格为$744.8的ETF,约为2美分。QQQ为0.83个基点,NVDA为1.03个基点。跌幅较大的股票也是交易成本较高的股票:MU为5.52个基点,SanDisk为10.4个基点,Western Digital为10.79个基点,是SPY价差的40倍。在不考虑价格冲击的情况下,买入或卖出一篮子存储芯片股的成本是交易指数的数倍。无效报价(单边报价、交叉报价)按单只股票计数,不会被隐藏。

查询流动性是否异常?SPY常规交易时段中位价差与过去一个月交易日对比
7月2日中位价差(基点)历史中位数(基点)7月2日减历史中位数(基点)价差较宽排名比较的交易时段数最宽交易时段(基点)
0.270.27011220.409
每个数字背后的完整 SQL
WITH per_day AS (
    SELECT toDate(sip_timestamp) AS d,
           quantileExact(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000) AS med_bps
    FROM global_markets.cache_stocks_quotes
    WHERE ticker = 'SPY'
      AND sip_timestamp >= '2026-06-02 00:00:00' AND sip_timestamp < '2026-07-03 00:00:00'
      AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
      AND toFloat64(bid_price) > 0 AND toFloat64(ask_price) > toFloat64(bid_price)
    GROUP BY d
)
SELECT
    round(anyIf(med_bps, d = toDate('2026-07-02')), 3) AS jul2_median_spread_bps,
    round(quantileExact(0.5)(med_bps), 3) AS trailing_median_bps,
    round(anyIf(med_bps, d = toDate('2026-07-02')) - quantileExact(0.5)(med_bps), 3) AS jul2_minus_trailing_bps,
    arrayCount(x -> x > anyIf(med_bps, d = toDate('2026-07-02')), groupArrayIf(med_bps, d != toDate('2026-07-02'))) + 1 AS wider_rank,
    count() AS sessions_compared,
    round(max(med_bps), 3) AS widest_session_bps
FROM per_day
自己运行这个查询

流动性表现正常,这正是结论:SPY的0.27个基点中位价差,较过去一个月的中位数(0.27个基点)仅高0个基点;按价差宽度计算,在22个交易日中排名第11,远未达到本月最宽的0.409个基点。在行情上涨的盘面下,个股集中下跌并未对交易系统造成压力。

利率:7月2日的成交数据已到位

查询凭证:7月2日国债数据已归档
7月2日行数7月1日行数
11
每个数字背后的完整 SQL
SELECT
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-02') AS jul2_rows,
    (SELECT count() FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS jul1_rows
自己运行这个查询

国债数据源通常比行情数据晚一两天:首次发布时,系统中没有7月2日收盘数据,因此本页面如实显示缺失,而不是进行猜测。该数据现已到位:7月2日为1条,7月1日为1条,因此下方图表展示的是该交易日自身的收益率曲线。

查询当日收益率曲线:7月2日与7月1日对比(仅列有数据的期限)
曲线点7月2日收益率(%)单日变动(基点)
1 month3.73
3 month3.82-3
1 year3.96-4
2 year4.14-3
5 year4.23-1
10 year4.491
30 year4.981
2s10s spread0.354
每个数字背后的完整 SQL
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jul2_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-02') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-07-01') AS p
)
自己运行这个查询

收盘时,10年期国债收益率为4.49%,2s10s利差为0.35个基点。

日历揭示当天发生了什么

查询7月2日公司日历与信息流,一行呈现(包括导致一项虚假筛选器变动的8次拆股)
除息记录已执行拆股正向拆股反向拆股拆股记录已上市IPO数量SEC文件内部人士Form 4文件8-K文件IPO名称新闻文章新闻发布商报道最多的股票代码报道最多的文章数CRWD拆股前CRWD拆股后CRWD前收盘价CRWD当日收盘价CRWD美元(百万)带竖线的拆分名称
322853CRWD 4-for-1; FBIP 4-for-1; FNCSF 110-for-100; GMEX 1-for-9; GTCDF 1-for-5; SMTOY 8-for-1; UBYH 1-for-10; VLNT 10-for-1252032109258MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II2013NVDA1814772.45193.671473.512
每个数字背后的完整 SQL
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-07-02'
    ) 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-02'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news,
    (
        SELECT (count(), countIf(split_to > split_from), countIf(split_to < split_from),
                arrayStringConcat(groupArray(concat(ticker, ' ', toString(split_to), '-for-', toString(split_from))), '; '))
        FROM global_markets.stocks_splits
        WHERE execution_date = '2026-07-02' AND ticker NOT IN ('SPCX')
    ) AS splits
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-02') AS ex_dividend_records,
    splits.1 AS splits_executed,
    splits.2 AS forward_splits,
    splits.3 AS reverse_splits,
    splits.4 AS split_records,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-07-02') AS ipos_listed,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS sec_filings,
    (SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') AS insider_form4_filings,
    (SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-07-02') 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-02' 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_articles,
    (SELECT any(split_from) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_from,
    (SELECT any(split_to) FROM global_markets.stocks_splits WHERE ticker = 'CRWD' AND execution_date = '2026-07-02') AS crwd_split_to,
    (SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-01 13:30:00' AND window_start < '2026-07-01 20:00:00') AS crwd_prev_close,
    (SELECT round(toFloat64(argMax(close, window_start)), 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_day_close,
    (SELECT round(sum(toFloat64(close) * toFloat64(volume)) / 1e6, 2) FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'CRWD' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS crwd_dollar_m,
    (SELECT count() FROM (
        SELECT ticker FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker IN (SELECT ticker FROM global_markets.stocks_splits WHERE execution_date = '2026-07-02')
          AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
        GROUP BY ticker
    )) AS split_names_with_bars
自己运行这个查询

322条股息记录进入除息阶段,2只新股上市(MIACU — Meridian3 Industrials Acquisition Corp.; VIIU — Viking Acquisition Corp. II),SEC指数记录了5203份进入假期的申报文件,其中包括2109份Form 4和258份8-K。新闻源收录了来自3家出版商的201篇文章,其中NVDA家报道最为集中,共涉及18篇。

拆股会误导直接查看未调整收盘价的读者。CRWD进行了4股换1股的正向拆股,因此未调整交易记录显示,周三为$772.45,周四为$193.67。这看似下跌,实际是每股旧股换成四股新股。CRWD并非个例:共有8条拆股记录执行,其中5条为正向拆股,3条为反向拆股(split_records列列出了这些记录)。反向拆股则会制造相反的假象,即未调整股价隔夜大幅跳升。在这些股票中,只有2只在我们的交易记录中成交;CRWD的成交额为$1473.51百万,是唯一足以污染筛选结果的交易,因此本文所有涨跌幅筛选均将其排除。

盘前提示

这是日历事实,不是预测,说明表格记录的下一交易时段信息。

查询假日后:下一交易日、除息与拆股、下一次预定休市及空头利息数据延迟
7月6日SPY常规时段柱线7月6日除息记录7月6日家庭除息7月6日拆分下一次计划停市下一次停市名称下一次停市状态最新SI结算SI结算距今天数
390119JPM152026-09-07Labor Dayclosed2026-06-302
每个数字背后的完整 SQL
SELECT
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-06 13:30:00' AND window_start < '2026-07-06 20:00:00') AS jul6_spy_regular_bars,
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-07-06') AS exdiv_records_jul6,
    (SELECT arrayStringConcat(groupArray(ticker), ', ') FROM global_markets.stocks_dividends
     WHERE ex_dividend_date = '2026-07-06'
       AND ticker IN ('AAPL', 'MSFT', 'JPM', 'JNJ', 'XOM', 'KO', 'PG', 'WMT', 'CVX', 'HD')) AS household_exdivs_jul6,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-07-06') AS splits_jul6,
    (SELECT toString(min(date)) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02') AS next_scheduled_closure,
    (SELECT any(name) FROM global_markets.stocks_market_holidays
     WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_name,
    (SELECT any(status) FROM global_markets.stocks_market_holidays
     WHERE date = (SELECT min(date) FROM global_markets.stocks_market_holidays WHERE date > '2026-07-02')) AS next_closure_status,
    (SELECT toString(max(settlement_date)) FROM global_markets.stocks_short_interest
     WHERE settlement_date <= '2026-07-02') AS latest_si_settlement,
    (SELECT dateDiff('day', max(settlement_date), toDate('2026-07-02')) FROM global_markets.stocks_short_interest
     WHERE settlement_date <= '2026-07-02') AS si_settlement_age_days
自己运行这个查询

7月6日星期一重新开市,全天交易时段包含390根K线,数据已通过对应K线核验。当天有119条除息记录;我们跟踪的十个标的中包括一家家喻户晓的公司(JPM),并有15笔拆股成交。下一次计划休市时间:Labor Day,2026-09-07(closed)。卖空持仓一如既往属于滞后信息;目前存档的最新结算日为2026-06-30,距今2天,公布时间比结算日晚约两周(原因)。

本交易日、核实结果,以及并不存在的周五

查询交易时段核查:SPY观测到的分钟线区间,以及盘面上的7月3日休市
SPY首根柱线(ET)SPY末根柱线(ET)SPY分钟柱线常规时段柱线交易日时段7月3日SPY柱线
04:0019:5988639010
每个数字背后的完整 SQL
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-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00') AS day_sessions,
    (SELECT count() FROM global_markets.delayed_stocks_minute_aggs
     WHERE ticker = 'SPY' AND window_start >= '2026-07-03 00:00:00' AND window_start < '2026-07-04 00:00:00') AS jul3_spy_bars
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 00:00:00' AND window_start < '2026-07-03 00:00:00'
自己运行这个查询

7月2日是完整交易日,并非提前收市:SPY的K线时间范围为纽约时间04:00至19:59(包括盘前和盘后K线),常规交易时段恰好有390根K线。7月3日星期五,SPY显示0根K线;由于独立日7月4日适逢星期六,当天全天休市。本周共四个交易日:本周回顾。

常见问题

2026年7月2日,道琼斯指数为何上涨而纳斯达克指数下跌?

两只指数持有的公司不同:DIA收于1.04%,QQQ收于-1.71%。行业表现也呈现同样的分化:医疗保健、公用事业和必需消费品居前,科技行业垫底,报-2.71%;首尾相差5.34个百分点。

独立日当周的周五股市开市吗?

没有。独立日适逢周六,交易所于本交易日后的周五全天休市以示纪念:我们的交易数据表显示,当天SPY有0根分钟K线。

正向拆股会如何影响股价?

正向拆股会将股份数量扩大四倍,并将股价除以四;持仓价值不变。以CRWD在7月2日为例:周三未经调整的收盘价为$772.45,周四为$193.67。如果筛选器未计入拆股,就会显示出虚假的下跌。

2026年7月2日的买卖价差有多大?

正常交易时段内,SPY的报价中位买卖价差为中间价的0.27个基点;按价差宽度计算,在最近22个交易日中排名11,属于普通水平。单只股票的价差更大:MU为5.52个基点,WDC为10.79个基点。

数据说明

  • 美元成交额是按分钟计算的代理指标,即收盘价 × 成交量,再按每根K线汇总。
  • 成交量面板的收盘前半小时包含收盘竞价成交记录。 一分钟K线不包含任何竞价成交记录,因此半小时面板会将所有带有收盘成交标记的交易计入最后一个时间段。这些交易在合并行情中标记为美国东部时间下午4:00至4:15。
  • 7月2日的国债成交记录是在首次发布后才录入的。 原始说明通过行数回执披露了该记录缺失;本次修订已纳入该记录,并展示了回执。
  • CRWD的原始收盘价变动属于拆股造成的表象,因此未纳入涨跌幅筛选。

:::details完整数据说明

  • 行业板块由11只SPDR Select Sector基金组成(XLB、XLC、XLE、XLF、XLI、XLK、XLP、XLRE、XLU、XLV、XLY)。这是一个固定且已披露的篮子,并非供应商提供的行业字段。
  • 报价行情的计数按SIP时间戳对应的UTC日期分组;夏令时交易时段会落在同一个UTC日期内。
  • 一只重复使用股票代码的6月上市证券未纳入排行榜(回执);逐笔行情的取证分析详见深度分析。

:::

方法论

  • 统计区间为一个交易时段(1 session,已根据观测到的K线验证)。时间戳以UTC存储,并在查询中转换为纽约时间;“收盘”指常规交易时段最后一分钟的K线,日变化比较7月2日与7月1日。7月3日休市已根据K线验证,绝非假定。
  • 价差以中间价的基点计价,即卖价减买价;统计范围为常规交易时段内NBBO更新,采用确定性分位数计算中位数。小数在进行比率运算前转换为浮点数;期权到期日根据OCC ticker重新解析。每个面板均在撰写时通过受控只读路径读取一次。

图表、表格和SQL是一体的。将任意面板粘贴到Strasmore终端,即可据此开展分析。上一交易时段:7月1日。本周:四个交易日的假期周。