台指期夜盤要不要一起回測?日盤與全時段 K 棒的差別
重大消息常在日盤收盤後公布,第一時間的反應落在夜盤。只用日盤或連同夜盤組 K 棒,算出來的指標和訊號並不一樣。這篇整理兩種做法的差別,以及回測時段怎麼和實際下單對齊。
AlphaPrime 團隊 ·
法說會在收盤後,反應在夜盤
台積電公布,2026 年第三季法人說明會在 10 月 15 日(星期四)台灣時間下午 2 點舉行。依期交所的臺股期貨契約規格,一般交易時段是「營業日上午 8:45~下午 1:45」,盤後交易時段是「營業日下午 3:00~次日上午 5:00」。
也就是說,法說會開始時日盤已經收盤,市場第一次能用台指期反應,是下午 3 點開始的夜盤。這類「收盤後才公布」的消息並不少見。回測時有沒有把夜盤算進來,會直接影響策略看到的是哪一種行情。
同一段行情,兩種 K 棒
同一段台指期行情,可以用兩種方式組成 K 棒:
- 只用日盤:每個交易日只取上午 8:45 到下午 1:45 的成交。夜盤的漲跌不會出現在任何一根 K 棒裡,而是變成隔天日盤開盤時的一個跳空。
- 日盤加夜盤(全時段):夜盤的成交也組成 K 棒。日 K 的高低點會包含夜盤的價格,一天裡的 K 棒根數也多出不少。
兩種做法沒有對錯,但算出來的東西不一樣。同一支策略換一種 K 棒,進出場的位置和次數都可能改變。
指標和訊號會怎麼變
- 均線和其他用根數定義的指標:在日內週期上,同樣是若干根 K 棒,全時段涵蓋的實際時間比較短,也混進了夜盤的價格。
- 波動類指標:只用日盤時,夜盤的變動集中成開盤跳空。在日內 K 棒上,開盤那一根的真實區間(含跳空)會特別大,短週期的 ATR 也跟著跳高;全時段則把同樣的變動分散在夜盤的 K 棒裡。
- 「一天」的定義:開盤區間、每日最高最低、每日結束出場這類規則,都要先決定一個交易日從什麼時候開始、什麼時候結束。日盤和全時段的答案不同。
- 停損的成交價:只用日盤時,夜盤的大幅波動會在隔天開盤一次反映。停損單如果假設照停損價成交,結果會比實際樂觀。
回測要和實際下單一致
最重要的原則是:回測用的時段,要和你實際會下單的時段一致。
- 只在日盤交易、收盤前出場的策略:用日盤 K 棒回測,並在日盤結束時出場。
- 日夜盤都會交易的策略:用全時段 K 棒回測,夜盤的成本和滑價也要另外估。
- 要避免的是混用:用全時段算訊號卻只在日盤下單,或反過來,而回測沒有反映這個差別。
另外,期交所規定到期契約在最後交易日(結算日)沒有盤後交易時段,日盤也提前到下午 1:30 收盤。換月前後的資料要特別留意。
策略匯出到交易平台時,平台上的交易時段設定也要和研究時一致,否則兩邊的 K 棒會不同。比對方法見〈從生成策略到 MultiCharts:PowerLanguage 比對檢查清單〉。台指期的其他前置工作,整理在〈台指期程式交易:回測前要先處理的 5 件事〉。
AlphaPrime 在這裡能幫上什麼
在 AlphaPrime 的「生成設定 › 市場與回測」頁下方,「交易時段」預設是「無交易時段」。按「新增時段」建立自訂時段,把區段設成日盤時間並勾選「此段結束=交易日結束」,再到「交易時段」選這個時段:策略就只在日盤進場,交易日也在日盤收盤時結束。時段的時間以資料所屬交易所的時鐘為準。另外開啟「策略規則」頁交易選項的「每日結束後出場」,部位會在日盤結束時平倉。K 棒本身依匯入的歷史資料而定。同一組設定用「無交易時段」和日盤自訂時段各回測一次,就能在績效報表裡逐筆比較兩種做法。

