美股盘前和盘后交易时间
盘前为美东时间凌晨4点至上午9点30分,盘后为下午4点至晚上8点。查看各时段成交量占比、买卖价差成本,以及新闻发布时市场如何变动。
盘后交易是指美国常规交易时段结束后,东部时间下午4:00至晚上8:00之间买卖股票;盘前交易则是指东部时间凌晨4:00至上午9:30之间的相同交易活动。两者共同构成常规的上午9:30至下午4:00交易日的前后时段,合称延长时段交易。大多数经纪商都支持这两个时段,而且几乎总是只接受限价单。本页面直接根据逐笔成交数据(记录每一笔交易的公开汇总记录),分析收盘铃响后成交量、买卖价差和新闻发布时间究竟发生了哪些变化。每个数字均附有对应的精确查询。
盘前和盘后交易时段是什么时间?
美国正常交易日分为三个时段:盘前交易(美东时间上午4:00至9:30)、正常交易时段(上午9:30至下午4:00)和盘后交易(下午4:00至8:00)。无需盲目接受这一时刻表,您可以直接从逐笔成交数据中核实。下方图表扫描过去两周内 SPY 的每根一分钟K线,并按美东时间记录每个已完成交易时段的最早和最晚K线。(SPY 是交易最活跃的标普500 ETF,只要有市场开放,它就会交易。)
| 首个ET时间 | 最后ET时间 | 首个日内分钟 | 最后日内分钟 | 已完成交易时段 | 首个交易时段 | 最后交易时段 |
|---|---|---|---|---|---|---|
| 04:00 | 19:59 | 240 | 1199 | 10 | 2026-09-21 | 2026-10-02 |
每个数字背后的完整 SQL
SELECT
min(formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i')) AS first_bar_et,
max(formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i')) AS last_bar_et,
min(toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) AS first_bar_minute_of_day,
max(toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) AS last_bar_minute_of_day,
uniqExact(toDate(toTimeZone(window_start, 'America/New_York'))) AS completed_sessions,
toString(min(toDate(toTimeZone(window_start, 'America/New_York')))) AS first_session,
toString(max(toDate(toTimeZone(window_start, 'America/New_York')))) AS last_session
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= now() - INTERVAL 14 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 240 AND 1199在 10 个从 2026-09-21 到 2026-10-02 的已完成交易时段中,任一交易日最早的K线出现在 04:00(美东时间),任一交易日的最后一根K线则在 19:59 开盘,覆盖时长为十六小时,其中正常交易时段占六个半小时。交易时段数量只包括实际发生交易的日期:节假日不会产生K线;提前收市会缩短这一时段范围,正常交易时段于美东时间下午1:00结束,盘后交易也会提前结束。市场节假日和提前收市介绍了如何结合交易日历和逐笔成交数据核实交易时段,再据此采信某一交易日的数据。
盘前盘后时段可以买股票吗?
可以。大多数主要券商都接受盘前和盘后订单,但通常有三项几乎普遍适用的条件:
- 仅限限价单:您需要指定愿意接受的确切价格。订单将以该价格或更优价格成交,否则不会成交。市价单通常会被拒绝,或排队等到下一交易时段执行。
- 订单会被路由至电子交易场所、电子通信网络(ECN)等系统。这些计算机系统直接撮合买方和卖方,也会接入交易所自己的延长交易时段。与正常交易日不同,延长交易时段没有开盘和收盘竞价,也不要求做市商持续报价。
- 订单不保证成交:由于对手方参与者较少,一笔在下午2:00能立即成交的限价单,到了下午6:00可能仍无人承接。
各家券商的截止时间和可用订单类型不同。标准的凌晨4:00至晚上8:00时段由交易场所设定,而不是由券商设定。不过,目前少数券商还在场外交易场所提供单独的隔夜交易时段,大致为晚上8:00至凌晨4:00。这是一个独立市场,不属于本页统计的凌晨4:00至晚上8:00时段。
盘前和盘后交易的成交量有多大?
两个延长交易时段合计每天九个半小时,比常规交易时段多三个小时。但它们占总成交量的比例远没有这么高。下表将过去一个月SPY、AAPL和NVDA的股票成交量按四个时间窗口拆分:盘前交易时段、常规交易时段、下午4:00收盘铃后的前半小时,以及晚间剩余时段。提前收盘日,即下午1:00结束的节假日缩短交易日,不计入统计范围(只有交易延续至晚间的交易日才计入),从而确保每个统计日的时间窗口名称都与实际时段一致。拆分统计涵盖合并行情中的每笔成交,包括收盘竞价成交记录;而该行情中的一分钟K线不包含收盘竞价成交记录。
| ticker | 盘前占比 | 常规时段占比 | 收盘后30分钟占比 | 晚间占比 |
|---|---|---|---|---|
| SPY | 2.4 | 79.2 | 15.8 | 2.5 |
| AAPL | 1.5 | 71.3 | 25.6 | 1.7 |
| NVDA | 3.6 | 69.7 | 19.5 | 7.1 |
每个数字背后的完整 SQL
WITH full_sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY session_date
HAVING max(toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 1140
)
SELECT ticker,
round(100 * sumIf(shares, m < 570) / sum(shares), 1) AS premarket_pct,
round(100 * sumIf(shares, m >= 570 AND m < 960) / sum(shares), 1) AS regular_pct,
round(100 * sumIf(shares, m >= 960 AND m < 990) / sum(shares), 1) AS post_close_30min_pct,
round(100 * sumIf(shares, m >= 990) / sum(shares), 1) AS evening_pct
FROM (
SELECT ticker, toFloat64(size) AS shares,
toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS m
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA')
AND sip_timestamp >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (SELECT session_date FROM full_sessions)
AND NOT hasAny(conditions, [15, 16, 38])
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 240 AND 1199
)
GROUP BY ticker
ORDER BY indexOf(['SPY', 'AAPL', 'NVDA'], ticker)常规交易时段占SPY股票成交量的79.2%、苹果的71.3%和英伟达的69.7%。盘前交易时段持续五个半小时,占苹果成交量的1.5%、英伟达的3.6%。真正的晚间交易,即下午4:30至晚上8:00截止前的时段,占苹果成交量的1.7%、英伟达的7.1%和SPY的2.5%。
需要解释的是收盘铃后的前半小时。SPY当月成交量中有15.8%在这一时段成交。这并不是晚间投机交易。收盘竞价是决定个股官方收盘价的日终大额撮合。其成交记录会在下午4:00及随后不久发布,日终交易报告也会在同几分钟内汇总到行情中。按时钟划分,这些成交属于“盘后”;但从经济实质看,它们属于收盘交易。在季度末和指数再平衡日,这部分成交尤其庞大。对于SPY这样的ETF,该时段成交量可能超过整个盘前交易时段。任何基于成交量的统计指标——相对成交量、VWAP或成交最活跃筛选器——只要统计的时间窗口不同,含义就会发生变化。
按每分钟成交的股票数量比较,差异更加明显。下图按半小时区间,展示了同一个完整交易月内,苹果全天十六小时交易时段的每分钟成交量中位数。这里有一个需要注意的统计限制:没有成交的分钟根本不会生成K线。因此,每个半小时区间的中位数只描述苹果实际发生交易的分钟。第二条序列显示的是有成交的时钟分钟占比,用于说明每个区间中实际发生交易的分钟比例。
| ET时间 | 分钟成交量中位数 | 成交分钟占比 |
|---|---|---|
| 04:00 | 730 | 81.8 |
| 04:30 | 505 | 73.9 |
| 05:00 | 456 | 68.9 |
| 05:30 | 469 | 68.4 |
| 06:00 | 415 | 71.8 |
| 06:30 | 510 | 73.3 |
| 07:00 | 1050 | 95.1 |
| 07:30 | 925 | 92.1 |
| 08:00 | 1276 | 97.2 |
| 08:30 | 1502 | 96.1 |
| 09:00 | 3111 | 98.9 |
| 09:30 | 121693 | 100 |
| 10:00 | 80127 | 100 |
| 10:30 | 62213 | 100 |
| 11:00 | 53049 | 100 |
| 11:30 | 49716 | 100 |
| 12:00 | 45176 | 100 |
| 12:30 | 34352 | 100 |
| 13:00 | 31492 | 100 |
| 13:30 | 32135 | 100 |
每个数字背后的完整 SQL
WITH full_sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY session_date
HAVING max(toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 1140
)
SELECT formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(window_start))) AS median_minute_volume,
round(100 * count() / (30 * max(uniqExact(toDate(toTimeZone(window_start, 'America/New_York')))) OVER ()), 1) AS pct_minutes_traded
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT session_date FROM full_sessions)
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 240 AND 1199
GROUP BY et_time
ORDER BY et_time在09:30区间,即常规交易时段的前半小时,苹果每分钟成交量中位数为121693股,有成交的时钟分钟占100%。15:30区间,即收盘铃前的最后半小时,每分钟成交量为81496股。再下一个区间16:00中,每分钟成交量中位数为1590股。市场并不会在收盘时平稳减速,而是会突然从高位跌落。到17:30区间时,每分钟成交量中位数已降至372股,且只有68.1%的时钟分钟发生交易。盘前交易呈现出不同的形态:04:00区间是当天最早的成交记录,隔夜排队的订单在此时开始具备成交资格,每分钟成交量中位数为730股;05:30区间每分钟成交量为469股,其中68.4%的分钟发生交易;到开盘铃前半小时的3111区间,成交速度升至每分钟09:00股。
盘后时段的买卖价差如何变化?
参与者减少,也会体现在买卖价差上。买卖价差是买方愿意支付的最高价与卖方愿意接受的最低价之间的差额,也是立即交易时内含的成本。专业做市商在正常交易时段承担报价义务;收盘后,发布报价属于自愿行为,因此参与的机构更少。下方图表统计了过去一周苹果逐笔报价更新中的报价价差中位数,并按交易时段拆分。统计仅包括完整交易日,排除了提前收盘日,确保每条计入的报价都对应9:30至4:00这一时段。
| 交易时段 | 价差中位数(美分) | 价差中位数(基点) |
|---|---|---|
| extended hours (premarket + after-hours) | 21 | 6.3 |
| regular session (9:30 am - 4:00 pm ET) | 3 | 0.9 |
每个数字背后的完整 SQL
WITH full_sessions AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= now() - INTERVAL 7 DAY
AND toDate(toTimeZone(window_start, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY session_date
HAVING max(toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 1140
)
SELECT trading_session,
round(quantileDeterministic(0.5)(spread_usd, tsk) * 100, 1) AS median_spread_cents,
round(quantileDeterministic(0.5)(spread_bps, tsk), 1) AS median_spread_bps
FROM (
SELECT if(m BETWEEN 570 AND 959, 'regular session (9:30 am - 4:00 pm ET)', 'extended hours (premarket + after-hours)') AS trading_session,
toFloat64(ask_price - bid_price) AS spread_usd,
toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2) * 10000 AS spread_bps,
toUInt64(sip_timestamp) AS tsk,
toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS m
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= now() - INTERVAL 7 DAY
AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) IN (SELECT session_date FROM full_sessions)
AND bid_price > 0
AND ask_price > bid_price
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 240 AND 1199
)
GROUP BY trading_session
ORDER BY trading_session正常交易时段,苹果的报价价差中位数为3美分,即0.9个基点;基点是股价的百分之一的百分之一。盘后时段的中位数为21美分,即6.3个基点。完成一轮交易,即先买入再卖出,只需承担一次这一价差。在该时段,盘后交易的这一成本明显高于正常交易时段。买卖价差的盘后图表显示出全天相同的规律:午间仅有几美分,两端时段的价差则明显扩大。
盘后交易有哪些风险?
其中两项可量化风险已在本页列出。成本方面:苹果在延长交易时段的报价中位价差为21美分,而常规交易时段为3美分。这意味着买入时要跨越更宽的价差,卖出时还要再跨越一次。深度方面:收盘后每个可交易分钟的成交量中位数为1590股苹果股票,低于收盘前半小时的81496股。在订单簿较薄的情况下,每笔订单都会让价格进一步波动。
其余风险则来自交易机制:只能使用限价单,成交从不保证;而且晚间成交的任何价格,都要面对次日上午的开盘集合竞价。届时,更多市场参与者会共同决定开盘价。延长交易时段本质上是参与者更少、内含成本更高的同一市场。上述数据反映的正是进入这一市场所需承担的成本。
为什么股票会在盘后波动?
两个观察结果可以解释大多数盘后波动。第一,公司新闻发布时间通常围绕交易时段安排。企业历来会在正常交易时段之外发布业绩和其他重大公告,最常见的是在下午4:00收盘后几分钟,或开盘前数小时。第二,这些标题新闻发布时所对应的交易行情成交稀薄,正如上文数据所示。
下图按美国东部时间的发布时间小时统计了过去30个完整交易日内综合股票新闻源的每一条信息,统计范围包括一周七天。
| ET小时 | 文章数 | 项目占比 |
|---|---|---|
| 0 | 58 | 0.9 |
| 1 | 71 | 1.1 |
| 2 | 101 | 1.5 |
| 3 | 109 | 1.7 |
| 4 | 173 | 2.6 |
| 5 | 199 | 3 |
| 6 | 298 | 4.5 |
| 7 | 297 | 4.5 |
| 8 | 727 | 11.1 |
| 9 | 584 | 8.9 |
| 10 | 461 | 7 |
| 11 | 837 | 12.8 |
| 12 | 401 | 6.1 |
| 13 | 235 | 3.6 |
| 14 | 222 | 3.4 |
| 15 | 180 | 2.7 |
| 16 | 371 | 5.7 |
| 17 | 507 | 7.7 |
| 18 | 281 | 4.3 |
| 19 | 118 | 1.8 |
每个数字背后的完整 SQL
SELECT toHour(toTimeZone(published_utc, 'America/New_York')) AS et_hour,
count() AS articles,
round(100 * count() / sum(count()) OVER (), 1) AS pct_of_items
FROM global_markets.stocks_news
WHERE published_utc >= now() - INTERVAL 30 DAY
AND toDate(toTimeZone(published_utc, 'America/New_York')) < toDate(toTimeZone(now(), 'America/New_York'))
GROUP BY et_hour
ORDER BY et_hour新闻标题覆盖了24个小时。在这一时间窗口内,中午时段发布了401条,占30天总量的6.1%;上午8点时段发布了727条;收盘后第一个小时发布了371条,占30天总量的5.7%。凌晨3点时段也发布了109条。纽约的夜间是欧洲的早晨,新闻线路从未完全停止。
将两项数据结合起来看:收盘后仍有公告持续发布,而这些公告进入的是一个交易市场。在16:30区间内,成交分钟数的中位数对应772股Apple股票;在13:00区间内则对应31492股。盘后价格反映的是真实信息,但它也是由少数交易者形成的价格。次日早盘开盘竞价则会由规模大得多的交易群体重新定价。
常见问题
盘前交易什么时候开始?
电子交易网络上的盘前交易从美东时间凌晨4:00开始。在上文统计的两周窗口内,SPY最早的成交K线出现在04:00(美东时间)。许多券商会在更晚时间开放盘前交易权限,7:00或8:00较为常见;实际开始时间取决于您的券商支持的时段。
盘后交易会改变官方收盘价吗?
不会。官方收盘价由下午4:00的收盘集合竞价确定,并作为当日收盘价。指数基金、期权结算和您的账户对账单都会以此为依据。盘后成交会更新应用中显示的“最新价”,但官方收盘价不会改变。
为什么股票在财报发布后波动这么大?
财报通常在收盘后几分钟或开盘前发布,处于正常交易时段之外。当时市场成交清淡。在统计月份内,Apple在16:30(美东时间)时段的每分钟成交量中位数为772股,而13:00时段为31492股,买卖价差也更大。每分钟挂出的股票数量更少,因此每笔订单都会使价格移动得更远。
提前收盘日还能进行盘后交易吗?
可以,但交易时钟会调整。在交易所提前收盘的日子,正常交易时段于美东时间下午1:00结束,盘后交易通常持续至下午5:00。全天休市的节假日则完全没有交易时段。应以交易所日历为准,而不是凭惯例判断,此处介绍如何核实市场假日或提前收盘安排。
盘后交易风险高吗?
本页列出的可量化交易摩擦都会增加风险。多数券商只接受限价单。当报价另一侧的机构较少时,订单不一定能成交。报价价差通常更大。Apple盘后时段的买卖价差中位数为21¢,而正常交易时段为3¢;订单簿也更薄,因此每笔订单都会使价格移动得更远。即使某笔交易在晚间成交,次日早晨开盘集合竞价也可能在更多市场参与者加入后重新定价,在此之前仍面临隔夜跳空风险。
以上每个数字均来自可存储且可检查的查询。您可以展开任一面板下方的SQL进行核验。若要分析您持有的某只股票在盘后时段的表现,可在Strasmore终端用自然语言提出相同问题。