VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 商品與交易時段

台指期日盤:交易時段與僅日盤回測

台指期日盤為台灣時間 08:45–13:45。正確的僅日盤回測,要使用這個範圍內的 K 棒、把每天視為獨立的交易時段、在最後一根 K 棒結束前平掉所有交易,並以相同規則與成本和全時段回測相比較。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 台指期日盤的交易時間是什麼?
  2. 日盤的開盤與收盤會發生什麼事?
  3. 如何在僅日盤回測中設定交易時段邊界?
  4. 如何讓策略在 13:45 之前空手?
  5. 該用僅日盤 K 棒還是合併 K 棒來測試?
  6. 如何比較僅日盤結果與全時段結果?
  7. 常見問題
  8. 參考資料

台指期(TAIEX futures)日盤在交易日的台灣時間 08:45 至 13:45 進行。最後結算日當天,到期合約於 13:30 停止交易。要做僅日盤回測,請使用 08:45 開始、13:45 結束的 K 棒,把每天視為獨立的交易時段,並在最後一根 K 棒或之前平掉所有部位。

台指期日盤的交易時間是什麼?

日盤是台指期的一般交易時段,為台灣時間(UTC+8)08:45 至 13:45,共五小時,也就是 300 分鐘。相同的合約在盤後還有夜盤,從 15:00 交易到隔天清晨 05:00。13:45 到 15:00 之間沒有交易。

日盤與台灣股市的時間相互交錯。台灣證券交易所的現股交易時間為 09:00 至 13:30。因此期貨比股票早 15 分鐘開盤,也晚 15 分鐘收盤。你在 K 棒上看到的大多數日盤特性,都來自這兩個時間差。

時間(台灣)發生的事
08:30–08:45期貨接受開盤集合競價委託;尚未成交
08:45期貨日盤以集合競價開盤
09:00台灣現股市場開盤
13:25–13:30現股市場收盤集合競價
13:30現股市場收盤;最後結算日當天,到期期貨合約也同時停止交易
13:45其他所有月份的期貨日盤收盤
15:00盤後(夜)盤開盤

交易所可能調整交易時間與合約規則。建立交易時段範本之前,請先查閱臺灣期貨交易所(TAIFEX)的合約規格頁面,或使用期貨交易時間工具,以你所在的時區查看目前的交易時段。

台灣一個交易日的時間軸:期貨自 08:30 起接受委託,期貨日盤為 08:45 至 13:45,現貨股票 09:00 至 13:30 交易,13:25 起進入收盤集合競價,夜盤於 15:00 開始 期貨兩端各多 15 分鐘 一個交易日,台灣時間 08:45 13:45 15:00 期貨 股票 夜盤 09:00 13:30 僅委託 集合競價 僅期貨 期貨交易時間為 08:45–13:45。 因此:別用股市時段。
期貨日盤比現貨市場早 15 分鐘開始,並晚 15 分鐘結束。

日盤的開盤與收盤會發生什麼事?

日盤的最前段與最後段,行為和中間時段不同,所以回測必須刻意處理。集合競價是一種撮合方式:委託單在短時間內累積,再以單一價格一起成交。台指期在 08:45 以集合競價開盤,08:30 到 08:45 的所有委託會以同一個開盤價撮合。

這個開盤價反映了前一天 13:45 之後發生的一切,包括夜盤、美國市場與隔夜消息。在僅日盤的序列中,結果就是昨天最後一根 K 棒與今天第一根 K 棒之間的跳空。這對回測有三個影響:

  • 停損可能被跳過。如果停損設在昨日收盤下方 30 點,而市場開盤就低了 80 點,實際的停損單會在接近開盤價的位置成交,而不是停損價。當開盤價已經越過停損價時,你的回測應以開盤價成交。
  • 最初幾根 K 棒的波動很大。08:45 以及股票開盤的 09:00,振幅與成交量通常都很大。在前 15 分鐘觸發的突破規則,面對的市場和在 11:00 觸發的並不一樣。
  • 滑價較高。開盤最初幾分鐘的進場,滑價值應該設得比盤中更大。

在另一端,現貨市場於 13:30 收盤時,台灣加權指數本身就停止變動。13:30 到 13:45 期貨仍在交易,但標的指數已經固定。請在自己的資料中單獨檢查最後 15 分鐘,看看振幅、成交量,以及你的出場是如何成交的。

如何在僅日盤回測中設定交易時段邊界?

把交易時段精確設為 08:45–13:45,確認你的資料如何標記 K 棒時間,並確保沒有夜盤 K 棒混入。交易時段邊界是回測認定一個交易日結束、下一個交易日開始的時間點。如果設錯,日線指標、每日出場與每日結果都會建立在錯誤的 K 棒上。

  1. 選對資料序列。使用僅日盤序列,而不是手動過濾的全時段序列,除非你確定過濾有效。資料商對這些序列的命名各不相同;台指全與全時段台指期資料說明了常見的名稱。
  2. 檢查 K 棒的時間標記。多數平台以結束時間標記 K 棒。以 5 分鐘 K 棒來說,第一根(08:45–08:50)標記為 08:50,最後一根標記為 13:45。有些資料改以開始時間標記。你的時間規則必須與之一致。
  3. 計算 K 棒數量。用 300 分鐘除以 K 棒長度。5 分鐘 K 棒在正常日有 60 根。根數較少可能代表資料缺漏;較多則可能代表混入了夜盤 K 棒。
  4. 不要使用股市的範本。09:00–13:30 的範本會漏掉期貨交易最前面與最後面各 15 分鐘。
  5. 處理較短的交易日。最後結算日當天,到期月份於 13:30 結束。請檢查你的連續月序列在那天是否仍包含該月份。台指期結算日工具列出了這些日期。
  6. 標記假日及其前後幾天。休市會造成較長的跳空,也可能改變重新開市當天的行為。
設定僅日盤的正確值設錯時會發生什麼
交易時段開始08:45設為 09:00 會去掉開盤集合競價的 K 棒
交易時段結束13:45設為 13:30 會去掉最後 15 分鐘,並讓你的出場位置移動
每日 K 棒數(5 分鐘)60多出的 K 棒代表混入了夜盤資料
時間標記慣例與你的時間規則相同時間出場會早一根或晚一根 K 棒觸發

如何讓策略在 13:45 之前空手?

收盤前平倉的規則,只有在送出出場單時還剩一根 K 棒可以成交,才會真正有效。收盤前平倉規則,就是在交易時段結束之前平掉所有未平倉部位,讓任何一筆交易都不會持有到下一個交易時段的跳空。

關鍵細節在於執行時點。下一根 K 棒成交是一種回測規則:在某根 K 棒收盤時做出的決定,會在下一根 K 棒的開盤成交。這很貼近現實,因為你無法用做決定時已經確定的價格去成交。但這也代表,最後一次可能的出場決定必須在交易時段結束前一根 K 棒做出。

假設範例

某策略交易以結束時間標記的 5 分鐘 K 棒。當天最後一根 K 棒為 13:40–13:45。採用下一根 K 棒執行時,策略必須在標記為 13:40 的 K 棒收盤時決定出場,出場單才會在最後一根 K 棒的開盤、也就是約 13:40 成交。如果規則寫成「在 13:45 那根 K 棒的收盤出場」,日盤內就沒有下一根 K 棒了。這筆交易會持有到隔天早上 08:45,並承受整段隔夜跳空。典型的設定是:標記為 13:15 的 K 棒之後不再進場,出場決定在標記為 13:40 的 K 棒做出。在 13:30 結算的日子,這兩個時間都要提早 15 分鐘。

日盤最後六根 5 分鐘 K 棒,時間標記為 13:20 至 13:45:在 13:40 K 棒決定的出場會在 13:45 K 棒成交,而在 13:45 做出的決定只能在隔天 08:45 成交,並且要隔夜持有 提前一根 K 棒決定出場 5 分鐘 K 棒,以結束時間標記 13:20 13:25 13:30 13:35 13:40 13:45 08:45 隔天 出場成交 隔夜持有 13:45 的決定已無 K 棒可成交。 所以:在 13:40 K 棒決定。
採用下一根 K 棒執行時,出場決定必須在交易時段結束前一根 K 棒做出。

回測跑完後,數一數有多少筆交易在 13:45 仍未平倉。如果收盤前平倉規則運作正常,每一天的這個數字都是零。

該用僅日盤 K 棒還是合併 K 棒來測試?

請用你實際會交易的 K 棒來測試,因為僅日盤與合併 K 棒會產生不同的指標值與不同的訊號。合併 K 棒(也稱全時段 K 棒)是把日盤與夜盤接成一條連續序列。

在合併 K 棒上,回看型指標會把夜盤與日盤的交易混在一起,所以如果你只交易日盤,就應在僅日盤 K 棒上生成與測試;期貨回測中的夜盤說明了其中的差異。

15 分鐘 K 棒在 09:00 回看 20 根 K 棒:僅日盤 K 棒會讀取昨日日盤 09:00 至 13:45 的 19 根 K 棒,加上今日第一根;合併 K 棒則讀取 00:15 至 05:00 的 19 根夜盤 K 棒,加上今日第一根 同樣 20 根 K 棒,時段不同 15 分鐘 K 棒,09:00 回看 僅日盤 昨日 09:00–13:45 合併 夜盤 00:15–05:00 最後一根:今日 08:45–09:00 合併 K 棒會讀到夜盤。 所以:日盤交易,日盤測試。
同一個 20 根 K 棒的指標,在僅日盤與合併 K 棒上讀到的是不同時段的交易。

如何比較僅日盤結果與全時段結果?

在兩個序列上,用相同的規則、相同的成本、相同的日期區間各跑一次,然後比較每筆交易與風險的指標,而不只是總獲利。全時段資料的總額可能比較大,單純是因為可交易的時間更多。

假設範例

在台指期 15 分鐘 K 棒上跑同一個突破規則,參數相同,每筆一買一賣(來回)成本也相同。僅日盤並搭配收盤前平倉:600 筆交易,淨損益 NT$900,000,平均每筆損益 NT$1,500,最大回撤 NT$300,000。全時段:1,100 筆交易,淨損益 NT$1,100,000,平均每筆損益 NT$1,000,最大回撤 NT$450,000。全時段回測總共賺得較多,但每筆較少,回撤也更深。滑價小幅上升,最先受傷的會是它。

指標兩次回測為何不同該看什麼
扣除成本後的平均每筆損益夜盤交易的波動幅度通常不同兩次回測中,是否都是一買一賣(來回)成本的數倍?
交易筆數時間越長,訊號越多每次回測的交易筆數是否足以判斷結果
最大回撤隔夜持倉增加了跳空風險你的帳戶承受得了較深的那一個嗎?
逐年結果夜盤的流動性與行為會隨時間改變其中一次回測是否仰賴少數幾年?
多方與空方隔夜走勢可能偏向某一方是否由單一方向撐起整個結果?

如果可以,請在比較之前就決定要交易哪個交易時段。如果兩個版本都測,再留下看起來比較好的那一個,這個選擇就多了一次嘗試。每多一次嘗試,最佳結果看起來就比實際更好(Bailey、Borwein、López de Prado 與 Zhu,2014)。請用這個比較來了解策略的交易從何而來,而不只是用來挑出贏家。兩個版本都要測的話,AlphaPrime(Valynox) 策略檢驗會用同一組門檻和推進分析檢驗它們,比較才站在相同條件上。

AlphaPrime在回測中,對每個候選策略都套用交易時段、下一根 K 棒執行、手續費與滑價。把僅日盤與全時段的回測結果並排放進績效報表,比較回撤、分期績效與多空分析。

如果你使用 AlphaPrime,這代表:載入你自己的台指期日盤 K 棒,在搜尋開始之前先設定交易時段與成本,並且在檢視任何結果之前,先確認 13:45 時沒有任何未平倉的交易。

常見問題

台指期日盤的交易時間是什麼?

台指期日盤在交易日的台灣時間 08:45 至 13:45 進行。開盤集合競價的委託從 08:30 開始接受。最後結算日當天,到期月份於 13:30 停止交易,其他月份則交易到 13:45。

台指期日盤的交易時間和台灣股市一樣嗎?

不一樣。台灣現股的交易時間是 09:00 至 13:30,台指期則是 08:45 至 13:45。期貨早 15 分鐘開盤,晚 15 分鐘收盤。如果回測期貨時使用股市的交易時段,就會漏掉這 30 分鐘。

日盤策略應該用僅日盤資料還是全時段資料回測?

使用與你實際交易方式一致的資料。如果你只交易日盤,就用僅日盤 K 棒來建立並測試策略。以全時段 K 棒計算的指標包含了夜盤的交易,相同的規則會產生和僅日盤 K 棒不同的訊號。

為什麼日盤的第一根 K 棒和其他的差這麼多?

日盤在 08:45 以集合競價開盤,這個價格反映了前一日收盤以來的所有事情,包括夜盤。第一根 K 棒通常有跳空,振幅也很大。09:00 現貨市場開盤,常常會帶來第二波波動。

如何確保僅日盤回測會平掉所有交易?

在交易時段結束前一根 K 棒就送出出場決定,讓下一根 K 棒執行仍能在最後一根 K 棒成交。以結束時間標記的 5 分鐘 K 棒來說,就是在 13:40 那根 K 棒做決定。回測跑完後,檢查任何一天在 13:45 是否都沒有未平倉的交易。

參考資料

  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.