研究文章 / 回測
國定假日休市與回測:交易日曆的缺口怎麼處理
休市日在資料裡沒有 K 棒,恢復交易的第一根常常帶著跳空。若國定假日交易上路,歷史資料的交易日曆會前後不一致。這篇整理回測時要先想清楚的幾件事。
AlphaPrime 團隊 ·
十月有兩個休市日
依期交所公布的「中華民國 115 年期貨集中交易市場行事曆」,10 月 9 日(星期五,國慶日補假)和 10 月 26 日(星期一,臺灣光復暨金門古寧頭大捷紀念日補假)都是非交易日。證交所的 115 年市場開休市日期表也列了這兩天。
台灣期貨休市的這兩天,國際市場不一定跟著休。休市期間發生的事,會在恢復交易後一次反映出來。對做程式交易研究的人來說,這不只是少了一天行情,而是資料和回測假設都要跟著處理。
期交所研議國定假日交易
科技新報 2026 年 1 月 23 日報導,期交所董事長吳自心表示,期交所正在研議期貨市場的國定假日交易制度。範圍只限國定假日,不包含週六、週日,而且還需要和期貨商溝通、取得業界共識。報導沒有提到上路時間。
研究上要注意的不是哪一天上路,而是上路之後,歷史資料會出現「以前這類日子休市、之後照常交易」的前後差異。同一套策略在兩段資料上回測,面對的其實是不同的交易日曆。
休市日在回測裡是什麼樣子
- 資料裡是一段缺口。休市那天沒有 K 棒。用「幾根 K 棒」定義的指標,跨過連假時涵蓋的日曆天數會變長,例如同一條移動平均線在連假前後實際涵蓋的時間並不一樣。
- 恢復交易的第一根常常跳空。休市期間國際市場的變化,會集中反映在第一根 K 棒。如果回測假設停損單照停損價成交,結果會比實際樂觀,因為跳空時的成交價往往更差。
- 跨連假留倉的風險不同。留倉的策略遇到連假,等於把留倉時間拉長好幾天。這類交易的報酬分布,和一般隔夜交易不一樣。
如果國定假日開始交易,回測要多注意什麼
- 前後兩段的交易日曆不同。制度上路前,國定假日沒有資料;上路後有。以日 K 計算的指標和「每月第幾個交易日」這類條件,前後兩段的節奏會不一樣,比較績效時要分段看。
- 假日的成交情況可能和平日不同。參與者、成交量和價差都可能不一樣。這種日子的滑價和成本假設,最好另外估,不要直接沿用一般交易日的數字。
- 跨市場策略要對齊日期。同時參考台指期和海外指數期貨的策略,兩邊的休市日本來就不同。資料對齊時要決定:某一邊休市的那天,另一邊的 K 棒要怎麼處理。
實務上可以先做的三件事
- 先分清楚缺口的原因。資料裡的缺口可能是休市,也可能是資料本身少了一段。先檢查,再決定要不要補。
- 把跨連假的交易分開統計。看這些交易的平均損益和最大虧損,是否和其他交易明顯不同。若差異明顯,可以考慮在連假前先出場。
- 對恢復交易的第一根 K 棒做壓力測試。把這根 K 棒的滑價加大再回測一次。策略如果因此失效,表示它對休市後的跳空很敏感。成本怎麼設,可以參考〈回測裡的交易成本:手續費、滑價與平均每筆交易〉。
台指期回測還有其他前置工作,例如日盤夜盤、換月和成本,整理在〈台指期程式交易:回測前要先處理的 5 件事〉。
AlphaPrime 在這裡能幫上什麼
在 AlphaPrime 的市場資料庫勾選資料、按「驗證」,會檢查有沒有缺段、重複或異常的 K 棒,缺段會連同起訖時間列在明細裡;再對照交易所行事曆,就能分清缺口是休市還是缺資料。生成設定的交易選項有「每日結束後出場」,開啟與關閉各回測一次,比較兩邊的結果,看隔夜和連假的影響。結果在績效報表裡逐筆可查。

