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

2026年6月30日市场回顾

季度末行情解析:科技股领涨带动指数走高,存储板块表现强劲,查看当日期权成交数据。

2026年6月30日(本季度最后一个交易日),市场整体走势偏软,但受科技股带动上涨:QQQ上涨了 1.63%,SPY上涨了 0.73%,但仅有 410 S&P板块基金收涨(3,349 个流动性良好的标的上涨,3,033 个下跌)。前一交易日回顾:6月29日回顾。以下所有数据均来自存储查询——您可以展开任何面板以查看 SQL 语句。

The scoreboard

Every change compares June 30's last regular-session minute bar with Monday June 29's.

查询SPY / QQQ / DIA / IWM — 6月30日对比6月29日收盘(常规交易时段)
每个数字背后的完整 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-06-29 13:30:00' AND window_start < '2026-06-29 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-06-30 13:30:00' AND window_start < '2026-06-30 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

SPY opened at $741.29 and finished at $746.32, near its $748.02 high. QQQ's 1.63% against DIA's 0.12% is the shape of the day: growth ran, blue chips barely moved, IWM 0.49%.

本季度收官

6月30日结束了第二季度最后 62 个交易日。当日走势是本季度的缩影。

查询2026年Q2全期:各指数ETF从4月1日开盘至6月30日收盘(常规交易时段)
每个数字背后的完整 SQL
WITH q2 AS (
    SELECT ticker,
           toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           argMin(toFloat64(open), window_start) AS d_open,
           argMax(toFloat64(close), window_start) AS d_close
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('SPY', 'QQQ', 'DIA', 'IWM')
      AND window_start >= toDateTime('2026-04-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY ticker, d
)
SELECT
    ticker,
    toString(min(d)) AS quarter_first_session,
    count() AS quarter_sessions,
    round(argMin(d_open, d), 2) AS quarter_open,
    round(argMax(d_close, d), 2) AS quarter_close,
    round((argMax(d_close, d) / argMin(d_open, d) - 1) * 100, 2) AS quarter_pct,
    countIf(d_close > d_open) AS up_sessions
FROM q2
GROUP BY ticker
ORDER BY quarter_pct DESC, ticker ASC

4月1日至6月30日:QQQ +26.53%,IWM 20.21%,SPY 14.13%,DIA 12.08%。QQQ 季度表现及6月30日当日表现均居首位。但中期表现有所不同:当日 SPY 略领先于 IWM,而整个季度 IWM 领先于 SPY。QQQ 在 62 个交易日中上涨了 38 (Q2回顾 提供逐项分析)。

今日走势异常吗?

查询SPY 当日振幅在过去一个月交易日中的排名(排名1 = 绝对振幅最大)
每个数字背后的完整 SQL
SELECT round(anyIf(oc_pct, d = toDate('2026-06-30')), 2) AS day_move_pct,
       arrayCount(x -> x > abs(anyIf(oc_pct, d = toDate('2026-06-30'))), groupArrayIf(abs(oc_pct), d != toDate('2026-06-30'))) + 1 AS abs_move_rank,
       count() AS sessions_compared,
       toString(min(d)) AS first_session
FROM (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           (argMax(toFloat64(close), window_start) / argMin(toFloat64(open), window_start) - 1) * 100 AS oc_pct
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= toDateTime('2026-06-01 00:00:00')
      AND window_start < toDateTime('2026-07-01 00:00:00')
      AND (toHour(window_start) * 60 + toMinute(window_start)) BETWEEN 810 AND 1199
    GROUP BY d
)

从日内波动角度看(不同于收盘价对比指标)—— SPY 波动了 0.68%,在 21 个交易日中,其绝对波动幅度排名第 7。指数表现平稳,但盘中交易极其活跃。

市场宽度:微弱的上涨优势

查询6月30日成交额至少 $1M 的个股:上涨与下跌家数对比
每个数字背后的完整 SQL
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') AS day_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
       OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 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,
    countIf(ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')) AS sector_funds_counted,
    countIf(ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
        AND day_close > prior_close) AS sector_funds_up
FROM per_ticker
WHERE prior_close > 0 AND day_close > 0

3,349 只涨股、3,033 只跌股、88 持平:51.8% 的活跃股票上涨 —— 在 1.63% 的指数增长背景下,这几乎是随机的结果。流动性筛选排除了 5,05511,525 个双交易日股票(成交额低于 100 万美元),此处统计的均为公开数据。

Sector by sector: where the money actually went

Counting names one vote each hides where the money sat. The ten funds below each hold one slice of the S&P 500, and the spread between best and worst measures how uneven a session was.

查询10只标普行业基金(6月30日):对比周一收盘的涨跌幅及与领涨者的差距
每个数字背后的完整 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('XLB', 'XLE', 'XLF', 'XLI', 'XLK', 'XLP', 'XLRE', 'XLU', 'XLV', 'XLY')
      AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
        OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 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,
    if(day_close > prior_close, 1, 0) AS is_up,
    round(max((day_close / prior_close - 1) * 100) OVER () - (day_close / prior_close - 1) * 100, 2) AS pts_behind_leader,
    day_dollar_bn
FROM per_name
ORDER BY pct_chg DESC, ticker ASC

Technology (XLK) gained 2.69% and stood alone: industrials 1.34%, materials 0.36% and discretionary 0.15% were the only others green, and the board runs red from financials (-0.17%) down to utilities (-1.48%), staples (-1.53%) and real estate last at -2%. Best minus worst: 4.69 percentage points, 4 of 10 funds green. An index up less than a percent, a four-point spread underneath: one sector carried the day.

今日市场整体涨跌幅最大的个股

市场广度衡量上涨股票的数量;本列表显示了交易额在 1000 万美元及以上的个股中,涨跌幅最大的前五名和后五名。

查询6月30日成交额 $10M+ 的个股:前5大涨幅与前5大跌幅(已排除重复代码)
每个数字背后的完整 SQL
WITH per_ticker AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
        sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') AS day_dollar_volume
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE (window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
       OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00')
    GROUP BY ticker
    HAVING prior_close > 1 AND day_close > 0 AND day_dollar_volume >= 10000000 AND ticker NOT IN ('SPCX')
)
SELECT
    board,
    ticker,
    prior_close,
    day_close,
    pct_chg,
    round(abs(pct_chg), 2) AS abs_pct_chg,
    dollar_volume_m,
    if(ticker IN (SELECT ticker FROM global_markets.stocks_splits
                  WHERE execution_date >= '2026-06-29' AND execution_date <= '2026-06-30'), 1, 0) AS split_record_on_file
FROM (
    SELECT 'top gainers' AS board, 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_dollar_volume / 1e6, 0) AS dollar_volume_m
    FROM per_ticker
    ORDER BY (day_close / prior_close) DESC, ticker ASC
    LIMIT 5
    UNION ALL
    SELECT 'top decliners' AS board, 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_dollar_volume / 1e6, 0) AS dollar_volume_m
    FROM per_ticker
    ORDER BY (day_close / prior_close) ASC, ticker ASC
    LIMIT 5
)
ORDER BY if(board = 'top gainers', 0, 1) ASC, pct_chg DESC, ticker ASC

两市走势均与指数不符。JEM 在成交额 141 百万美元的情况下领涨,涨幅为 +256.76%;SOC 在成交额 306 百万美元的情况下下跌了 55.89%。ABVX 在成交额 942 百万美元的情况下上涨了 38.56%,为两市中成交额最大的个股;NVCT 下跌了 35.62%,UNCY 下跌了 39.09%。分拆记录列确保了数据的准确性——例如,1 比 10 的 反向拆股 在未经调整的行情中会显示为 +900% 的“涨幅”——而此处列出的每只个股都符合 0:即真实的成交记录。

有三行数据是同一笔交易的重复记录:CRCA (-35.16%) 和 CRCG (-35.19%) 下跌,而 CRCD 上涨了 35.47% —— 两者的涨跌幅几乎是下方加密货币相关标的(杠杆个股包装产品)-17.53% 涨跌幅的两倍。

今日亮点:半导体板块出现分化

六家公司,一个主题,结果迥异——仅表现出同向运动和波动幅度,数据并未说明原因。

查询半导体与存储板块:对比周一收盘的涨跌幅、振幅及成交金额
每个数字背后的完整 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-06-30 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-30 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-06-30 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-30 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('AMD', 'INTC', 'MU', 'SNDK', 'TSM', 'WDC')
      AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
        OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 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 上涨 10.79%,AMD 上涨 7.7%,Intel 上涨 5.93%,TSMC 上涨 4.86% —— 而成交额最大的 MU(达 37.41 亿美元)仅上涨 0.52%,Western Digital (-2.01%) 则未参与涨势。这是科技股 2.69% 板块表现背后的复杂情况(MU 6 月逐笔数据)。

与大盘走势相反,加密货币相关金融股出现逆势下跌:

查询加密货币相关金融股:对比周一收盘的涨跌幅、振幅及成交金额
每个数字背后的完整 SQL
WITH per_name AS (
    SELECT
        ticker,
        toFloat64(argMaxIf(close, window_start, window_start < '2026-06-30 00:00:00')) AS prior_close,
        toFloat64(argMaxIf(close, window_start, window_start >= '2026-06-30 00:00:00')) AS day_close,
        maxIf(toFloat64(high), window_start >= '2026-06-30 00:00:00') AS day_high,
        minIf(toFloat64(low), window_start >= '2026-06-30 00:00:00') AS day_low,
        argMinIf(window_start, toFloat64(low), window_start >= '2026-06-30 00:00:00') AS low_bar,
        argMaxIf(window_start, toFloat64(high), window_start >= '2026-06-30 00:00:00') AS high_bar,
        round(sumIf(toFloat64(close) * toFloat64(volume), window_start >= '2026-06-30 00:00:00') / 1e9, 2) AS day_dollar_bn
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker IN ('COIN', 'CRCL', 'HOOD', 'MSTR')
      AND ((window_start >= '2026-06-29 13:30:00' AND window_start < '2026-06-29 20:00:00')
        OR (window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 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

CRCL 下跌 -17.53%,其 62.52 美元的低点出现在东部时间 15:59 —— 即交易时段的最后一分钟 —— 此时 MSTR -6.2%、COIN -3.61% 和 HOOD -1.53% 也在下跌。观察到同向运动,但未断定原因。

新闻摘要

回顾新闻摘要应如实呈现当日发布的实际内容,而非断言原因。

查询6月30日新闻摘要:各个股的文章数量及当日最后一条新闻
每个数字背后的完整 SQL
SELECT
    names.n AS ticker,
    countIf(has(tickers, names.n)) AS articles_today,
    if(countIf(has(tickers, names.n)) = 0, 'none',
       formatDateTime(toTimeZone(argMaxIf(published_utc, (published_utc, id), has(tickers, names.n)), 'America/New_York'), '%H:%i')) AS latest_et,
    if(countIf(has(tickers, names.n)) = 0, 'no article in our feed this session',
       JSONExtractString(argMaxIf(publisher, (published_utc, id), has(tickers, names.n)), 'name')) AS publisher_name,
    if(countIf(has(tickers, names.n)) = 0, 'no article in our feed this session',
       argMaxIf(title, (published_utc, id), has(tickers, names.n))) AS latest_headline
FROM global_markets.stocks_news
CROSS JOIN (SELECT arrayJoin(['NVDA', 'MU', 'SNDK', 'CRCL', 'SOC', 'ABVX', 'JEM']) AS n) AS names
WHERE published_utc >= '2026-06-30 04:00:00' AND published_utc < '2026-07-01 04:00:00'
GROUP BY names.n
ORDER BY articles_today DESC, ticker ASC

当日报道最多的公司是 NVDA,共有 21 篇报道,但其股价并未出现明显波动。该公司的最后一篇报道(16:28 ET, Investing.com)标题为“These Stocks Could Benefit as the Robotaxi Race Heats Up”。MU 有 7 篇报道;SanDisk 仅有一篇报道(The Motley Fool),也是全天唯一提及股价波动的标题:“Why Sandisk Stock Is Skyrocketing Today”。

研究发现,报道量与股价走势存在脱节:当日跌幅最大的股票、涨幅最大的股票以及跌幅最大的加密货币相关股票,其报道量分别为 000 篇——在总计 211 篇的新闻流中,这些股票的报道数均为零。报道量并不能代表价格走势。

资金流向

查询成交量领先指标:成交金额前6名与成交股数前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-06-30 13:30:00' AND window_start < '2026-06-30 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-06-30 13:30:00' AND window_start < '2026-06-30 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 的交易量远超其他所有标的(包括指数基金):$37.41 十亿,而 SPY 为 $31.84 十亿。这是该股连续第二个交易日的成交量超过旗舰指数基金(周一回顾 记录了首次发生的情况)。但从成交股数来看,情况有所不同:SOXS(3 倍做空半导体 ETF,成交 515.5 百万股)以及两只股价低于 1 美元的个股,其成交量在 MU 面前几乎可以忽略不计 —— 这使得 成交量 数据呈现出两种截然不同的解读。

有一个标的被刻意排除在两个统计表之外:该标的于 6 月上市,其代码此前属于另一家无关公司,导致数据供应商将两个不同的实体标记为相同的三个字母(查看详情)。

查询每30分钟成交股数(常规交易时段,单位:十亿)
每个数字背后的完整 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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
GROUP BY et_time
ORDER BY et_time

开盘半小时内成交 2.05 十亿股,13:30 时触及 0.78 十亿股的低点,并在季度末收盘时达到全天峰值 —— 2.69 十亿。收盘时的 集合竞价 及其再平衡资金流也在此期间产生(6 月 29 日深度分析 包含相关细节)。

The options tape

查询期权全天数据:成交量、当日到期量、SPY 按行权价划分的看跌/看涨期权偏向、节假日调整后的周数据
每个数字背后的完整 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-06-30 00:00:00' AND sip_timestamp < '2026-07-01 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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00'
    ) AS spy_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) = '260630') / sum(size), 1) AS same_day_expiry_pct,
    round(toFloat64(sumIf(size, substring(ticker, length(ticker) - 14, 6) = '260702')) / 1e6, 2) AS thu_jul2_expiry_contracts_m,
    countIf(substring(ticker, length(ticker) - 14, 6) = '260703') AS fri_jul3_expiry_prints,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY')) / 1e6, 2) AS spy_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'QQQ')) / 1e6, 2) AS qqq_contracts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'))
        / toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C')), 2) AS spy_put_call_ratio,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'
        AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) > spy_close)) / 1e6, 2) AS spy_0dte_otm_calls_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'C'
        AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) <= spy_close)) / 1e6, 2) AS spy_0dte_itm_calls_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'
        AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) < spy_close)) / 1e6, 2) AS spy_0dte_otm_puts_m,
    round(toFloat64(sumIf(size, underlying_symbol = 'SPY' AND option_type = 'P'
        AND substring(ticker, length(ticker) - 14, 6) = '260630' AND toFloat64(strike_price) >= spy_close)) / 1e6, 2) AS spy_0dte_itm_puts_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,
    round(top_contract.7, 3) AS top_contract_avg_price,
    round(top_contract.2 - spy_close, 2) AS top_strike_minus_spy_close
FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'

Options traded 61.95 million contracts across 10.06 million prints; calls took 57.3% of tape-wide volume, and 28% of it expired that Tuesday. SPY leaned the other way: 12.04 million contracts at a put/call ratio of 1.09 — more puts than calls, on a day the fund rose.

Sorting SPY's same-day expiries against its $746.32 close makes the skew concrete: 3.33 million out-of-the-money puts (strikes below the close) and 2.28 million out-of-the-money calls, against 1.77 million in-the-money calls and 0.63 million in-the-money puts — downside strikes that expired worthless were the busiest bucket of SPY's 0DTE day. Nothing with a Friday, July 3 expiry code printed at all (0 prints — the market is closed that Friday); the Thursday weekly carried 10.52 million.

查询6月30日成交最活跃的6个期权合约
每个数字背后的完整 SQL
SELECT
    concat(underlying, ' $', toString(strike), ' ', if(typ = 'C', 'call', 'put')) AS contract,
    toString(expiry) AS expires,
    formatDateTimeInJodaSyntax(expiry, 'MMMM d, yyyy') AS expires_label,
    if(expiry = toDate('2026-06-30'), 1, 0) AS is_same_day,
    contracts,
    round(avg_px, 3) AS avg_premium,
    round(100 * contracts / max(contracts) OVER (), 1) AS pct_of_busiest
FROM (
    SELECT any(underlying_symbol) AS underlying,
           any(toFloat64(strike_price)) AS strike,
           any(option_type) AS typ,
           any(toDateOrNull(concat('20', substring(ticker, length(ticker) - 14, 6)))) AS expiry,
           sum(size) AS contracts,
           avg(toFloat64(price)) AS avg_px,
           any(ticker) AS occ
    FROM global_markets.options_trades
    WHERE sip_timestamp >= '2026-06-30 00:00:00' AND sip_timestamp < '2026-07-01 00:00:00'
    GROUP BY ticker
    ORDER BY contracts DESC, occ ASC
    LIMIT 6
)
ORDER BY contracts DESC, contract ASC

The busiest contract anywhere was the same-day SPY $747 call — 821,361 contracts at an average premium of $0.641, finishing $0.68 above SPY's last regular bar, and worthless. The board behind it is the lesson: five of the six busiest contracts on the tape were same-day SPY strikes a dollar apart around the close (SPY $748 call next), each trading for cents. The exception, at 65.1% of the leader's volume, was KWEB $29 call expiring December 18, 2026, not a same-day contract: one six-month position among five afternoon lottery tickets.

利率:长端利率在半年度收盘前走高

查询国债收益率曲线:6月30日收盘对比6月29日(仅显示有数据的期限)
每个数字背后的完整 SQL
SELECT
    t.1 AS curve_point,
    round(t.2, 2) AS jun30_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-06-30') AS d,
         (SELECT * FROM global_markets.treasury_yields WHERE date = '2026-06-29') AS p
)

长端利率在半年度最后一个交易日走高:10年期国债收益率上升 6 bp 至 4.44%,2年期国债收益率上升 4 bp 至 4.14%,且 2s10s 利差 扩大了 2 bp 至 0.3 个基点。在交易日内,长端收益率普遍上升;而表现最弱的板块房地产 (-2%) 和第三弱的板块公用事业 (-1.48%) 均对利率高度敏感。这种现象值得关注,但目前的数据尚无法证明其因果关系(上半年回顾 决定了半年度的收益率曲线)。

日历背后的数据逻辑

查询6月30日公司日历与信息流(显示申报与指数的差距)
每个数字背后的完整 SQL
WITH
    (
        SELECT (count(), uniqExact(publisher))
        FROM global_markets.stocks_news
        WHERE toDate(toTimeZone(published_utc, 'America/New_York')) = '2026-06-30'
    ) 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-06-30'
            )
            WHERE t != 'SPCX'
            GROUP BY t
        )
    ) AS top_news
SELECT
    (SELECT count() FROM global_markets.stocks_dividends WHERE ex_dividend_date = '2026-06-30') AS ex_dividend_records,
    (SELECT count() FROM global_markets.stocks_splits WHERE execution_date = '2026-06-30') AS splits_executed,
    (SELECT count() FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-30') AS ipos_listed,
    (SELECT uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS sec_filings,
    (SELECT uniqExactIf(accession_number, form_type = '4') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS insider_form4_filings,
    (SELECT uniqExactIf(accession_number, form_type = '8-K') FROM global_markets.stocks_sec_edgar_index WHERE filing_date = '2026-06-30') AS filings_8k,
    (SELECT arrayStringConcat(groupArray(concat(ticker, ' — ', issuer_name)), '; ') FROM (
        SELECT ticker, issuer_name FROM global_markets.stocks_ipos WHERE listing_date = '2026-06-30' 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 uniqExact(accession_number) FROM global_markets.stocks_sec_edgar_index WHERE filing_date = toDate('2026-06-29')) AS filings_prior_session

704 股息记录在季度最后一天进入 除息期 —— 随着多数美国公司进行季度派息,出现了季末派息潮 —— 同时伴随 7 次拆股和 2 次新股上市 (AACU — Ares Acquisition Corp III; OSPRU — Osprey Acquisition Corp. III)。备案数据质量是核心指标:SEC 指数显示 6 月 30 日共有 31 份备案文件 —— 包括 0内部人士 Form 40 份 8-K 文件 —— 而前一个交易日仅为 4439 份。数据流中存在月末模式,详见 月末缺口报告;在数据回填前,任何包含此日的统计结果都会被低估。

交易时段验证

查询交易时段检查:SPY 观察到的分钟线跨度
每个数字背后的完整 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-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00') AS regular_session_bars,
    uniqExactIf(toDate(toTimeZone(window_start, 'America/New_York')), window_start >= '2026-06-30 13:30:00' AND window_start < '2026-06-30 20:00:00') AS day_sessions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-06-30 00:00:00' AND window_start < '2026-07-01 00:00:00'

SPY 的 K 线在纽约时间 04:0019:59 之间运行,包含精确的 390 根常规窗口 K 线 —— 已通过行情数据验证完整交易时段(交易所日历数据集仅包含即将到来的收盘时间)。

交易总结

0.73% 的 SPY 涨幅,伴随 51.8% 的个股上涨,410 板块基金走高,以及 4.69 点的涨跌幅差距,这并非普涨行情。这只是单一板块的上涨掩盖了指数的表现,且正值季度末拍卖最剧烈的半小时内。指数变动仅是平均值,本次上涨由科技股带动,而多数板块均在下跌:在盲目跟随指数方向前,请先观察离散度。

常见问题

2026年6月30日的股市表现如何?

股市收涨:相比6月29日收盘,SPY上涨了 0.73%,QQQ上涨了 1.63%。市场涨幅覆盖面较窄——51.8% 的高流动性股票上涨,4% 的 10 S&P 板块基金呈现上涨态势。

2026年6月30日哪个板块领涨市场?

科技板块:XLK上涨了 2.69%,工业板块紧随其后上涨 1.34%,房地产板块表现最差,上涨 -2% —— 最强与最弱板块的差距为 4.69 点。

2026年6月30日波动最大的股票有哪些?

在成交额在1000万美元及以上的股票中,JEM涨幅最大(+256.76%),SOC跌幅最大(55.89%)。两者均未涉及拆股记录:均为实际价格波动,而非公司行为导致的异常。

2026年第二季度的股市表现如何?

从4月1日开盘到6月30日收盘,在 62 个交易日中:QQQ上涨 26.53%,IWM上涨 20.21%,SPY上涨 14.13%,DIA上涨 12.08% —— 这是一个由成长股驱动的季度,并以一个由成长股驱动的交易日结束。

为什么最后半小时的成交量如此巨大?

最后半小时的成交量为 2.69 十亿股,而开盘时仅为 2.05 十亿股。收盘竞价通过一次撮合确定每只股票的官方收盘价,指数基金通过在此交易来匹配该价格;季度末的调仓活动集中了这些交易流。

数据说明与方法

  • 板块构成。 板块看板由该面板中列出的十只 SPDR 板块基金组成。每交易日篮子内容一致,因此离散度数值具有跨日可比性。异动看板要求成交额达到 1000 万美元且前一交易日收盘价高于 1 美元,且不包括上述重复使用的代码,并包含拆股记录列。
  • 注意事项。 成交金额是按分钟计算的近似值(收盘价 × 每根 K 线成交量)。6 月 30 日的申报指数数据几乎为空(请参阅 月末缺口说明 进行诊断)。新闻计数仅采用单一供应商的数据源:此处未记录文章并不代表该处未发布任何新闻。
  • 计算方法。 一个交易日(1,经观测 K 线验证);时间戳以 UTC 存储,并在查询时转换为纽约时间;“收盘价”指最后一根常规分钟 K 线,而非集合竞价价格。期权到期日通过 OCC 代码重新解析(表格自带列存在错误);价内/价外程度是相对于 SPY 的最后一根常规 K 线计算的。面板在编写时通过受限的只读路径运行一次。数据仓库截至 2026 年 7 月 13 日。

每个面板都是存储的查询结果——包含图表、表格和 SQL。您可以将任何面板粘贴到 Strasmore 终端。下一交易日:7 月 1 日