Strasmore Research
学习 Matt Connor作者: Matt Connor · 更新于 2026-07-19 · English Français · data as of July 19, 2026 · refreshed weekly

美股交易时间:几点开盘、几点收盘

美股几点开盘、几点收盘?常规交易时段为美东时间周一至周五 9:30 a.m. 至 4:00 p.m.,盘前交易从 4:00 a.m. 开始,盘后延续到 8:00 p.m.,周末与假日休市。

美股的交易时间为美东时间 (ET) 周一至周五 9:30 a.m. 至 4:00 p.m. —— 纽约证券交易所 (NYSE) 和纳斯达克 (Nasdaq) 都在 9:30 a.m. ET 开始常规交易,并在 4:00 p.m. ET 结束。常规交易时段前后还有两段延长交易窗口:从 4:00 a.m. ET 开始的盘前交易,以及持续到 8:00 p.m. ET 的盘后交易;周末以及每年大约十个假日休市。本页的每一个数字都来自真实成交记录,每个数字背后的查询语句点击一下即可查看。(想看一目了然的版本 —— 下一次休市、最近一个交易日 —— 请见美股今天开盘吗。)

美股几点开盘、几点收盘?

常规交易时段 —— 也就是股票报价、指数点位和晚间新闻描述的那段时间 —— 从 9:30 a.m. ET 的开盘钟声持续到 4:00 p.m. ET 的收盘钟声:每天六个半小时,每周五天。美国两大上市交易所遵循同一时刻表,普通券商订单默认在这一窗口内执行。

完整的电子交易日比开收盘钟声之间的时间更宽:

  • 盘前:4:00 a.m. 至 9:30 a.m. ET —— 开盘钟声之前的电子交易。
  • 常规交易时段:9:30 a.m. 至 4:00 p.m. ET —— 全天大部分成交在这里完成。
  • 盘后:4:00 p.m. 至 8:00 p.m. ET —— 收盘钟声之后的电子交易。

常规交易日的首尾各有一场集合竞价。开盘集合竞价在 9:30 a.m. 确定每只股票的官方开盘价,而收盘集合竞价 —— 4:00 p.m. 刚过时的一笔巨大的集中撮合成交 —— 确定当晚各处引用的官方收盘价。本页所有时间均为美东时间:同一常规交易时段在美国西海岸是 6:30 a.m. 至 1:00 p.m.,换算成北京时间则是夏令时 21:30 至次日 4:00、冬令时 22:30 至次日 5:00。

成交记录上的美股交易时段是什么样子?

定义是一回事,成交记录才是证据。下面的面板取自 SPY 成交记录上最近的一个完整长度交易日 —— 2026-07-16Thursday),即记录已经完整的最近一个交易日(数据源滞后一到两天)—— 并通过清点其常规交易时段的分钟K线来核验:共 390 根,开收盘钟声之间每分钟一根。该交易日的第一根K线打印于 04:00 ET,最后一根打印于 19:59 ET —— 成交记录覆盖了 4:00 a.m. 至 8:00 p.m. 的完整延长交易日。

查询SPY 成交记录上的一个完整交易日,按交易时段拆分(最近的完整长度交易日)
每个数字背后的完整 SQL
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
                AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    toString(session_day)                     AS session_date,
    formatDateTime(session_day, '%W')         AS weekday,
    countIf(et_min >= 570 AND et_min < 960)   AS regular_session_bars,
    min(et_min)                               AS first_bar_minute_of_day,
    max(et_min)                               AS last_bar_minute_of_day,
    formatDateTime(min(et_ts), '%H:%i')       AS first_bar_et,
    formatDateTime(max(et_ts), '%H:%i')       AS last_bar_et,
    round(sum(volume) / 1e6, 1)               AS total_shares_m,
    round(100.0 * sumIf(volume, et_min < 570) / sum(volume), 1)                    AS premarket_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 960) / sum(volume), 1)  AS regular_pct,
    round(100.0 * sumIf(volume, et_min >= 960 AND et_min < 990) / sum(volume), 1)  AS post_close_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 990) / sum(volume), 1)                   AS evening_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS first_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 930 AND et_min < 960) / sum(volume), 1)  AS last_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume), 1)  AS midday_half_hour_pct
FROM
(
    SELECT
        volume,
        toTimeZone(window_start, 'America/New_York') AS et_ts,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
        + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND toDate(toTimeZone(window_start, 'America/New_York')) = session_day
)

成交量的分布正是要点所在。在这整整十六个小时里成交的 45.3 百万股 SPY 中,常规交易时段占 86.1%。长达五个半小时的盘前只打印了 2.1%。收盘钟声后的头半小时打印了 9.8% —— 这一窗口收录了交易时段结束后才报送到成交记录的大额协商成交 —— 剩下三个半小时的晚间时段合计只有 2%。

按半小时分桶可以看出全天的形态:

查询SPY 每半小时成交量,从盘前到盘后(同一交易日,ET 时钟)
每个数字背后的完整 SQL
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
                AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
    round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND toDate(toTimeZone(window_start, 'America/New_York')) = session_day
GROUP BY et_half_hour
ORDER BY et_half_hour

在这个交易日里,收盘前半小时打印了全天成交量的 24.5%,而 12:30 至 1:00 的午间半小时只有 3.7%;开盘后半小时打印了 8.7%。收盘前的放量有一个机制上的锚:指数基金、共同基金以及对标基准的机构按官方收盘价成交,它们的订单汇集到收盘集合竞价。整个延长交易日的成交量总共落在 32 个不同的半小时桶中。

什么是盘前交易和盘后交易?

盘前(4:00 a.m. 至 9:30 a.m. ET)和盘后(4:00 p.m. 至 8:00 p.m. ET)是围绕常规交易日的纯电子交易窗口。这两个时段参与者更少,买卖价差更宽,多数券商在此期间只接受限价单。公司新闻集中出现在这两个窗口:财报发布多聚集在 4:00 p.m. 收盘后不久以及开盘前的几个小时 —— 正是在这些窗口里,股价可能跳空、远离前收盘价。7:00 p.m. 打印的价格并不保证第二天早晨的开盘价会在哪里。

逐个交易日的成交量占比、实测的买卖价差成本,以及新闻头条实际落地的时刻,都收录在本页的姊妹篇盘后与盘前交易中。简短的结论在上面的面板里已经可见:延长时段真实存在、可以交易,但与常规交易时段相比十分清淡。

期权和期货的交易时间是怎样的?

个股期权的交易时间为 9:30 a.m. 至 4:00 p.m. ET —— 没有盘前,也没有盘后。少数宽基 ETF 和指数产品的期权 —— SPY、QQQ、IWM,以及 SPX、VIX 等指数期权 —— 多出 15 分钟,可交易到 4:15 p.m. ET。成交记录展示了 2026-07-16(与上文测量的同一个交易日)两类合约的分野:

查询4:00 p.m. 钟声下的个股期权与 ETF 期权 —— 同一交易日收盘前后的 AAPL 与 SPY 期权成交
每个数字背后的完整 SQL
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
                AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 21
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars = 390
    )
) AS session_day
SELECT
    if(startsWith(ticker, 'O:SPY'), 'SPY options (ETF)', 'AAPL options (single name)') AS contract,
    toString(session_day)                                                              AS session_date,
    countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
        AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')) AS trades_345_to_400,
    countIf(sip_timestamp >= toDateTime(concat(toString(session_day), ' 16:00:00'), 'America/New_York')
        AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 16:15:00'), 'America/New_York')) AS trades_400_to_415,
    formatDateTime(toTimeZone(max(sip_timestamp), 'America/New_York'), '%H:%i') AS last_trade_et,
    toHour(toTimeZone(max(sip_timestamp), 'America/New_York')) * 60
    + toMinute(toTimeZone(max(sip_timestamp), 'America/New_York'))              AS last_trade_minute_of_day
FROM global_markets.options_trades
WHERE (startsWith(ticker, 'O:SPY') OR startsWith(ticker, 'O:AAPL'))
  AND match(ticker, '^O:(SPY|AAPL)[0-9]{6}[CP][0-9]{8}$')
  AND sip_timestamp >= toDateTime(concat(toString(session_day), ' 15:45:00'), 'America/New_York')
  AND sip_timestamp <  toDateTime(concat(toString(session_day), ' 23:00:00'), 'America/New_York')
GROUP BY contract
ORDER BY contract

常规交易时段的最后 15 分钟里,两条成交记录都很繁忙:AAPL 期权成交 14663 笔,SPY 期权成交 75028 笔。钟声之后的 15 分钟则把两者区分开来:AAPL 只有 2 笔零星成交(最后一笔在 16:00 ET),而 SPY 打印了 22313 笔,最后一笔在 16:14 ET。到期日另有自己的时刻表 —— 0DTE 期权何时交易对此做了梳理。

期货完全是另一套时钟:CME 股指期货接近 24 小时交易,从周日 6:00 p.m. ET 到周五 5:00 p.m. ET,每天 5:00 p.m. 暂停一小时 —— 这就是每条“今晨期货上涨”新闻背后的隔夜成交记录。债券市场按 SIFMA 建议的时间在场外交易,大致为 8:00 a.m. 至 5:00 p.m. ET,并使用自己的假日日历:哥伦布日和退伍军人节债券休市,而股票照常交易。

美股什么时候休市?

美股在周末休市,每年约有十个全天假日休市,另外在少数排定的半日交易日提前收盘 —— 收盘时间为 1:00 p.m. ET。下面的日历直接取自交易所时刻表并自行维护:每个假日过去后自动移除,下一个随之顶上。

查询即将到来的美股假日与提前收盘日,取自交易所日历
每个数字背后的完整 SQL
SELECT
    toString(date)                       AS holiday_date,
    formatDateTime(date, '%a')           AS weekday,
    any(name)                            AS holiday,
    any(status)                          AS day_status,
    any(if(status = 'early-close',
           formatDateTime(toTimeZone(close, 'America/New_York'), '%I:%i %p'),
           ''))                          AS early_close_et,
    dateDiff('day', today(), date)       AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date

下一次排定的休市是 2026-09-07Labor Day,距今 50 天;已加载的日历共列出未来 12 个有日期的休市安排,每一项都标注为全天休市或提前收盘。在提前收盘日,常规交易时段在 1:00 p.m. ET 结束而非 4:00 p.m. —— 交易三个半小时而不是六个半小时 —— 收盘集合竞价在 1:00 p.m. 打印。这些半日交易日多集中在感恩节和圣诞节前后。周末的补休规则(假日落在周六则前一个周五休市,落在周日则后一个周一休市)、完整日历,以及如何从成交记录核对过去某次休市,都在美股假日与提前收盘中。

半日交易在成交记录上是什么样子?

日历列出了提前收盘日;成交记录则展示了它的样子。SPY 成交记录上最近的一个半日交易日是 2025-12-24Wednesday):从 9:30 a.m. 到 1:00 p.m. 的收盘集合竞价,常规交易时段共 210 根分钟K线。

查询SPY 成交记录上最近的一个提前收盘交易日,按交易时段拆分
每个数字背后的完整 SQL
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
                AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 400
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars >= 150 AND rth_bars <= 240
    )
) AS half_day
SELECT
    toString(half_day)                          AS session_date,
    formatDateTime(half_day, '%W')              AS weekday,
    countIf(et_min >= 570 AND et_min < 780)     AS morning_session_bars,
    formatDateTime(max(et_ts), '%H:%i')         AS last_bar_et,
    max(et_min)                                 AS last_bar_minute_of_day,
    round(sum(volume) / 1e6, 1)                 AS total_shares_m,
    round(100.0 * sumIf(volume, et_min < 570) / sum(volume), 1)                    AS premarket_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 780) / sum(volume), 1)  AS regular_pct,
    round(100.0 * sumIf(volume, et_min >= 780 AND et_min < 810) / sum(volume), 1)  AS post_close_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 810) / sum(volume), 1)                   AS evening_pct,
    round(100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS first_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume), 1)  AS last_30min_pct,
    round(100.0 * sumIf(volume, et_min >= 750 AND et_min < 780) / sum(volume)
        - 100.0 * sumIf(volume, et_min >= 570 AND et_min < 600) / sum(volume), 1)  AS close_minus_open_pct
FROM
(
    SELECT
        volume,
        toTimeZone(window_start, 'America/New_York') AS et_ts,
        toHour(toTimeZone(window_start, 'America/New_York')) * 60
        + toMinute(toTimeZone(window_start, 'America/New_York')) AS et_min
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 400
      AND toDate(toTimeZone(window_start, 'America/New_York')) = half_day
)

完整交易日的形态在压缩后依然保留。在当天打印的 35.6 百万股 SPY 中,缩短后的常规交易时段占 95.5%,1:00 p.m. 收盘前的最后半小时占 23.8% —— 远高于开盘后半小时的 12.2% —— 与正常交易日相同的收盘集合竞价引力,只是提前了三个小时。收盘后的半小时打印了 3.1%(又是大宗补报窗口),下午剩余时间仅有 0.1%。延长时段同样提前结束:当天最后一根K线打印于 16:59 ET —— 半日交易日的盘后在 5:00 p.m. 左右结束,比平常的 8:00 p.m. 提前三小时。期权也提前收盘:个股期权 1:00 p.m.,延长交易的 ETF 与指数合约 1:15 p.m.。

查询提前收盘交易日的 SPY 每半小时成交量,从盘前到缩短的盘后(ET 时钟)
每个数字背后的完整 SQL
WITH
(
    SELECT max(d)
    FROM
    (
        SELECT
            toDate(toTimeZone(window_start, 'America/New_York')) AS d,
            countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
                AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                     + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= today() - 400
          AND window_start < today() - 2
        GROUP BY d
        HAVING rth_bars >= 150 AND rth_bars <= 240
    )
) AS half_day
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_half_hour,
    round(sum(volume) / 1e6, 2) AS shares_m
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= today() - 400
  AND toDate(toTimeZone(window_start, 'America/New_York')) = half_day
GROUP BY et_half_hour
ORDER BY et_half_hour

成交量落在 21 个半小时桶中 —— 熟悉的“开盘繁忙、收盘更重”的形态被压缩进了三个半小时。

一年有多少个交易日?

扣除周末和假日,一个日历年大约剩下 250 个交易日。直接在成交记录上清点可以得到确切数字:

查询过去一年的交易日数量,从 SPY 成交记录清点
每个数字背后的完整 SQL
SELECT
    count()                              AS trading_days,
    countIf(rth_bars >= 380)             AS full_length_sessions,
    countIf(rth_bars <= 240)             AS shortened_sessions,
    countIf(rth_bars > 240 AND rth_bars < 380) AS irregular_sessions,
    countIf(is_weekend)                  AS weekend_sessions,
    toString(min(d))                     AS first_session,
    toString(max(d))                     AS last_session
FROM
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        toDayOfWeek(toDate(toTimeZone(window_start, 'America/New_York'))) >= 6 AS is_weekend,
        countIf((toHour(toTimeZone(window_start, 'America/New_York')) * 60
                 + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
            AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
                 + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960) AS rth_bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 370
      AND window_start < today() - 2
    GROUP BY d, is_weekend
    HAVING rth_bars > 0
)

2025-07-142026-07-16,市场共举行了 254 个常规交易日 —— 其中 252 个完整长度交易日加上 2 个缩短交易日 —— 而周末交易日恰好为 0 个,这是成交记录自己开出的凭证:没有任何周六或周日举行过常规交易。

全球股市的交易时间

美股交易时间只是近乎连续的全球轮转中的一段。伦敦证券交易所的交易时间为当地时间 8:00 a.m. 至 4:30 p.m.;其尾段通常与美股常规交易时段的前两个小时重叠 —— 即 9:30 至 11:30 a.m. ET —— 欧洲的收盘落在纽约的上午时分。东京的交易时间为当地时间 9:00 a.m. 至 3:30 p.m.,中间有午休,整段处于美国的夜间。几乎任何一个工作日总有某家主要交易所在开市 —— 但在美国上市的股票只在本页测量的美股时段内打印成交。

FAQ

美股几点开盘?北京时间呢?

NYSE 和纳斯达克在周一至周五的美东时间 9:30 a.m. 开始常规交易,换算成北京时间为夏令时 21:30、冬令时 22:30。电子盘前交易开始得更早,4:00 a.m. ET 即已开始,但每只股票的官方开盘价在 9:30 a.m. 的开盘集合竞价上确定。

美股周末开盘吗?

不开。美国证券交易所在周六和周日没有任何交易时段 —— 上文过去一年的成交记录显示周末交易日为 0 个。周五 4:00 p.m. 收盘、8:00 p.m. 盘后截止之后,除假日外,交易在周一 4:00 a.m. 的盘前恢复。

什么是盘前交易和盘后交易?

即常规交易时段之外的电子交易:盘前为 4:00 a.m. 至 9:30 a.m. ET,盘后为 4:00 p.m. 至 8:00 p.m. ET。两者的参与者都比常规交易时段少、买卖价差更宽,多数券商在这些时段只接受限价单。

美股什么时候提前收盘?

在排定的半日交易日,常规交易在 1:00 p.m. ET 结束而非 4:00 p.m. —— 通常包括感恩节后的周五、落在工作日的平安夜,以及某些年份的 7 月 3 日。过去一年的成交记录显示有 2 个缩短交易日。

股票停牌到收盘会怎么样?

收盘钟声响起时仍处于停牌状态的股票,当天不会获得延后的收盘集合竞价 —— 按交易所规则,停牌一旦持续到大约 3:50 p.m. ET 之后就不再举行复牌集合竞价,停牌就这样一直延续到收盘。没有集合竞价来确定价格时,交易所退而采用该股票停牌前最后五分钟自身成交的成交量加权平均价作为官方收盘价 —— 而不是简单取最后一笔成交价。停牌只针对个股 —— 市场其余部分照常在 4:00 p.m. 收盘。

美股是 4:00 收盘还是 4:30 收盘?

美国证券交易所在 4:00 p.m. ET 结束常规交易。此后仍在变动的报价来自盘后时段(持续到 8:00 p.m. ET),另有少数指数产品可交易到 4:15 p.m. ET。


交易时间是一张时刻表;成交记录才是凭证。上面的每个面板都是一条已存储的查询,您可以在 Strasmore 终端上打开、编辑并重新运行 —— 用自然语言查询任何交易日、任何代码,或者查看下一次休市。

#交易时间#交易时段#trading calendar