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

七月二日市场复盘:数字概览

独立日前轮动行情:大盘广度走高但纳指下跌,十一只行业基金中科技垫底,存储芯片连续第二日走弱,市场分化制造出崩盘假象。

2026年7月2日(星期四)是独立日休市前的最后一个交易日。当天市场发生了板块轮动,但标题看起来却像是抛售。QQQ收于 -1.71%,DIA上涨 1.04%;市场广度为正:3398只股票上涨,2758只下跌,54.6%的交易标的收涨,而成长股指数下跌。11只行业基金中有8只收高;卖压集中在科技股和此前前一日走弱的存储芯片板块。

盘面概览

查询SPY / QQQ / DIA / IWM:7月2日与7月1日收盘价对比,常规交易时段
Ticker前收盘当日开盘当日收盘涨跌幅当日最高当日最低成交股数(百万)
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日成交额至少达100万美元的股票中,上涨股与下跌股
上涨股下跌股平盘股高流动性Ticker两个交易日均交易的Ticker因流动性筛选剔除上涨股占比上涨股(格式化)下跌股(格式化)因流动性筛选剔除(格式化)两个交易日均交易的Ticker(格式化)
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,31711,536股票。

逐行业看:绿色行情集中在哪里

市场广度统计的是上涨或下跌的股票数量,但不能说明是哪类股票在表现。十一只SPDR行业基金按行业拆分了本交易日行情,最强与最弱行业之间的差距,用一个数字就能体现当日的分化程度。

查询11只SPDR行业ETF:7月2日收盘价与7月1日收盘价对比,常规交易时段
Ticker前收盘当日收盘涨跌幅高于最差板块(点)当日成交额(十亿美元)
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下跌的分化贯穿整个市场,而不只是四只超大市值股。因此,纳斯达克下跌时,市场涨跌线仍然上行并不矛盾。

当日焦点:存储芯片板块连续第二天重挫

周三下跌的板块周四跌幅更大,体现为跌幅和联动性进一步扩大,而非原因发生了变化。

查询存储与内存股:相对周三收盘价的变动、区间时段和成交额
Ticker前收盘当日收盘涨跌幅当日最高当日最高(美东时间)当日最低当日最低(美东时间)区间涨跌幅当日成交额(十亿美元)
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的1.5倍。MU和SanDisk在尾盘触及日内低点(15:2615:26 ET),Seagate和Western Digital则更早触及低点(14:2313:59)。背景参见:周三MU深度分析

轮动的另一半出现在超大市值股中:

查询大型股轮动:相对周三收盘价的变动、区间时段和成交额
Ticker前收盘当日收盘涨跌幅当日最高当日最高(美东时间)当日最低当日最低(美东时间)区间涨跌幅当日成交额(十亿美元)
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名(一个重复代码条目待实体核验,暂不计入)
Ticker排行榜美元成交额 bn美元金额 m股数 m占榜首百分比
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十亿美元的成交额领跑市场(周一周二周三)。SPY成交额为32.7十亿美元。SanDisk成交额为26.57十亿美元,使另一只存储芯片股跻身成交额前四。SOXS这只三倍做空半导体ETF以748.2百万股的成交量位居成交量榜首:低价股更容易在股数统计中占优,高价股则更容易在金额统计中占优;相对成交量则是将成交量与个股自身的常态进行比较。统计口径为7月2日正常交易时段,剔除一个重复使用代码的上市证券(收据)。

查询每30分钟区间成交股数,常规交易时段(十亿股)
ET 时间股数 bn占最大类别百分比
09:302.1392.9
10:001.6471.3
10:301.6471.6
11:001.4161.5
11:301.0545.6
12:001.0344.9
12:300.9642
13:000.8738
13:300.8537.1
14:000.8938.9
14:300.8135.5
15:001.0545.9
15:302.3100
每个数字背后的完整 SQL
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(sum(toFloat64(volume)) / 1e9, 2) AS shares_bn,
    round(100 * sum(toFloat64(volume)) / max(sum(toFloat64(volume))) OVER (), 1) AS pct_of_biggest_bucket
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'
GROUP BY et_time
ORDER BY et_time
自己运行这个查询

开盘半小时成交量为2.13十亿股,14:30时降至0.81十亿股;临近节前收盘时成交量达到2.3十亿股,最后一个时段为当日最大成交区间,因为收盘竞价将挂单集中撮合成一笔成交。

期权逐笔成交:错位周度期权到期

查询整日期权概览:成交量、当日到期、假日顺延周和7月月度合约
期权成交笔数 m合约数 m看涨期权成交量占比当日到期占比7月2日(周四)到期合约数 m7月3日(周五)成交笔数7月10日周度合约数 m7月17日月度合约数 mSPY 合约数 mQQQ 合约数 m最高合约标的最高合约行权价最高合约类型最高合约到期日最高合约成交量最高合约成交量格式最高合约平均价格最高行权价减 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日更新数 m7月1日更新数 m日环比百分比7月2日 SPY 更新数 m7月2日 QQQ 更新数 m7月2日 MU 更新数 m
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、大型股和内存股
Ticker中位价差 bps中位价差 美分SPY 价差倍数常规交易时段更新数 m已丢弃无效报价
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次拆股)
除息记录已执行拆股正向拆股反向拆股拆股记录已上市IPOSEC文件内部人士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份在假日前提交的文件,其中包括2109Form 4258份8-K文件。新闻源收录了来自3家出版机构的201篇文章(其中NVDA家报道最为集中,共涉及18篇)。

拆股会误导直接查看未经调整收盘价的读者。CRWD实施了41的正向拆股,因此未经调整的行情数据显示,周三为$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 Day2026-09-07closed)。卖空数据一如既往地滞后,档案中最新的结算日为2026-06-30,距今2天;公布时间比结算日约晚两周(原因)。

交易时段、核验结果,以及并不存在的周五

查询交易时段核查:SPY观测到的分钟K线区间,以及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:0019: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

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

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

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

常规交易时段内,SPY的报价中位买卖价差占中间价的0.27个基点;按价差宽度计算,在过去22个交易日中排名第11,属于正常水平。个股价差更宽:MU为5.52个基点,WDC为10.79

数据说明

  • 美元成交额是按分钟计算的代理指标,即收盘价 × 成交量,再按每根K线汇总。
  • 7月2日的Treasury成交记录在首次发布后才录入。原始说明通过行数回执披露了该记录缺失;本次修订已补入该成交记录,并附上回执。
  • CRWD的原始收盘价变动属于拆股造成的伪变动,因此未纳入涨跌幅筛选。
完整数据说明
  • 行业板块由11只SPDR Select Sector基金组成(XLB、XLC、XLE、XLF、XLI、XLK、XLP、XLRE、XLU、XLV、XLY)。这是一个固定且已披露的篮子,并非供应商提供的行业字段。
  • Quote-tape的计数按SIP时间戳对应的UTC日期分组;夏令时交易时段会落在同一个UTC日期内。
  • 一只重复使用代码的6月上市股票未纳入排名(回执);取证级别的逐笔数据分析见深度分析。

方法论

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

图表、表格和 SQL 是一个整体。将任何面板粘贴到 Strasmore 终端中,即可按您的需求使用。上一交易时段:7 月 1 日。本周:四个交易时段的假期周