Strasmore Research
การเรียนรู้ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-07-24 · data as of July 24, 2026 · refreshed weekly

วันนี้ตลาดหุ้นสหรัฐฯ เปิดทำการหรือไม่

ตรวจสอบสถานะการเปิดปิดของตลาดหุ้นสหรัฐฯ แบบเรียลไทม์ พร้อมเช็กปฏิทินวันหยุดและเวลาปิดตลาดเร็ว เพื่อวางแผนการส่งคำสั่งซื้อขายหุ้นของคุณให้แม่นยำที่สุด

ตลาดหุ้นสหรัฐฯ เปิดทำการวันจันทร์ถึงวันศุกร์ เวลา 9:30 am ถึง 4:00 pm ตามเวลา Eastern ยกเว้นวันหยุดตามกำหนดการและวันที่มีการปิดตลาดเร็วบางวันในช่วงเวลา 1:00 pm ดังนั้น การตรวจสอบว่า "วันนี้ตลาดหุ้นเปิดหรือไม่" จึงประกอบด้วยการตรวจสอบ 3 ส่วน ได้แก่ เป็นวันธรรมดาหรือไม่ เป็นวันหยุดตามปฏิทินหรือไม่ และเวลาปัจจุบันอยู่ในช่วงการซื้อขายหรือไม่ หน้าเว็บนี้จะตรวจสอบทั้งสามส่วนเทียบกับบันทึกของตลาดหลักทรัพย์แบบเรียลไทม์ทุกครั้งที่มีการรีเฟรช โดยมีตราประทับ "data as of" ด้านบนเพื่อระบุความสดใหม่ของข้อมูล สำหรับเวลาการซื้อขายในแต่ละช่วง สามารถดูได้ที่ เวลาทำการของตลาดหุ้น และสำหรับปฏิทินฉบับเต็ม สามารถดูได้ที่ วันหยุดตลาดและเวลาปิดตลาดเร็ว

ขณะนี้ตลาดหุ้นเปิดทำการอยู่หรือไม่?

แผงข้อมูลด้านล่างนี้คำนวณคำตอบ ณ เวลาที่มีการอัปเดตข้อมูลล่าสุดของหน้านี้ โดยระบบจะตรวจสอบวันในสัปดาห์ ตรวจสอบวันที่ปัจจุบันกับรายการวันหยุดของตลาดหลักทรัพย์ และพิจารณาเวลาตามเขตเวลา Eastern-time ว่าอยู่ในช่วงเวลาทำการหรือไม่ ซึ่งประกอบด้วย ช่วง premarket ตั้งแต่ 4:00 am, ช่วงการซื้อขายปกติ (regular session) ตั้งแต่ 9:30 am และช่วง after-hours ตั้งแต่ตลาดปิดจนถึง 8:00 pm

คำสั่งดึงข้อมูลสถานะตลาด ณ เวลาที่รีเฟรชหน้า: ตรวจสอบวันทำการ, วันหยุด และเวลา ET
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    toTimeZone(now(), 'America/New_York') AS now_et,
    toDate(now_et) AS today_et,
    toHour(now_et) * 60 + toMinute(now_et) AS min_now,
    (SELECT countDistinct(date) FROM global_markets.stocks_market_holidays
      WHERE date = toDate(toTimeZone(now(), 'America/New_York')) AND status = 'closed') AS today_full_holiday,
    (SELECT countDistinct(date) FROM global_markets.stocks_market_holidays
      WHERE date = toDate(toTimeZone(now(), 'America/New_York')) AND status = 'early-close') AS today_early,
    (SELECT any(name) FROM global_markets.stocks_market_holidays
      WHERE date = toDate(toTimeZone(now(), 'America/New_York'))) AS today_holiday_name,
    if(today_early = 1, 780, 960) AS close_min,
    if(today_early = 1, 1020, 1200) AS after_hours_end,
    (SELECT min(d) FROM (SELECT toDate(toTimeZone(now(), 'America/New_York')) + arrayJoin(range(1, 11)) AS d)
      WHERE toDayOfWeek(d) <= 5
        AND d NOT IN (SELECT date FROM global_markets.stocks_market_holidays WHERE status = 'closed')) AS next_sess_after_today,
    toDayOfWeek(today_et) <= 5 AND today_full_holiday = 0 AS today_is_session
SELECT
    toString(today_et) AS date_checked,
    formatDateTime(today_et, '%W') AS weekday,
    formatDateTime(now_et, '%H:%i') AS time_checked_et,
    multiIf(toDayOfWeek(today_et) >= 6, 'weekend',
            today_full_holiday = 1, concat('holiday — ', today_holiday_name),
            today_early = 1, concat('early close (1:00 pm) — ', today_holiday_name),
            'normal weekday') AS todays_calendar,
    multiIf(NOT today_is_session, 'CLOSED',
            min_now < 240, 'CLOSED (overnight)',
            min_now < 570, 'PREMARKET',
            min_now < close_min, 'OPEN',
            min_now < after_hours_end, 'AFTER-HOURS',
            'CLOSED (overnight)') AS market_status,
    toString(if(today_is_session AND min_now < close_min, today_et, next_sess_after_today)) AS next_regular_session,
    dateDiff('day', today_et, if(today_is_session AND min_now < close_min, today_et, next_sess_after_today)) AS days_to_next_session

ณ เวลา 09:00 ET ของวันที่ Friday 2026-07-24 สถานะที่คำนวณได้คือ PREMARKET โดยมีบันทึกปฏิทินของวันนี้คือ "normal weekday" การเปิดตลาดช่วง regular-session ครั้งถัดไปตามกำหนดการ — ซึ่งหากสถานะปัจจุบันคือ PREMARKET หรือ OPEN จะหมายถึงภายในวันนี้ — คือเวลา 2026-07-24 วันที่ดังกล่าวจะข้ามวันเสาร์-อาทิตย์ และวันหยุดที่ตลาดปิดทำการโดยสมบูรณ์ทั้งหมด โดยจะไม่มีระยะเวลาห่างเกินกว่าไม่กี่วัน แม้จะเป็นช่วงวันหยุดยาวก็ตาม หากคุณอ่านข้อมูลนี้หลังจากเวลาที่ระบุไว้ การตรวจสอบด้วยตนเองก็ใช้เวลาเพียงไม่กี่วินาทีเช่นกัน โดยพิจารณาจาก วันในสัปดาห์, ตารางวันหยุดด้านล่าง และเวลา ET

การปิดตลาดตามกำหนดการถัดไป — และเหตุการณ์หลังจากนั้น

ปฏิทินล่วงหน้าดึงข้อมูลโดยตรงจากตลาดหลักทรัพย์ ข้อควรทราบประการหนึ่งคือ ตารางนี้จะรวมวันปัจจุบันด้วยหากวันนี้เป็นวันหยุดหรือมีการปิดตลาดเร็ว เนื่องจากคำสั่งดึงข้อมูลกำหนดให้แสดงการปิดตลาดทุกครั้งตั้งแต่วันนี้เป็นต้นไป ไม่ใช่เฉพาะหลังจากวันนี้ ดังนั้นในเช้าวันหยุด แถวแรกและแผงสถานะด้านบนจะมีข้อมูลที่ตรงกัน

คำสั่งดึงข้อมูลกำหนดการปิดตลาด NYSE และการปิดตลาดก่อนกำหนด พร้อมเวลานับถอยหลัง
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT toString(date) AS closure_date,
       formatDateTime(date, '%a') AS falls_on,
       any(name) AS holiday,
       any(status) AS day_status,
       any(if(status = 'early-close', formatDateTime(toTimeZone(close, 'America/New_York'), '%H:%i'), '')) AS closes_at_et,
       dateDiff('day', today(), date) AS days_away
FROM global_markets.stocks_market_holidays
WHERE exchange = 'NYSE' AND date >= today()
GROUP BY date
ORDER BY date
LIMIT 16

การหยุดทำการตามกำหนดการถัดไปคือ Labor Day ในวันที่ 2026-09-07 (closed) หรืออีก 45 วัน นับจากเวลาที่อัปเดตข้อมูล วันทำการใดๆ ที่ไม่ได้ระบุในตารางนี้จะเป็นช่วงเวลาซื้อขายปกติคือ 9:30–4:00 น. ตามเวลา Eastern วันที่มีการปิดตลาดเร็วจะสิ้นสุดการซื้อขายปกติที่เวลา 1:00 น. ตามเวลา Eastern โดยมักจะอยู่ในช่วงวัน Thanksgiving, Christmas Eve และ Fourth of July ทั้งนี้ การประมูลปิดตลาด ยังคงดำเนินต่อไปในวันดังกล่าว เพียงแต่จะเกิดขึ้นเร็วขึ้นสามชั่วโมง

ในแต่ละปีตลาดปิดทำการกี่วัน?

คำตอบโดยทั่วไปคือ "ประมาณเก้าหรือสิบวันหยุดต่อปี" แต่หน้านี้สามารถคำนวณจำนวนวันได้จริงแทนการคาดคะเน ข้อมูลจากตลาดหลักทรัพย์จะแสดงเฉพาะวันหยุดที่ยังมาไม่ถึง ส่วนวันหยุดที่ผ่านไปแล้วจะถูกดึงข้อมูลย้อนหลังจากบันทึกข้อมูล หากวันธรรมดาวันใดที่ SPY ไม่มีการบันทึกแท่งกราฟรายนาทีในช่วงเวลาทำการปกติ แสดงว่าตลาดปิดทำการเต็มวัน และหากมีการบันทึกข้อมูลเพียงประมาณครึ่งหนึ่งของช่วงเวลาทำการ (ประมาณ 210 แท่ง แทนที่จะเป็น 390 แท่ง) แสดงว่าเป็นการปิดตลาดก่อนกำหนด

คำสั่งดึงข้อมูลวันหยุดของปีนี้: วันที่ผ่านมาแล้ว และวันหยุดที่กำลังจะถึง
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH day_bars AS (
    SELECT cal.day AS day, ifNull(t.bars, 0) AS bars
    FROM (SELECT makeDate(toYear(today()), 1, 1) + arrayJoin(range(370)) AS day) AS cal
    LEFT JOIN (
        SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
        FROM global_markets.delayed_stocks_minute_aggs
        WHERE ticker = 'SPY'
          AND window_start >= toDateTime(makeDate(toYear(today()), 1, 1), 'America/New_York')
          AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
        GROUP BY d
    ) AS t ON t.d = cal.day
    WHERE toDayOfWeek(cal.day) BETWEEN 1 AND 5
      AND cal.day <= today() - 4
),
past AS (
    SELECT countIf(bars = 0) AS past_full, countIf(bars BETWEEN 120 AND 330) AS past_early
    FROM day_bars
),
ahead AS (
    SELECT countDistinctIf(date, status = 'closed') AS ahead_full,
           countDistinctIf(date, status = 'early-close') AS ahead_early
    FROM global_markets.stocks_market_holidays
    WHERE date > today() - 4 AND toYear(date) = toYear(today())
)
SELECT category, already_passed, still_ahead, already_passed + still_ahead AS total, toString(toYear(today())) AS calendar_year
FROM (
    SELECT 'full closure' AS category, past.past_full AS already_passed, ahead.ahead_full AS still_ahead, 1 AS ord FROM past, ahead
    UNION ALL
    SELECT 'early close (1:00 pm)' AS category, past.past_early AS already_passed, ahead.ahead_early AS still_ahead, 2 AS ord FROM past, ahead
)
ORDER BY ord

2026 มี 10 วันที่ปิดทำการเต็มวัน — โดยเป็น 7 วันที่ผ่านไปแล้ว และ 3 วันที่ยังมาไม่ถึง — นอกจากนี้ยังมี 2 วันที่มีการปิดตลาดก่อนกำหนดเวลา 13:00 น. ซึ่งเป็น 2 ของจำนวนวันดังกล่าว (การปิดตลาดในช่วงไม่กี่วันที่ผ่านมาอาจยังไม่ปรากฏในยอดรวมใดๆ ในขณะที่ระบบกำลังประมวลผลข้อมูลล่าช้า แต่ตัวเลขจะปรับปรุงให้ถูกต้องโดยอัตโนมัติในการอัปเดตครั้งถัดไป) ส่วนวันหยุดสุดสัปดาห์คือส่วนที่เหลือของการปิดตลาด: เมื่อนำ 365 วัน ลบด้วยวันหยุดสุดสัปดาห์ประมาณ 104 วัน และลบด้วยวันหยุดเหล่านี้ จะเหลือวันทำการประมาณ 250 วันต่อปี

ข้อมูลจาก Tape: เซสชันล่าสุด

ปฏิทินบอกสิ่งที่ควรจะเกิดขึ้น แต่ Tape บอกสิ่งที่เกิดขึ้นจริง แผงข้อมูลด้านล่างนี้แสดงข้อมูลเซสชันล่าสุดที่เกิดขึ้นจริงจาก minute-bar tape ของ SPY โดยระบุจำนวนแท่งเทียน จำนวนการซื้อขาย SPY option ในวันเดียวกัน และข้อมูลครึ่งวันล่าสุดที่ปรากฏใน trailing tape

คำสั่งดึงข้อมูลเซสชันล่าสุด: จำนวนแท่งเทียน, ข้อมูล SPY options ในวันเดียวกัน และครึ่งวันล่าสุดที่สังเกตได้
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH rth AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 450
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
),
last_sess AS (
    SELECT max(d) AS last_d
    FROM rth
    WHERE bars >= 120 AND d < toDate(toTimeZone(now(), 'America/New_York'))
),
opt AS (
    SELECT round(count() / 1e3, 0) AS spy_option_prints_thousands
    FROM global_markets.options_trades
    WHERE ticker >= 'O:SPY2' AND ticker < 'O:SPY3'
      AND sip_timestamp >= toDateTime((SELECT last_d FROM last_sess), 'America/New_York')
      AND sip_timestamp < toDateTime((SELECT last_d FROM last_sess) + 1, 'America/New_York')
),
last_early AS (
    SELECT toString(max(d)) AS last_early_close_date,
           argMax(bars, d) AS its_bars
    FROM rth WHERE bars BETWEEN 120 AND 330
)
SELECT toString((SELECT last_d FROM last_sess)) AS most_recent_session,
       formatDateTime((SELECT last_d FROM last_sess), '%W') AS weekday,
       (SELECT bars FROM rth WHERE d = (SELECT last_d FROM last_sess)) AS regular_minute_bars,
       (SELECT spy_option_prints_thousands FROM opt) AS spy_option_prints_thousands,
       (SELECT last_early_close_date FROM last_early) AS last_early_close,
       (SELECT its_bars FROM last_early) AS early_close_bars

เซสชันล่าสุดใน Tape ของเราคือ 2026-07-22 (Wednesday) ซึ่งมีจำนวน regular-session minute bars ทั้งหมด 390 แท่ง โดยปกติหนึ่งวันเต็มจะมีประมาณ 390 แท่ง และการปิดตลาดก่อนกำหนดจะมีประมาณ 210 แท่ง ในเซสชันเดียวกันนี้มีการซื้อขาย SPY option รายธุรกรรมประมาณ 1302 พันรายการ ตลาด options จะยึดตามปฏิทินหุ้น ซึ่งรวมถึงวันหยุดและวันที่มีการซื้อขายครึ่งวัน และ วันหมดอายุที่ตรงกับวันศุกร์ที่ตลาดปิด จะถูกเลื่อนขึ้นมาหนึ่งวัน ข้อมูลการปิดตลาดก่อนกำหนดล่าสุดใน Tape คือ 2025-12-24 โดยมีจำนวน 211 แท่ง ซึ่งเป็นรูปแบบของครึ่งวันเวลา 13:00 น. ข้อควรระวัง: ระบบจัดเก็บข้อมูลนี้มีระยะเวลาหน่วง (lag) ประมาณหนึ่งถึงสองวัน ดังนั้น "เซสชันล่าสุด" ในที่นี้อาจล่าช้ากว่าเซสชันที่เกิดขึ้นจริงหนึ่งถึงสองวัน

เมื่อตลาดปิดทำการโดยไม่มีการแจ้งล่วงหน้า

การปิดตลาดตามกำหนดการสามารถดูได้จากปฏิทิน แต่การปิดตลาดที่ไม่ได้กำหนดไว้ล่วงหน้าไม่สามารถคาดการณ์ได้ เหตุการณ์เหล่านี้เกิดขึ้นได้ยาก โดยมีเพียงไม่กี่ครั้งในรอบทศวรรษ และข้อมูลการซื้อขายจะบันทึกหลักฐานไว้เสมอ เช่น วันทำการที่ควรจะมีแท่งกราฟจำนวน 390 แท่ง แต่กลับไม่มีการซื้อขายเกิดขึ้นเลย

คำสั่งดึงข้อมูลการปิดตลาดนอกกำหนด: ไม่มีแท่งเทียนในเซสชันปกติในวันธรรมดา
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH events AS (
    SELECT arrayJoin([
        (toDate('2012-10-29'), 'Hurricane Sandy — day 1'),
        (toDate('2012-10-30'), 'Hurricane Sandy — day 2'),
        (toDate('2012-10-31'), 'Reopening after Sandy'),
        (toDate('2018-12-05'), 'Mourning — George H. W. Bush'),
        (toDate('2025-01-09'), 'Mourning — Jimmy Carter')
    ]) AS e
),
tape AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d, count() AS bars
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND ((window_start >= '2012-10-29 00:00:00' AND window_start < '2012-11-01 12:00:00')
        OR (window_start >= '2018-12-05 00:00:00' AND window_start < '2018-12-06 12:00:00')
        OR (window_start >= '2025-01-09 00:00:00' AND window_start < '2025-01-10 12:00:00'))
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
)
SELECT toString(e.1) AS closure_date,
       formatDateTime(e.1, '%a') AS falls_on,
       e.2 AS name,
       toUInt32(ifNull(t.bars, 0)) AS spy_regular_session_bars
FROM events
LEFT JOIN tape AS t ON t.d = events.e.1
ORDER BY e.1

พายุเฮอริเคนแซนดีทำให้ตลาดหลักทรัพย์สำคัญทั้งสองแห่งต้องหยุดชะงักใน 2012-10-29 และ 2012-10-30 ซึ่งถือเป็นการปิดตลาดเนื่องจากสภาพอากาศที่ยาวนานหลายวันครั้งแรกนับตั้งแต่ปี 1888 และเซสชันการเปิดตลาดใน 2012-10-31 มีการซื้อขายเต็มจำนวน 390 แท่ง การประกาศวันไว้อาลัยระดับชาติทำให้ตลาดปิดทำการใน 2018-12-05 (ประธานาธิบดี George H. W. Bush) และ 2025-01-09 (ประธานาธิบดี Jimmy Carter) การปิดตลาดที่ไม่ได้กำหนดไว้ล่วงหน้าที่ยาวนานที่สุดในยุคปัจจุบัน คือช่วงวันที่ 11 ถึง 14 กันยายน 2001 ต่อเนื่องกันสี่เซสชัน ซึ่งเกิดขึ้นก่อนช่วงเวลาของข้อมูลรายนาทีของเราที่เริ่มในปี 2003 การปิดตลาดแต่ละครั้งข้างต้นจะแสดงในข้อมูลการซื้อขายเป็น 0 แท่งของเซสชันปกติ กล่าวคือไม่มีการซื้อขายเกิดขึ้นเลย

จะเกิดอะไรขึ้นกับคำสั่งซื้อขายที่ส่งในช่วงตลาดปิดทำการ?

จะไม่มีการดำเนินการใดๆ เกิดขึ้นในขณะที่ตลาดปิดทำการ คำสั่งที่ส่งในวันเสาร์ วันหยุด หรือเวลา 02:00 น. จะถูกเก็บไว้ในคิวที่โบรกเกอร์ของคุณจนกว่าจะถึงเซสชันถัดไป โดยคำสั่ง market order ที่รออยู่ในคิวจะทำรายการที่ราคาใดก็ได้ที่ได้จาก การประมูลเปิดตลาด ซึ่งเกิดขึ้นหลายวันหลังจากที่คุณกดส่ง ช่องว่างระหว่างราคาปิดของเซสชันหนึ่งกับราคาเปิดของเซสชันถัดไปคือความเสี่ยงที่คุณต้องยอมรับ และสามารถวัดผลได้ดังนี้:

คำสั่งดึงข้อมูลSPY ในช่วงวันหยุดสุดสัปดาห์และวันหยุดนักขัตฤกษ์: ราคาปิดวันศุกร์ เทียบกับราคาเปิดใหม่
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH daily AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
           round(argMin(toFloat64(open), window_start), 2) AS open_px,
           round(argMax(toFloat64(close), window_start), 2) AS close_px
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 75
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
),
paired AS (
    SELECT d,
           open_px,
           lagInFrame(d) OVER (ORDER BY d) AS prev_d,
           lagInFrame(close_px) OVER (ORDER BY d) AS prev_close
    FROM daily
)
SELECT concat(formatDateTime(prev_d, '%a '), toString(prev_d)) AS last_session_before,
       concat(formatDateTime(d, '%a '), toString(d)) AS reopening_session,
       dateDiff('day', prev_d, d) AS days_dark,
       toString(prev_close) AS close_before_break,
       toString(open_px) AS reopening_print,
       round((open_px - prev_close) / prev_close * 100, 2) AS gap_pct
FROM paired
WHERE prev_close > 0 AND dateDiff('day', prev_d, d) >= 3
ORDER BY d

ตารางนี้ครอบคลุมช่วงสุดสัปดาห์และวันหยุดยาว 10 ครั้งล่าสุด โดยคอลัมน์ days_dark ระบุช่วงวันหยุดยาวสี่วัน ครั้งล่าสุดเกิดขึ้นระหว่าง Fri 2026-07-17 ถึง Mon 2026-07-20 (มีจำนวนวันหยุดรวม 3 วัน): ราคาปิดในเซสชันปกติของ SPY ก่อนช่วงวันหยุดคือ $743.2 และราคาเปิดคือ $747.06 ซึ่งเป็นช่องว่าง 0.52% ที่คำสั่ง market order ในคิวจะต้องยอมรับโดยไม่ได้ตรวจสอบราคาล่วงหน้า ในทางกลับกัน คำสั่ง limit order จะเป็นการกำหนดเพดานราคา แต่มีความเสี่ยงที่คำสั่งอาจจะไม่ถูกจับคู่ ทำไมหุ้นถึงเกิดช่องว่างราคาข้ามคืน จะอธิบายถึงกลไกที่อยู่เบื้องหลังการเคลื่อนไหวเหล่านี้

เขตเวลา ตลาดพันธบัตร และส่วนที่เหลือของโลก

ความสับสนที่เหลืออยู่ส่วนใหญ่เกิดจากความไม่สอดคล้องกันสามประการ เขตเวลา: เวลาทำการอย่างเป็นทางการคือเวลาฝั่งตะวันออก (ET) โดยเวลา 9:30 am ET จะตรงกับ 6:30 am Pacific และ 2:30 pm ในลอนดอนเกือบตลอดทั้งปี และวันที่ของตลาดจะยึดตามเวลา ET ดังนั้นผู้อ่านในเอเชียอาจพบว่า "วันนี้" ของตนครอบคลุมการซื้อขายของสหรัฐฯ ถึงสองเซสชัน ตลาดพันธบัตร: พันธบัตรสหรัฐฯ (Treasuries) ซื้อขายตามปฏิทินของ SIFMA ไม่ใช่ของ NYSE โดยจะหยุดทำการตามวันหยุดของตลาดหุ้นทุกวันบวกเพิ่มอีกสองวัน และการปิดตลาดเร็วตามคำแนะนำที่เวลา 2:00 pm นั้นเกิดขึ้นบ่อยกว่าการปิดตลาดครึ่งวันที่เวลา 1:00 pm ของตลาดหุ้น ความแตกต่างของการซื้อขายเต็มวันปรากฏให้เห็นในข้อมูลดังนี้:

คำสั่งดึงข้อมูลวันธรรมดาในรอบปีที่ผ่านมาที่มีการซื้อขายหุ้น แต่ไม่มีการประกาศอัตราผลตอบแทน Treasury
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH stock_days AS (
    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY'
      AND window_start >= today() - 370
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
    GROUP BY d
    HAVING count() >= 100
)
SELECT toString(d) AS session_date,
       formatDateTime(d, '%W') AS weekday
FROM stock_days
WHERE d <= (SELECT max(date) FROM global_markets.treasury_yields)
  AND d NOT IN (SELECT date FROM global_markets.treasury_yields WHERE date >= today() - 370)
ORDER BY d

ในช่วงหนึ่งปีที่ผ่านมา มีวันธรรมดาจำนวน 2 วันที่ตลาดหุ้นเปิดทำการเต็มวันแต่ไม่มีการประกาศอัตราผลตอบแทนพันธบัตร (Treasury yield) — ซึ่งคือ 2025-10-13 และ 2025-11-11 โดยเป็นหนึ่งวันในเดือนตุลาคมและหนึ่งวันในเดือนพฤศจิกายน ได้แก่ Columbus Day และ Veterans Day ซึ่งเป็นสองวันหยุดราชการที่ตลาดหุ้นยังคงซื้อขายตามปกติ ส่วนที่เหลือของโลก: ตลาดหลักทรัพย์ในต่างประเทศใช้ปฏิทินของตนเอง และดัชนีฟิวเจอร์สมีการซื้อขายเกือบตลอด 24 ชั่วโมง ซึ่งเป็นสาเหตุที่พาดหัวข่าวอาจระบุว่า "หุ้นกำลังร่วง" ในเวลา 3:00 am ET ทั้งที่ตลาดหุ้นสหรัฐฯ ทุกแห่งปิดทำการแล้ว การซื้อขายช่วงนอกเวลาปกติ (Extended hours) รอบเซสชันของสหรัฐฯ คือเวลา 4:00 am ถึง 9:30 am และ 4:00 pm ถึง 8:00 pm ET ซึ่งมีสภาพคล่องต่ำกว่าและมีส่วนต่างราคา (spread) ที่กว้างกว่า รายละเอียดกลไกการทำงานอยู่ใน คู่มือการซื้อขายช่วงนอกเวลาปกติ

คำถามที่พบบ่อย

ขณะนี้ตลาดหุ้นเปิดทำการอยู่หรือไม่?

ข้อมูลล่าสุดที่มีการอัปเดตในหน้านี้คือเวลา 09:00 ET ของวันที่ 2026-07-24 โดยสถานะที่คำนวณได้คือ PREMARKET หลังจากช่วงเวลาดังกล่าว กฎการเปิดตลาดคือ วันธรรมดา เวลา 9:30 am ถึง 4:00 pm ET ยกเว้นวันที่ระบุไว้ในตารางวันหยุดด้านบน

พรุ่งนี้ตลาดหุ้นเปิดทำการหรือไม่?

พรุ่งนี้จะเป็นการซื้อขายตามปกติ เว้นแต่จะเป็นวันเสาร์ วันอาทิตย์ หรือวันที่ระบุไว้ในตารางวันหยุดด้านบน การซื้อขายตามปกติครั้งถัดไปตามปฏิทินนับจากการอัปเดตข้อมูลในหน้านี้ รวมถึงวันนี้หากตลาดเปิดทำการ คือวันที่ 2026-07-24

ตลาดหุ้นเปิดทำการในวัน Christmas Eve หรือไม่?

หากวันที่ 24 ธันวาคม ตรงกับวันธรรมดา ตลาดหลักทรัพย์ในสหรัฐฯ มักจะเปิดทำการครึ่งวันและปิดทำการเวลา 1:00 pm ET แต่หากตรงกับวันเสาร์หรือวันอาทิตย์ จะไม่มีการซื้อขายใดๆ ส่วนวัน Christmas Day ตลาดจะปิดทำการเต็มวันเสมอ โดยวันที่แน่นอนของปีนี้ระบุไว้ในตารางปฏิทินด้านบน

ตลาดหุ้นเปิดทำการในวัน Black Friday หรือไม่?

เปิดทำการ วันศุกร์หลังวัน Thanksgiving จะมีการกำหนดให้ซื้อขายเพียงครึ่งวัน โดยการซื้อขายปกติจะสิ้นสุดลงที่เวลา 1:00 pm ET แทนที่จะเป็น 4:00 pm หรือเทียบเท่ากับประมาณ 210 minute bars แทนที่จะเป็น 390 minute bars

วันนี้ตลาดพันธบัตรเปิดทำการหรือไม่?

โดยปกติจะเปิดทำการพร้อมกับตลาดหุ้น แต่ไม่เสมอไป ตลาด Treasury จะอ้างอิงตามปฏิทินของ SIFMA ซึ่งรวมถึงวันหยุดของตลาดหุ้นทุกวัน รวมถึงวัน Columbus Day และ Veterans Day โดยจะมีการปิดตลาดเร็ว (เวลา 2:00 pm) บ่อยครั้งกว่า ข้อมูลย้อนหลังในรอบหนึ่งปีแสดงให้เห็นว่ามี 2 วันธรรมดาที่ตลาดหุ้นมีการซื้อขายแต่ไม่มีการรายงานอัตราผลตอบแทน Treasury


ทุกแผงข้อมูลด้านบนคือการดึงข้อมูล (query) ที่มีการบันทึกเวอร์ชันและมีคำสั่ง SQL กำกับไว้ คุณสามารถขยายแผงข้อมูลเพื่อตรวจสอบความถูกต้องได้ หากต้องการตรวจสอบวันที่ ช่วงเวลา หรือช่องว่างของข้อมูลด้วยตนเอง สามารถสอบถามด้วยภาษาอังกฤษทั่วไปผ่านเทอร์มินัลของ Strasmore