Strasmore Research
學習 Matt Connor作者: Matt Connor · 更新於 2026-07-25 · data as of July 25, 2026 · refreshed weekly

今天股市有開盤嗎?

查詢美股即時開盤狀態、今日行事曆與下一個休市日,並了解休市期間的委託單處理方式。

美國股市於週一至週五交易,東部時間上午9:30至下午4:00,國定假日及少數提前至下午1:00收盤日除外——因此,「今天股市有開盤嗎?」這個問題可簡化為三項檢查:是否為平日、是否在假日行事曆上,以及目前時鐘處於交易時段的哪個位置。本頁面在每次重新整理時,皆會依據即時交易所記錄執行這三項檢查,上方「資料截至」戳記即為其即時性證明。有關逐個交易時段的時鐘,請參閱美股交易時間;完整行事曆請見股市休市日與提前收盤

股市現在有開盤嗎?

下方面板會根據本頁資料最後更新的時間點計算答案。它會檢查星期幾、在交易所假日清單中查詢今天的日期,並將美東時間的時鐘置於正式交易時段之內或之外:盤前交易從凌晨4:00開始,常規交易時段從上午9:30開始,盤後交易從收盤持續到晚上8:00。

查詢本頁刷新時市場狀態:平日檢查、假日檢查與美東時間時鐘
每個數據背後的精確 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:00Friday2026-07-24,計算出的狀態顯示為 PREMARKET,今天的日曆標註為「normal weekday」。行事曆上排定的下一個常規交易時段開盤時間——只要狀態顯示為盤前或開盤中,就是今天——是 2026-07-24。該日期已自動跳過週末和所有全天休市假日,而且即使跨越長週末假期,也絕不會超過幾天之後。比這個時間戳記更晚才讀到這篇文章嗎?同樣的三項檢查手動進行也只需幾秒鐘:星期幾、下方的假日表、以及美東時間的時鐘。

下一個排定的休市日——以及之後的所有安排

遠期行事曆直接取自交易所的數據饋送。有一點值得留意:只要當天本身就是假日或提早收盤,表格就會包含當天——查詢條件是索取從今天起算的所有休市日,而非嚴格要求在今天之後——因此在假日的早晨,第一列資料會與上方狀態面板的資訊一致。

查詢日曆饋送中每個即將到來的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-07closed),距離刷新戳記還有 45 天。任何未列在此表格中的平日,均為正常的 9:30 至 4:00 交易時段。提早收盤日會在美東時間下午 1:00 結束常規交易,且多半集中在感恩節、聖誕夜以及美國國慶日前後;收盤競價在這些日子仍會執行——只不過會提早三個小時撮合。

市場每年休市幾天?

「一年大約九到十個假日」是常見的標準答案——本頁可以直接計算,而非估算。交易所的資料饋送只會提供尚未到來的休市日,因此已經過去的休市日是從交易紀錄中還原的:若某個週一至週五,SPY 沒有任何常規交易時段的分鐘 K 棒,即為全日休市;若大約只有半個交易時段的分鐘 K 棒(約 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 個排定於下午 1:00 的提早收市日,其中 2 個尚未到來。(若休市日發生在最近幾天內,在交易紀錄的匯入延遲消除前,可能會短暫不計入任一類別;此分類會在下次刷新時自行修正。)週末則構成其餘的休市日:從 365 天中扣除約 104 個週末天數以及這些假日,一年大約剩下 250 個交易時段。

磁帶的收據:最近一個交易日

日曆告訴你應該發生什麼;磁帶告訴你實際發生了什麼。下方面板提取我們 SPY 分鐘線磁帶上實際觀察到的最近一個交易日、其 K 棒數量、同日印出的 SPY 選擇權交易筆數,以及整條滯後磁帶上任何一處的最近一個半日。

查詢報價磁帶上最近一個交易時段:K棒數、同日SPY選擇權成交筆數,以及最後觀察到的半日市
每個數據背後的精確 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

我們磁帶上最近一個交易日是 2026-07-22Wednesday),印出 390 根常規交易時段分鐘 K 棒——完整交易日約 390 根,提早收盤約 210 根。同一交易日承載約 1302 千筆獨立 SPY 選擇權交易:選擇權市場遵循股票交易日曆,包含假日與半日,且落在休市週五的到期日會提前一天。磁帶上最近一個提早收盤日是 2025-12-24,為 211 根分鐘 K 棒——即下午 1:00 半日交易日的實測形狀。一項前沿備註:此資料庫有一至兩天的擷取延遲,因此此處的「最近一個交易日」可能比實際最新交易日落後一至兩天。

當市場無預警休市

排定的休市日會寫在行事曆上;非預定的休市日永遠不會。這類情況很罕見——每十年只有幾次——而交易紀錄會留下痕跡:一個本該印出 390 根K棒的交易日,一根都沒有。

查詢報價磁帶上的非預定休市:普通平日卻無正常交易時段K棒
每個數據背後的精確 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-292012-10-30 全天關閉——這是自 1888 年以來首次因天候因素連續休市——而 2012-10-31 重新開盤當天,完整印出了 390 根K棒。全國哀悼日則讓市場在 2018-12-05(悼念老布希總統)和 2025-01-09(悼念卡特總統)休市。現代史上最長的非預定休市——2001 年 9 月 11 日至 14 日,連續四個交易日——發生在我們分鐘數據起始的 2003 年之前。上述每一次休市,在交易紀錄上都顯示為 0 根正常交易時段K棒:完全沒有交易。

市場休市時下單會發生什麼事?

市場休市期間不會執行任何交易。在週六、假日或凌晨2:00提交的委託單,只會在你的券商端排隊等候,直到下一個交易時段開始,而一筆排隊中的市價單會以開盤集合競價所發現的價格成交——這發生在你點擊下單的數天之後。一個交易時段收盤與下一個交易時段第一筆成交價之間的落差,就是你承擔的曝險,而這個落差是可以量化的:

查詢SPY在近期週末與長週末期間:週五收盤價 vs. 重新開盤價
每個數據背後的精確 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-17Mon 2026-07-203 個日曆日未開盤):SPY 在休市前的正常交易時段收盤價為 $743.2,重新開盤的第一筆成交價為 $747.06——一筆排隊中的市價單會在不知情的情況下,接受這 0.52% 的落差。限價單則會為價格設定上限,代價是可能不會成交;為何股票會隔夜跳空說明了這些走勢背後的機制。

時區、債券市場與全球其他市場

三個錯配因素,是多數「現在到底開盤了沒」困惑的來源。時區:正式交易時間以美東時間為準——一年中大多數時候,美東上午 9:30 是太平洋時間上午 6:30、倫敦時間下午 2:30——而市場日期也是美東日期,因此亞洲讀者的「今天」可能橫跨兩個美股交易日。債券市場:美國公債遵循 SIFMA 行事曆,而非紐約證交所行事曆——它除了所有股市假日都休市外,還多休兩天,且其建議的下午 2:00 提前收盤,出現頻率也高於股市下午 1:00 的半日交易。這種全天交易日的分歧,可從數據中看出:

查詢過去一年中股票交易但未印出美債殖利率的平日
每個數據背後的精確 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 個平日股市正常交易全天,但完全沒有公債殖利率報價——即 2025-10-132025-11-11,分別落在十月與十一月:哥倫布日與退伍軍人節,這兩個聯邦假日股市照常交易。全球其他市場:海外交易所遵循各自的行事曆,而指數期貨幾乎全天候交易——這就是為什麼美東凌晨 3:00 可能出現「股市正在下跌」的頭條,但所有美國交易所都尚未開盤。每個美股交易日周邊的延長交易時段,為美東上午 4:00 至 9:30,以及下午 4:00 至 8:00,流動性較差且買賣價差較大;相關機制請參閱延長交易時段指南

常見問題

股市現在開盤嗎?

截至本頁面最後一次資料更新——2026-07-24 美東時間 09:00——計算出的狀態為 PREMARKET。過了這個時間戳記,規則只需幾秒鐘就能判斷:平日美東時間上午 9:30 至下午 4:00,扣除上方假日表所列日期。

股市明天開盤嗎?

明天是正常交易日,除非當天是星期六、星期日,或是上方休市表所列的日期。截至本頁面更新時,日曆上最近的下一個正常交易日(若市場開盤,則包含今天在內)是 2026-07-24

股市在聖誕夜開盤嗎?

當 12 月 24 日落在平日時,美國證券交易所通常會進行縮短交易時段,於美東時間下午 1:00 收盤;若當天落在週末,則完全沒有交易時段。聖誕節當天一律全面休市——今年的確切日期請見上方日曆表。

股市在黑色星期五開盤嗎?

是的。感恩節後的星期五是排定的半天交易日:常規交易於美東時間下午 1:00 結束,而非下午 4:00——磁帶上大約是 210 分鐘的 K 棒,而非 390 分鐘。

債券市場今天開盤嗎?

通常股市開盤時債市也開盤,但並非總是如此。美國公債市場遵循 SIFMA 日曆:包含所有股市假日,外加哥倫布日和退伍軍人節,並且有更頻繁(且更早,於下午 2:00)的提早收盤。過去一年的磁帶顯示,有 2 個平日股市有交易,但公債殖利率並未報價。


上方每個面板都是一個已儲存、帶版本的查詢,其下方附有確切的 SQL 語法——展開任何面板即可對其進行稽核。若要自行檢查任何日期、交易時段或缺口,請在 Strasmore 終端機上用簡明的英文提問。