美股开盘时间对照北京时间:几点开盘几点收盘
美股常规交易时段对应北京时间21:30至次日04:00,美国冬令时期间整体顺延一小时,变成22:30到次日05:00。本文给出盘前、盘后、提前收市日的北京时间对照表,标出2026年两次夏令时切换的日期,并说明休市只跟美国交易所日历走,与中国节假日无关,另附盘前与盘后成交量占比的实测面板数据。
美股开盘时间换算成北京时间是晚上21:30,收盘是次日凌晨04:00,这是美国处在夏令时期间的对照关系。每年11月初美国切回冬令时之后,整条时间线整体顺延一小时,变成22:30开盘、次日05:00收盘。中国全年不实行夏令时,美国一侧每年调整两次,两地时差随之在12小时和13小时之间来回切换。
美股开盘时间对应北京时间几点
美股常规交易时段是美东时间09:30到16:00,一共六个半小时。把这条时间线放到北京时间的坐标上,三段时间是这样对应的:
- 盘前时段:美东04:00到09:30,北京时间16:00到21:30,冬令时期间为17:00到22:30。
- 常规时段:美东09:30到16:00,北京时间21:30到次日04:00,冬令时期间为22:30到次日05:00。
- 盘后时段:美东16:00到20:00,北京时间次日04:00到08:00,冬令时期间为05:00到09:00。
每一段时段的定义、谁能参与、报价规则有什么不同,在美股交易时间完整指南里有逐段说明。这一页只做北京时间的换算参考。
下面这张面板把 SPY(跟踪标普500指数的ETF)在2026年9月14日到9月18日这一周的分钟成交量按半小时一格摊开,最左边一列标的就是北京时间。这一周美国处在夏令时,中间没有提前收市日,是一条干净的基准线。
| beijing_time | et_time | volume_millions | trades_thousands |
|---|---|---|---|
| 16:00 | 04:00 | 0.42 | 14 |
| 16:30 | 04:30 | 0.12 | 2.1 |
| 17:00 | 05:00 | 0.1 | 2.4 |
| 17:30 | 05:30 | 0.12 | 2.3 |
| 18:00 | 06:00 | 0.12 | 2.1 |
| 18:30 | 06:30 | 0.15 | 2.7 |
| 19:00 | 07:00 | 0.74 | 8.7 |
| 19:30 | 07:30 | 0.49 | 7.5 |
| 20:00 | 08:00 | 0.83 | 11.5 |
| 20:30 | 08:30 | 1.03 | 14.2 |
| 21:00 | 09:00 | 1.11 | 19 |
| 21:30 | 09:30 | 20.1 | 301.2 |
| 22:00 | 10:00 | 14.6 | 246.6 |
| 22:30 | 10:30 | 11.93 | 234 |
| 23:00 | 11:00 | 27.99 | 207.2 |
| 23:30 | 11:30 | 10.06 | 199 |
| 00:00 | 12:00 | 7.77 | 140.3 |
| 00:30 | 12:30 | 6.81 | 117.3 |
| 01:00 | 13:00 | 10.51 | 100.6 |
| 01:30 | 13:30 | 5.41 | 132.5 |
每个数字背后的完整 SQL
SELECT
beijing_time,
et_time,
round(sum(volume) / 1e6, 2) AS volume_millions,
round(sum(transactions) / 1e3, 1) AS trades_thousands
FROM
(
SELECT
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'Asia/Shanghai'), INTERVAL 30 MINUTE), '%H:%i') AS beijing_time,
formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ intDiv(toMinute(toTimeZone(window_start, 'America/New_York')), 30) * 30 AS et_minute_of_day,
volume,
transactions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= toDateTime('2026-09-14 08:00:00', 'UTC')
AND window_start < toDateTime('2026-09-19 00:00:00', 'UTC')
)
GROUP BY beijing_time, et_time, et_minute_of_day
ORDER BY et_minute_of_day北京时间16:00那一格,也就是美东04:00盘前刚刚开始的第一个半小时,这一周合计成交 0.42 百万股。到北京时间 21:30 开盘,紧接着的半小时里同口径成交 20.1 百万股。收盘前最后半小时(北京时间 03:30)是 43.66 百万股;北京时间 04:00 那一格里落着美东16:00整的收盘集合竞价,合计 32.6 百万股。整条曲线共 32 格,从北京时间下午四点一路排到第二天早上。
对生活在北京时间里的人,这张图有一个很实际的读法:晚上入睡前能盯到的,是开盘后的头两三个小时;收盘和收盘竞价落在凌晨,多数人是第二天早上补看结果。
夏令时一年切两次,北京这边不动
美国每年3月的第二个星期日进入夏令时,11月的第一个星期日退出。2026年的两个日期是3月8日和11月1日,都按美国当地时间计。中国全年只有一个时区、一套时钟,于是每年有两个星期一,美股的开盘在北京时间这一侧整体挪动一小时。
| month | month_label | beijing_minus_ny_hours | earliest_tape_start_bj | latest_tape_start_bj |
|---|---|---|---|---|
| 2025-08-01 | 2025年8月 | 12 | 16:00 | 16:00 |
| 2025-09-01 | 2025年9月 | 12 | 16:00 | 16:01 |
| 2025-10-01 | 2025年10月 | 12 | 16:00 | 16:00 |
| 2025-11-01 | 2025年11月 | 13 | 17:00 | 17:00 |
| 2025-12-01 | 2025年12月 | 13 | 17:00 | 17:00 |
| 2026-01-01 | 2026年1月 | 13 | 17:00 | 17:00 |
| 2026-02-01 | 2026年2月 | 13 | 17:00 | 17:00 |
| 2026-03-01 | 2026年3月 | 12.23 | 16:00 | 17:00 |
| 2026-04-01 | 2026年4月 | 12 | 16:00 | 16:00 |
| 2026-05-01 | 2026年5月 | 12 | 16:00 | 16:00 |
| 2026-06-01 | 2026年6月 | 12 | 16:00 | 16:00 |
| 2026-07-01 | 2026年7月 | 12 | 16:00 | 16:00 |
| 2026-08-01 | 2026年8月 | 12 | 16:00 | 16:00 |
| 2026-09-01 | 2026年9月 | 12 | 16:00 | 16:00 |
每个数字背后的完整 SQL
SELECT
toString(toStartOfMonth(session_date)) AS month,
concat(toString(toYear(session_date)), '年', toString(toMonth(session_date)), '月') AS month_label,
round(avg(offset_hours), 2) AS beijing_minus_ny_hours,
min(tape_start_bj) AS earliest_tape_start_bj,
max(tape_start_bj) AS latest_tape_start_bj
FROM
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
formatDateTime(toTimeZone(min(window_start), 'Asia/Shanghai'), '%H:%i') AS tape_start_bj,
(toHour(toTimeZone(min(window_start), 'Asia/Shanghai'))
- toHour(toTimeZone(min(window_start), 'America/New_York')) + 24) % 24 AS offset_hours
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 400
AND window_start < today() - 2
GROUP BY session_date
)
GROUP BY month, month_label
ORDER BY month这条线只取两个值。取12的月份是美国夏令时,取13的月份是冬令时。最近一个月(2026年9月)实测时差 12 小时,区间最早的 2025年8月 是 12 小时,整段覆盖 14 个月。面板右边两列是每个月里分钟行情最早一笔在北京时间的时刻,同一个月的最早值和最晚值差一小时的,就是时钟拨动的那个月。
落到日历上:2026年11月2日星期一是第一个按冬令时进行的交易日,那天的开盘在北京时间11月2日晚上22:30,收盘在11月3日清晨05:00。切换规则本身、以及美国以外其他市场的调时节奏,写在美股夏令时与冬令时的切换规则里。
盘前和盘后在北京时间是几点,量有多薄
北京时间早上07:00相当于美东19:00,属于盘后时段的尾段;北京时间下午16:00到21:30则对应整个盘前。这两段时间对上班族最友好,但它们的成交量和常规时段完全不是一个量级。下面这张面板用同一周的数据,算出六只常见标的各自有多大比例的成交发生在常规时段之外。
| symbol | premarket_pct | afterhours_pct | extended_pct |
|---|---|---|---|
| SPY | 2.07 | 13.06 | 15.14 |
| NVDA | 5.88 | 2.68 | 8.55 |
| AAPL | 2.07 | 2.65 | 4.72 |
| TSLA | 2.16 | 1.63 | 3.79 |
| MSFT | 2.52 | 1.27 | 3.79 |
| KO | 1.04 | 0.94 | 1.98 |
每个数字背后的完整 SQL
SELECT
symbol,
round(100 * sumIf(volume, et_minute < 570) / sum(volume), 2) AS premarket_pct,
round(100 * sumIf(volume, et_minute > 960) / sum(volume), 2) AS afterhours_pct,
round(100 * sumIf(volume, et_minute < 570 OR et_minute > 960) / sum(volume), 2) AS extended_pct
FROM
(
SELECT
ticker AS symbol,
toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'TSLA', 'KO')
AND window_start >= toDateTime('2026-09-14 08:00:00', 'UTC')
AND window_start < toDateTime('2026-09-19 00:00:00', 'UTC')
)
GROUP BY symbol
ORDER BY extended_pct DESC六只样本里,盘前加盘后占比最高的是 SPY,合计 15.14%,其中盘前 2.07%,盘后 13.06%。占比最低的是 KO,两段加起来 1.98%。换句话说,北京时间的白天和清晨能碰到的那部分盘口,只是全天成交里很细的一条边。买卖价差在这两段通常明显更宽,挂单深度也更浅,盘前和盘后交易那一篇讲了这两段的报价机制和限价单的处理方式。
提前收市和休市,跟的是美国日历
休市安排跟中国的节假日没有对应关系。春节、国庆期间美股照常交易;感恩节、独立日这些美国假日则整天不开盘。另有几个半日交易日,美东13:00就收盘,换成北京时间是次日01:00(夏令时)或次日02:00(冬令时)。感恩节后的那个星期五和平安夜都落在冬令时区间里。
| holiday_date | date_label | weekday_cn | holiday | day_status | beijing_close | days_away |
|---|---|---|---|---|---|---|
| 2026-11-26 | 11月26日 | 周四 | Thanksgiving | closed | 64 | |
| 2026-11-27 | 11月27日 | 周五 | Thanksgiving | early-close | 次日 02:00 | 65 |
| 2026-12-24 | 12月24日 | 周四 | Christmas | early-close | 次日 02:00 | 92 |
| 2026-12-25 | 12月25日 | 周五 | Christmas | closed | 93 | |
| 2027-01-01 | 1月1日 | 周五 | New Years Day | closed | 100 | |
| 2027-01-18 | 1月18日 | 周一 | Martin Luther King, Jr. Day | closed | 117 | |
| 2027-02-15 | 2月15日 | 周一 | Washington's Birthday | closed | 145 | |
| 2027-03-26 | 3月26日 | 周五 | Good Friday | closed | 184 | |
| 2027-05-31 | 5月31日 | 周一 | Memorial Day | closed | 250 | |
| 2027-06-18 | 6月18日 | 周五 | Juneteenth | closed | 268 | |
| 2027-07-05 | 7月5日 | 周一 | Independence Day | closed | 285 | |
| 2027-09-06 | 9月6日 | 周一 | Labor Day | closed | 348 |
每个数字背后的完整 SQL
SELECT
toString(date) AS holiday_date,
concat(toString(toMonth(date)), '月', toString(toDayOfMonth(date)), '日') AS date_label,
arrayElement(['周一', '周二', '周三', '周四', '周五', '周六', '周日'], toDayOfWeek(date)) AS weekday_cn,
any(name) AS holiday,
any(status) AS day_status,
any(if(status = 'early-close',
concat('次日 ', formatDateTime(toTimeZone(close, 'Asia/Shanghai'), '%H:%i')),
'')) AS beijing_close,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY date距今最近的一次是 Thanksgiving,落在 11月26日,还有 64 天。这张前瞻日历上一共 12 个日期,day_status 一列标 closed 的是全天休市,标 early-close 的是半日市,后面 beijing_close 一列直接给出北京时间的收盘时刻。感恩节这类假日经常连着一个半日市的星期五,日历上会看到相邻两行。完整的假日清单和成因写在美股休市日和提前收市日历。
常见问题 FAQ
美股几点开盘,换成北京时间是几点?
常规时段开盘在美东09:30,对应北京时间21:30;美国冬令时期间对应北京时间22:30。收盘在美东16:00,对应北京时间次日04:00或次日05:00。
夏令时和冬令时的美股交易时间有什么区别?
美东的时刻表本身不变,一直是09:30到16:00。变的是两地时差:夏令时期间北京比纽约早12小时,冬令时期间早13小时。2026年的切换日是3月8日和11月1日,第一个受影响的交易日分别是随后的星期一。
北京时间早上七八点还能交易美股吗?
北京时间07:00对应美东19:00,仍在盘后时段之内,到北京时间08:00(冬令时09:00)盘后结束。这段时间可以下单,但从上面的面板看,盘前加盘后的成交量只占全天很小的比例。
中国的节假日会影响美股交易吗?
不会。美股只按美国交易所的日历休市,春节和国庆期间照常交易。反过来,感恩节、独立日这些日子美股全天不开盘,而A股正常运行。其他时区的读法可以参考全球各时区的美股交易时间对照。
提前收市日北京时间几点结束?
半日市在美东13:00收盘。夏令时期间对应北京时间次日01:00,冬令时期间对应次日02:00。收盘集合竞价照常进行,只是提前三小时。
数据说明
- 第一张和第三张面板取的是2026年9月14日到9月18日这一周、美东04:00到20:00的分钟行情。这一周美国处在夏令时,区间内没有提前收市日。
- 美东16:00那一分钟包含收盘集合竞价的成交,在盘前盘后占比面板里计入常规时段,不计入盘后。
- 时差面板按最近约400个自然日的交易日分月汇总,时差直接由每个交易日首笔分钟行情在两地时钟上的小时差算出,没有写死任何时区偏移。
- 休市日历只包含今天及以后的日期,已经过去的日期会从表里退出,所以这张表会自己往前滚动。
- 分钟行情在最前沿有一到两天的入库延迟,面板刻意避开了最近两个交易日。
每一张面板下面都可以展开它背后的完整 SQL,数字怎么来的一目了然。想换一只标的、换一周、或者换成自己所在城市的时区再看一遍成交分布,在 Strasmore 终端上用一句话把问题问出来即可。