Giờ giao dịch chứng khoán Mỹ theo giờ Việt Nam
Phiên chính thức của chứng khoán Mỹ mở 20:30 và đóng 03:00 giờ Việt Nam, đổi sang 21:30 tới 04:00 từ tháng 11. Kèm khung trước giờ mở, sau giờ đóng và lịch nghỉ.
Phiên chính thức của chứng khoán Mỹ mở lúc 20:30 và đóng lúc 03:00 giờ Việt Nam trong giai đoạn New York dùng giờ mùa hè, rồi chuyển thành 21:30 tới 04:00 kể từ ngày 1/11/2026. Việt Nam giữ múi UTC+7 quanh năm và không đổi giờ, còn New York đổi giờ hai lần mỗi năm: khoảng cách giữa hai nơi lúc là 11 tiếng, lúc là 12 tiếng. Ở cả hai quy ước, giờ đóng cửa đều rơi vào sau nửa đêm theo giờ Hà Nội và Thành phố Hồ Chí Minh.
Giờ giao dịch chứng khoán Mỹ theo giờ Việt Nam
Một ngày giao dịch ở Mỹ có ba khung. Phiên chính thức (regular session) là khoảng thời gian NYSE và Nasdaq khớp lệnh đầy đủ, từ 9:30 đến 16:00 giờ New York. Hai bên là khung mở rộng: premarket trước giờ mở và after hours sau giờ đóng, nơi lệnh vẫn khớp qua hệ thống điện tử với số người tham gia ít hơn nhiều.
Trong giai đoạn giờ mùa hè, từ 8/3/2026 đến hết 31/10/2026, lịch theo giờ Việt Nam là:
- Premarket: 15:00 tới 20:30
- Phiên chính thức: 20:30 tới 03:00 sáng hôm sau
- After hours: 03:00 tới 07:00 sáng hôm sau
Từ 1/11/2026 đến 13/3/2027, New York về giờ chuẩn và mọi mốc lùi thêm một tiếng:
- Premarket: 16:00 tới 21:30
- Phiên chính thức: 21:30 tới 04:00 sáng hôm sau
- After hours: 04:00 tới 08:00 sáng hôm sau
Phiên bắt đầu buổi tối và kết thúc sáng hôm sau, nên ngày giao dịch thứ Hai của Mỹ ứng với đêm thứ Hai rạng sáng thứ Ba ở Việt Nam. Lần khớp lệnh cuối của tuần là đêm thứ Sáu rạng sáng thứ Bảy. Từng mốc trong ngày giao dịch được mổ xẻ kỹ hơn ở bài giờ giao dịch chứng khoán Mỹ, và cách hai khung mở rộng vận hành nằm ở bài phiên premarket và after hours.
Mốc 1/11/2026: cả phiên lùi một tiếng
Việt Nam không có giờ mùa hè, nên bảng giờ ở trên chỉ đổi khi New York đổi. Cách kiểm tra trực tiếp nhất là đọc lại thời điểm thanh nến phút đầu tiên của phiên chính thức, quy về giờ Việt Nam, quanh lần đổi giờ gần nhất của Mỹ vào đầu tháng 11/2025.
| date | ict_open | ict_last_bar | ict_open_hour |
|---|---|---|---|
| 2025-10-27 | 20:30 | 02:59 | 20.5 |
| 2025-10-28 | 20:30 | 02:59 | 20.5 |
| 2025-10-29 | 20:30 | 02:59 | 20.5 |
| 2025-10-30 | 20:30 | 02:59 | 20.5 |
| 2025-10-31 | 20:30 | 02:59 | 20.5 |
| 2025-11-03 | 21:30 | 03:59 | 21.5 |
| 2025-11-04 | 21:30 | 03:59 | 21.5 |
| 2025-11-05 | 21:30 | 03:59 | 21.5 |
| 2025-11-06 | 21:30 | 03:59 | 21.5 |
| 2025-11-07 | 21:30 | 03:59 | 21.5 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH session_bars AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
window_start
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2025-10-27 00:00:00'
AND window_start < '2025-11-08 00:00:00'
AND (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
)
SELECT
toString(session_date) AS date,
formatDateTime(toTimeZone(min(window_start), 'Asia/Ho_Chi_Minh'), '%H:%i') AS ict_open,
formatDateTime(toTimeZone(max(window_start), 'Asia/Ho_Chi_Minh'), '%H:%i') AS ict_last_bar,
round(toHour(toTimeZone(min(window_start), 'Asia/Ho_Chi_Minh'))
+ toMinute(toTimeZone(min(window_start), 'Asia/Ho_Chi_Minh')) / 60.0, 2) AS ict_open_hour
FROM session_bars
GROUP BY session_date
ORDER BY session_dateNgày 2025-10-27, phiên chính thức bắt đầu lúc 20:30 giờ Việt Nam và thanh nến cuối cùng của phiên in lúc 02:59. Sau khi Mỹ về giờ chuẩn, vẫn phiên đó bắt đầu lúc 21:30 và nến cuối in lúc 03:59 của ngày 2025-11-07. Cả 10 phiên trong bảng chỉ có hai giá trị giờ mở, với bậc nhảy nằm đúng ở cuối tuần đổi giờ. Quy tắc cố định: giờ mùa hè của Mỹ bắt đầu Chủ Nhật thứ hai của tháng 3 và kết thúc Chủ Nhật đầu tiên của tháng 11. Hai tuần lệch nhịp giữa Mỹ và châu Âu được tách riêng trong bài giờ mùa hè và giờ giao dịch Mỹ.
Đêm khuya: đâu là thanh khoản thật?
Hai khung mở rộng cộng lại dài gần tám tiếng, nhưng khối lượng không chia đều cho các giờ đó. Bảng dưới chia khối lượng của SPY, quỹ ETF mô phỏng chỉ số S&P 500, theo từng giờ đồng hồ trong tháng 9/2026, ghi song song giờ New York và giờ Việt Nam.
| ict_time | et_time | avg_volume_mil | pct_of_day | sessions_counted |
|---|---|---|---|---|
| 15:00 | 04:00 | 0.1 | 0.22 | 21 |
| 16:00 | 05:00 | 0.04 | 0.1 | 21 |
| 17:00 | 06:00 | 0.07 | 0.16 | 21 |
| 18:00 | 07:00 | 0.2 | 0.48 | 21 |
| 19:00 | 08:00 | 0.44 | 1.03 | 21 |
| 20:00 | 09:00 | 4.12 | 9.64 | 21 |
| 21:00 | 10:00 | 5.22 | 12.22 | 21 |
| 22:00 | 11:00 | 4.81 | 11.27 | 21 |
| 23:00 | 12:00 | 3.27 | 7.65 | 21 |
| 00:00 | 13:00 | 2.93 | 6.86 | 21 |
| 01:00 | 14:00 | 4.32 | 10.12 | 21 |
| 02:00 | 15:00 | 10.78 | 25.25 | 21 |
| 03:00 | 16:00 | 5.88 | 13.77 | 21 |
| 04:00 | 17:00 | 0.36 | 0.85 | 21 |
| 05:00 | 18:00 | 0.12 | 0.29 | 21 |
| 06:00 | 19:00 | 0.04 | 0.09 | 21 |
Câu lệnh SQL chính xác đằng sau mỗi con số
WITH tape AS
(
SELECT
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toHour(toTimeZone(window_start, 'America/New_York')) AS et_hour,
toHour(toTimeZone(window_start, 'Asia/Ho_Chi_Minh')) AS ict_hour,
toFloat64(volume) AS volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-09-01 04:00:00'
AND window_start < '2026-10-01 04:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 240
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 1200
),
per_hour AS
(
SELECT
session_date,
et_hour,
ict_hour,
sum(volume) AS hour_volume
FROM tape
GROUP BY session_date, et_hour, ict_hour
)
SELECT
concat(if(ict_hour < 10, '0', ''), toString(ict_hour), ':00') AS ict_time,
concat(if(et_hour < 10, '0', ''), toString(et_hour), ':00') AS et_time,
round(avg(hour_volume) / 1e6, 2) AS avg_volume_mil,
round(100 * sum(hour_volume) / any(day_total.all_volume), 2) AS pct_of_day,
count() AS sessions_counted
FROM per_hour
CROSS JOIN (SELECT sum(hour_volume) AS all_volume FROM per_hour) AS day_total
GROUP BY ict_time, et_time, et_hour
ORDER BY et_hourGiờ đầu của premarket, 15:00 giờ Việt Nam, trung bình 0.1 triệu cổ phiếu mỗi phiên, tức 0.22% khối lượng của cả ngày, tính trên 21 phiên. Giờ cuối của phiên chính thức, 02:00 giờ Việt Nam, trung bình 10.78 triệu cổ phiếu và chiếm 25.25%. Giờ cuối của after hours, 06:00, lùi về 0.04 triệu.
Đường cong này là thứ đáng nhớ nhất với người xem bảng điện từ Việt Nam: khối lượng dày lên trong đêm, dồn về giờ cuối của phiên chính thức, rồi mỏng dần về sáng. Mỏng ở đây có nghĩa kỹ thuật. Chênh lệch giữa giá chào mua và giá chào bán, gọi là spread, rộng ra khi ít người treo lệnh, và một lệnh thị trường trong khung mở rộng có thể khớp ở mức khá xa giá vừa nhìn thấy trên bảng. Nhiều nhà đầu tư cá nhân xử lý phần đêm này bằng lệnh giới hạn, đặt rõ mức giá tối đa mà họ chấp nhận.
Ngoài giờ chiếm bao nhiêu phần khối lượng?
Tỷ trọng ngoài giờ còn khác nhau theo từng mã. Bảng dưới lấy sáu tên quen thuộc và chia khối lượng tháng 9/2026 thành ba phần: premarket, phiên chính thức, after hours.
SPY là mã có tỷ trọng phiên chính thức thấp nhất trong nhóm, 82.44%, với 2.57% nằm ở premarket và 14.99% ở after hours. Ở đầu còn lại, AAPL dồn 93.62% khối lượng vào phiên chính thức. Với cả sáu mã, phần lớn khối lượng của một ngày vẫn nằm trong sáu tiếng rưỡi chính thức, tức là sau 20:30 giờ Việt Nam trong giờ mùa hè và sau 21:30 trong giờ chuẩn.
Những đêm không có phiên: nghỉ lễ và đóng sớm
Một ngày nghỉ của sàn Mỹ xóa hẳn một đêm giao dịch ở Việt Nam, còn một ngày đóng sớm cắt mất ba tiếng cuối phiên. Bảng dưới liệt kê các ngày đã công bố phía trước, kèm giờ đóng quy về giờ Việt Nam cho những phiên rút ngắn.
| holiday_date | date_vn | weekday_vn | holiday | day_status | close_ict | days_away |
|---|---|---|---|---|---|---|
| 2026-11-26 | 26/11/2026 | Thứ Năm | Thanksgiving | Nghỉ cả ngày | 52 | |
| 2026-11-27 | 27/11/2026 | Thứ Sáu | Thanksgiving | Đóng sớm | 01:00 | 53 |
| 2026-12-24 | 24/12/2026 | Thứ Năm | Christmas | Đóng sớm | 01:00 | 80 |
| 2026-12-25 | 25/12/2026 | Thứ Sáu | Christmas | Nghỉ cả ngày | 81 | |
| 2027-01-01 | 01/01/2027 | Thứ Sáu | New Years Day | Nghỉ cả ngày | 88 | |
| 2027-01-18 | 18/01/2027 | Thứ Hai | Martin Luther King, Jr. Day | Nghỉ cả ngày | 105 | |
| 2027-02-15 | 15/02/2027 | Thứ Hai | Washington's Birthday | Nghỉ cả ngày | 133 | |
| 2027-03-26 | 26/03/2027 | Thứ Sáu | Good Friday | Nghỉ cả ngày | 172 | |
| 2027-05-31 | 31/05/2027 | Thứ Hai | Memorial Day | Nghỉ cả ngày | 238 | |
| 2027-06-18 | 18/06/2027 | Thứ Sáu | Juneteenth | Nghỉ cả ngày | 256 | |
| 2027-07-05 | 05/07/2027 | Thứ Hai | Independence Day | Nghỉ cả ngày | 273 | |
| 2027-09-06 | 06/09/2027 | Thứ Hai | Labor Day | Nghỉ cả ngày | 336 |
Câu lệnh SQL chính xác đằng sau mỗi con số
SELECT
toString(date) AS holiday_date,
formatDateTime(date, '%d/%m/%Y') AS date_vn,
arrayElement(['Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm',
'Thứ Sáu', 'Thứ Bảy', 'Chủ Nhật'],
toDayOfWeek(date)) AS weekday_vn,
any(name) AS holiday,
any(if(status = 'closed', 'Nghỉ cả ngày', 'Đóng sớm')) AS day_status,
any(if(status = 'early-close',
formatDateTime(toTimeZone(close, 'Asia/Ho_Chi_Minh'), '%H:%i'),
'')) AS close_ict,
dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE date >= today()
GROUP BY date
ORDER BY dateLịch phía trước có 12 ngày đóng cửa đã công bố. Gần nhất là Thanksgiving ngày 26/11/2026, cách hôm nay 52 ngày. Cột day_status tách hai loại ngày. Nghỉ cả ngày nghĩa là đêm đó ở Việt Nam không có phiên nào, kể cả khung mở rộng. Đóng sớm nghĩa là phiên chính thức kết thúc lúc 13:00 giờ New York, tức 00:00 theo giờ Việt Nam trong giai đoạn giờ mùa hè và 01:00 trong giai đoạn giờ chuẩn, đúng như cột close_ict của bảng. Khung after hours của ngày đóng sớm cũng dịch theo và kết thúc sớm hơn ba tiếng. Trước một đêm đáng ngờ, bài hôm nay thị trường Mỹ có mở không trả lời nhanh cho đúng ngày đó.
Một chi tiết dễ quên: ngày lễ của Mỹ được dồn về ngày trong tuần gần nhất. Lễ rơi vào thứ Bảy thì sàn nghỉ thứ Sáu trước đó, rơi vào Chủ Nhật thì nghỉ thứ Hai sau đó. Sàn Mỹ cũng nghỉ Thứ Sáu Tuần Thánh (Good Friday), một ngày không phải lễ liên bang, và vẫn mở trong hai ngày lễ liên bang là Columbus Day và Veterans Day.
Ghi chú số liệu
Bảng khối lượng theo giờ và bảng tỷ trọng theo mã đều tính trên tháng 9/2026, lấy phần tape từ 04:00 tới 20:00 giờ New York, tức toàn bộ premarket, phiên chính thức và after hours. Tháng này nằm trọn trong giai đoạn giờ mùa hè, nên mỗi giờ New York trong bảng ứng với đúng một giờ Việt Nam. Bảng đổi giờ lấy mười phiên quanh ngày 2/11/2025, lần gần nhất Mỹ về giờ chuẩn, nên các con số đó không thay đổi theo thời gian. Lịch nghỉ lễ đọc trực tiếp từ lịch của sàn và tự ngắn lại khi mỗi ngày trôi qua.
FAQ
Chứng khoán Mỹ mở cửa lúc mấy giờ theo giờ Việt Nam?
Phiên chính thức mở lúc 20:30 giờ Việt Nam trong giai đoạn Mỹ dùng giờ mùa hè và 21:30 trong giai đoạn giờ chuẩn. Khung premarket mở sớm hơn năm tiếng rưỡi, tức 15:00 hoặc 16:00 giờ Việt Nam.
Phiên Mỹ đóng cửa lúc mấy giờ sáng ở Việt Nam?
03:00 sáng trong giai đoạn giờ mùa hè và 04:00 sáng trong giai đoạn giờ chuẩn. Khung after hours còn chạy thêm bốn tiếng sau đó, tới 07:00 hoặc 08:00 sáng.
Giao dịch ngoài giờ từ Việt Nam có khớp lệnh thật không?
Có. Lệnh vẫn khớp qua các hệ thống điện tử trong premarket và after hours, nhưng khối lượng mỗi giờ nhỏ hơn hẳn giờ chính thức, như bảng theo giờ ở trên cho thấy, và spread thường rộng hơn.
Đêm nào ở Việt Nam không có phiên Mỹ?
Đêm thứ Bảy và đêm Chủ Nhật, cộng với khoảng mười ngày nghỉ lễ mỗi năm của sàn Mỹ. Bảng lịch nghỉ ở trên liệt kê từng ngày phía trước kèm loại ngày.
Mỗi bảng ở trên đều mở ra được nguyên văn câu truy vấn đứng sau từng con số. Muốn biết một đêm cụ thể có phiên hay không, hoặc khối lượng giờ đó dày mỏng ra sao, bạn có thể hỏi bằng tiếng Việt trên terminal Strasmore.