聖誕夜交易時間:提早收盤與你的回測
美股在聖誕夜通常於美東時間下午 1:00 收盤,CME 期貨則依自己的時程提早停止交易。這些短而清淡的交易時段會縮小日 K 棒,並打亂以時間為基礎的出場,所以回測應該排除或建模這些日子,再比較兩種結果。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
聖誕夜的市場如何交易?
聖誕夜當天,美國股市通常在美東時間下午 1:00 提早收盤。CME 期貨則依自己的假日行事曆,提早停止交易的時間依商品群組而異。成交量清淡,價差通常也較寬。在回測中,這些短交易時段會縮小日 K 棒、打亂以時間為基礎的出場,還會多出一個容易被忽略的假日跳空,所以要刻意處理。
提早收盤是指交易所預先公告、比正常收盤時間早數小時結束的既定交易日。美國股市每年通常最多有三天:獨立紀念日前後、感恩節隔天,以及聖誕夜。若要列出你資料中每一年的確切日期,請使用股市假日與提早收盤行事曆。交易所每年可能調整假日時間,所以請在 NYSE 假日行事曆,以及你所交易商品的 CME Group 假日行事曆上確認每個日期。
聖誕夜股市幾點收盤?
近年來,當 12 月 24 日落在週一到週四時,NYSE 與 Nasdaq 都在美東時間下午 1:00 收盤,而不是正常的下午 4:00。換成台灣時間是 12 月 25 日凌晨 2:00,因為 12 月的美東時間比台灣時間慢 13 小時。12 月 24 日是星期幾,會讓每年的情況不同:
| 12 月 24 日落在 | 12 月 24 日的股市 | 聖誕假期 |
|---|---|---|
| 週一到週四 | 提早收盤,美東時間下午 1:00 | 12 月 25 日休市 |
| 週五 | 全天休市(聖誕節在週六,改於週五放假) | 週六沒有交易時段 |
| 週六 | 沒有交易時段 | 聖誕節在週日,改於 12 月 26 日週一放假 |
| 週日 | 沒有交易時段 | 12 月 25 日週一休市 |
所以十年的股票日 K 棒序列,並不是每年都有同樣的假日。有些年份 12 月 24 日有一根半天的 K 棒,其他年份則完全沒有 12 月 24 日的 K 棒。因此,單靠日期來「認得」聖誕夜的規則,每年的表現都會不一樣。
CME 期貨的聖誕節交易時間與股市有何不同?
CME 期貨並不沿用股市下午 1:00 的收盤時間。它們依照獨立的 CME 假日時程,每個商品群組都有各自的提早停止時間。交易日是指期貨交易時段所歸屬的日期。在 CME Globex 上,某天晚上開始的交易時段屬於下一個交易日。這表示 12 月 24 日的期貨交易日,通常從 12 月 23 日晚上開始,其中包含股市從未有過的隔夜交易。
聖誕夜當天,CME Globex 通常在美國中部時間中午前後提早停止交易。確切時間由股價指數、利率、能源、金屬與農產品分別訂定。Globex 在聖誕節當天休市。若要用你自己的時區查看所交易市場的時間,請使用期貨市場交易時間工具,並查閱當年的 CME 假日行事曆。
| 美股 | CME 期貨 | |
|---|---|---|
| 12 月 24 日的交易時段 | 美東時間 9:30 開盤,1:00 p.m. 提早收盤 | 從 12 月 23 日晚上開始,在美國中部時間中午前後提早停止 |
| 誰訂定停止時間 | NYSE 與 Nasdaq 假日行事曆 | CME 假日行事曆,依商品群組而定 |
| 聖誕節當天 | 休市 | 休市 |
| 日 K 棒包含的內容 | 只有縮短後的日盤 | 隔夜交易加上縮短的上午時段 |
為什麼假日交易時段清淡且交易成本高?
假日交易時段的參與者較少,所以每筆交易的成本通常比一般日子更高。許多交易人和交易檯都不在。委託簿中掛著的委託單較少,通常代表買賣價差較寬。這時一張大單就可能比平常更容易推動價格。停損單與市價單成交價也容易離觸發價更遠。
使用單一固定滑價值的回測,假設假日交易的成本與忙碌的週二相同。對大多數策略而言,這會低估假日的成本。兩個實用的修正方式:
- 提高假日的滑價。重新跑測試,例如在提早收盤日使用兩倍的正常滑價,看看結果是否仍然成立。
- 檢查獲利從何而來。如果假日的交易屬於最賺錢的那些,它們同時也是成交最不真實的交易。
關於如何一般性地設定手續費與滑價,請參閱回測中的交易成本。
縮短的交易時段如何扭曲日 K 棒?
半天的 K 棒波動範圍較小、成交量較低,而每個對波動範圍或成交量取平均的指標都會吸收這種扭曲。這就像一個氣象站某天只量了從午夜到中午的數據,當天的溫度範圍看起來很平穩,因為有一半根本沒被量到。
要留意的影響:
- 波動度指標下降。平均真實波幅(ATR)與類似的過濾條件在短的一天之後會下降,所以以 ATR 為基礎的停損與部位大小,會因為和市場無關的原因而改變。
- 成交量過濾失靈。像「只在成交量高於 20 日平均時交易」這樣的規則,會在聖誕夜看到異常偏低的值。
- 突破價位看起來更近。12 月 24 日狹窄的 K 棒形成緊縮的高低點,所以 12 月 26 日的突破很容易被觸發。
- 假日跳空容易被忽略。從 12 月 24 日收盤到 12 月 26 日開盤的走勢橫跨整個假期,所以常以跳空的形式出現,測試可能把它誤當成一般的隔夜波動。
假設範例
某期貨在九個正常日的真實波幅各為 60 點,聖誕夜的真實波幅為 25 點。10 日平均從 60 變為 (9 × 60 + 25) ÷ 10 = 56.5 點。設為 2 × ATR 的停損從 120 縮小到 113 點,原因只是一個短交易時段。以該停損計算的部位大小也因同樣的原因略為變大。
為什麼時間出場在提早收盤日會失效?
如果以時間為基礎的出場在等一個永遠不會到來的時鐘時間,它在提早收盤日就會失效。時間出場是指在設定的時間或經過設定的 K 棒數後平倉,而不是在某個價格平倉的規則。聖誕夜的交易時段可能在該時間之前就結束,於是部位被帶過聖誕節,延續到下一個交易時段。
| 出場規則 | 在下午 1:00 收盤時會發生什麼 | 修正 |
|---|---|---|
| 美東時間下午 3:55 出場 | 下午 3:55 沒有 K 棒,所以交易持續到 12 月 26 日 | 相對於實際的交易時段結束時間出場,例如在該時段的最後一根 K 棒 |
| 經過 N 根日內 K 棒後出場 | 交易超過收盤,在假期之後才結束 | 加上「或在交易時段結束時,以先到者為準」 |
| 經過 N 天後出場 | 半天被算成一整天,所以持有時間比預期短 | 接受它,或改為計算小時數而非 K 棒數 |
| K 棒週期無法整除交易時段 | 短交易時段的最後一根 K 棒是不完整的 K 棒 | 檢查你的資料與平台如何建構那根最後的 K 棒 |
第一列對日內策略最重要。本應每晚都空手的當沖系統,其交易明細中可能出現一筆跨越假期的隔夜交易。那筆交易承擔了策略原本從未設計要承擔的風險。跨過聖誕節的那筆隔夜部位,會出現在 AlphaPrime(Valynox) 績效報表的交易明細裡,每一筆進場與出場都列在那裡。
回測應該排除聖誕夜,還是為它建模?
兩種選擇都可行,只要回測符合你當天實際會做的事。預設做法,也就是不加思考地把假日交易時段留在裡面,是唯一薄弱的選項。
| 做法 | 方式 | 最適合 |
|---|---|---|
| 排除 | 提早收盤日不新增進場,並在提早收盤前平倉 | 你不打算在假日交易時段實單交易 |
| 建模 | 保留這些日期,在實際的交易時段結束時出場,並提高這些日子的滑價 | 你會交易這些日子,並希望成本與時間點貼近真實 |
| 維持原狀 | 所有日期都用一般規則 | 只作為比較用的基準 |
從日資料中移除假日 K 棒,與排除這些交易日並不相同。指標會因此跳過一天,12 月 26 日的 K 棒會緊接在 12 月 23 日旁邊。多數交易人會保留 K 棒,改變交易規則。在 AlphaPrime中,回測會把你設定的交易時段、費用與滑價套用到每個候選策略,並一律以下一根 K 棒成交。
如何檢查假日交易時段是否改變你的結果?
用同一個策略,分別在含假日交易與不含假日交易的情況下執行,再比較兩種結果。如果結果取決於少數幾個假日交易時段,代表優勢很脆弱。請依下列步驟:
- 用假日行事曆列出你資料範圍內的每個提早收盤日與假日,並加上上表中的補假日。
- 標記在這些日期期間持有、或在這些日期進場的每一筆交易。
- 先跑基準測試,再跑第二個測試:在這些日期不新增交易,並在每次提早收盤前平倉。
- 比較兩次執行的淨損益、交易筆數、平均每筆損益與最大回撤。
- 逐一檢視被標記的交易:檢查進場與出場時間,並找出跳空與隔夜持有。
假設範例
某策略十年內做了 400 筆交易,淨損益為 $30,000。其中六筆交易碰到假日交易時段,合計賺了 $9,000。排除它們後剩下 $21,000。也就是 1.5% 的交易貢獻了 30% 的獲利,而且發生在市場最清淡、成交最不真實的日子。該看的是這個比例,而不是 $9,000 本身。
做一次選擇就維持下去。如果你嘗試許多種假日過濾條件,再留下結果最好的那一種,就是把行事曆擬合到雜訊上。White (2000) 說明了為什麼在眾多測試過的規則中,表現最好的那個往往看起來比實際更好。關於其他假日與重新開市,請參閱回測中的市場假日。
如果你使用 AlphaPrime,這代表:載入你自己的 K 棒資料,保留假日交易時段實際交易的樣子,設定你實際交易會用的交易時段與成本,並在保留某個策略之前,比較含假日交易的執行與不含假日交易的執行。
常見問題
聖誕夜股市有開嗎?
通常有,但是縮短的交易時段。當 12 月 24 日落在週一到週四時,NYSE 與 Nasdaq 近年都在美東時間下午 1:00 收盤。當 12 月 24 日落在週五時,因為聖誕節改在那個週五放假,市場全天休市。請每年在 NYSE 假日行事曆上確認。
聖誕節當天期貨有開嗎?
沒有。CME Globex 在聖誕節當天休市。在聖誕夜,CME 期貨通常在美國中部時間中午前後提早停止交易,每個商品群組在 CME 假日行事曆中都有自己的停止時間。
聖誕節隔天股市有開嗎?
12 月 26 日若落在平日,在美國通常是正常的完整交易日。例外是聖誕節落在週日的那一年,這時假日改在 12 月 26 日週一放假,市場休市。
我應該從回測資料中刪除假日 K 棒嗎?
通常不要。刪除 K 棒會讓指標跳過一天,並把 12 月 23 日與 12 月 26 日的 K 棒當成相鄰的。比較乾淨的做法是保留 K 棒,改變交易規則,例如提早收盤日不新增進場,並在實際的交易時段結束時出場。
聖誕夜的收盤時間換成台灣時間是幾點?
美東時間下午 1:00 的股市收盤,在台灣是 12 月 25 日凌晨 2:00,因為 12 月的美東時間比台灣時間慢 13 小時。CME 期貨依自己的時程停止交易,所以請另外換算你所交易商品的 CME 停止時間。
參考文獻
- White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.

