台指期夜盤收盤:回測該用哪個價格?
台指期夜盤於台灣時間 05:00 結束,收盤是最後成交價,不是結算價。回測請以最後成交價成交,並把每個夜盤算作下一個交易日的開始。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
台指期夜盤於台灣時間 05:00 收盤,最後一筆成交是最後成交價,不是官方結算價。期交所在日盤 13:45 收盤時訂出當日結算價。回測應以最後成交價成交,並把夜盤算作下一個交易日的開始。
台指期夜盤何時收盤?
台指期夜盤的交易時間為台灣時間 15:00 至隔日早上 05:00,因此台指期夜盤收盤在 05:00。日盤為 08:45 至 13:45。每個循環因此有兩段休市:13:45 至 15:00 的短暫休市,以及 05:00 至 08:45 較長的休市。
| 交易時段 | 開盤(台灣時間) | 收盤(台灣時間) | 收盤後的休市時間 |
|---|---|---|---|
| 日盤(一般交易時段) | 08:45 | 13:45 | 1 小時 15 分鐘,至 15:00 |
| 夜盤(盤後交易時段) | 15:00 | 次日 05:00 | 3 小時 45 分鐘,至 08:45 |
這兩個收盤的作用不同。13:45 的收盤結束交易日,期交所依接近收盤時的成交訂出當日結算價。05:00 的收盤結束隔夜交易,在台灣時間涵蓋歐洲交易時段,以及美國交易時段的大部分或全部。紐約證交所的現貨交易時段在紐約時間 16:00 收盤。紐約採標準時間(冬令)時是台灣的 05:00,採日光節約時間(夏令)時是 04:00。因此在冬令時期,台指期夜盤收盤與美股收盤同時發生。
交易所可能調整交易時段與契約規則,所以在設定測試前,請先查看期交所網站上的台指期契約頁面。免費的期貨交易時間工具可以用你所在的時區顯示期交所的各個交易時段。
夜盤收盤價是結算價嗎?
不是。夜盤收盤只是當晚的最後成交價,期交所不會以它進行帳務結算。這裡有兩個容易混淆的名詞:
- 最後成交價是交易時段結束前最後一筆成交的價格,是真實有人買、有人賣的價格。
- 結算價是期交所依日盤接近收盤時的成交計算出的官方每日價格。交易所用它對未平倉部位逐日結算,並計算保證金。計算方式公布在期交所的契約頁面。
結算價與 13:45 的最後成交價常常很接近,但不一定是同一個數字。在報價畫面上查看台指夜盤收盤價,看到的是 05:00 的最後一筆成交,那一刻並不會進行結算。你的未平倉部位要到下一個日盤收盤時才會再次逐日結算。
常見的資料錯誤是:日 K 棒的收盤價是結算價,但開盤、最高、最低卻是成交價。策略在這種 K 棒的「收盤」進場,用到的價格可能在 13:45 根本沒有成交過。請確認你的資料商儲存的是哪一種收盤價。如果不確定,可以拿幾天的資料與日盤最後一根 1 分鐘 K 棒比對。回測資料品質一文涵蓋了這一點與其他 K 棒建構的檢查。
夜盤屬於哪一個交易日?
夜盤屬於下一個交易日。期交所把夜盤的成交算入下一個營業日。交易日是交易所的記帳日,不是日曆上的一天。台指期的一個交易日從前一個營業日的 15:00 開始,到 13:45 結束。
由此產生兩個實務上的結果:
- 週五夜盤屬於週一。週五 15:00 到週六 05:00 的交易時段屬於下一個營業日,通常是週一。以日曆日切分的 K 棒會把它分到週五和週六。
- 以日曆日切分的 K 棒會把夜盤切成兩半。如果你的資料以午夜到午夜建立日 K 棒,15:00 到 24:00 的時段會落在一個日期,00:00 到 05:00 則落在下一個日期。這樣的切分與交易所計算日期的方式不符,也會改變每一個日線指標的數值。
夜盤收盤如何影響日 K 棒與跳空?
夜盤會改變跳空出現的位置與大小。跳空是一根 K 棒的收盤與下一根 K 棒的開盤之間的跳動,中間沒有成交。你看到哪種跳空,取決於資料:
- 只有日盤的資料會從 13:45 的收盤直接跳到 08:45 的開盤。整個夜盤的走勢都藏在那個跳空裡。
- 全時段資料(所有交易時段合併,常稱為台指全)會從 13:45 跳到 15:00,並從 05:00 跳到 08:45。這兩個跳空通常都比較小,因為夜盤已經消化了大部分隔夜消息。
假設性範例
週一日盤最後一筆成交為 20,000 點。夜盤開在 20,010,05:00 收在 20,180。週二日盤 08:45 開在 20,190。
以只有日盤的 K 棒來看,週二開盤比週一收盤高 190 點。以每點 200 元新台幣的大型契約計算,每口是 38,000 元新台幣。跳空策略會看到一個大幅向上的跳空。以全時段 K 棒來看,進入夜盤的跳動是 10 點,從夜盤收盤到日盤開盤也是 10 點。那 170 點的走勢發生在交易時間內,停損與進場本來都有機會成交。
這對三類規則都有影響:
- 跳空規則。像「開盤高於昨日收盤就買進」這樣的規則,在只有日盤與全時段資料下,會在不同的日子觸發。
- 隔夜持有的停損。在只有日盤的資料中,夜盤本來會觸發的停損,會在 08:45 開盤成交,價格往往較差。在全時段資料中,則會在夜間成交,接近停損價位,再加上滑價。
- 日線指標。全時段 K 棒上的日線 ATR 包含夜盤的波動幅度。同樣的設定用在只有日盤的 K 棒上,數值就不同,依它設定的停損也會不同。
回測時該把交易時段拆開還是合併?
先決定你的規則在每個交易時段所謂的「收盤」是哪個價格,再從下表選擇對應的資料設定;期貨回測中的夜盤一文涵蓋了只有日盤與全時段的比較。交易時段篩選是回測中的一項設定,只允許在指定時段內產生訊號與成交。想只交易某個交易時段、同時保有完整價格歷史時,這是常用的做法。
| 設定 | 資料 | 適用情況 | 規則看到的收盤 |
|---|---|---|---|
| 只有日盤 | 日盤 K 棒 | 只在 08:45–13:45 交易,並在 13:45 前出場 | 13:45 最後成交價 |
| 只有夜盤 | 全時段 K 棒,加上 15:00–05:00 篩選 | 只在夜間交易 | 05:00 最後成交價 |
| 合併 | 全時段 K 棒,以交易日建立日 K 棒 | 部位跨兩個交易時段持有 | 13:45 最後成交價結束一天;05:00 是日內的一個時點 |
| 各交易時段分別訂規則 | 全時段 K 棒,兩個篩選 | 規則在不同交易時段的行為不同 | 各交易時段自己的最後成交價 |
台指全全時段資料指南說明了合併後的序列如何跨越轉倉建構。
如果是只做夜盤的策略,在寫規則之前,先決定「昨日收盤」是什麼意思。13:45 的最後成交價是夜盤開盤前的價格;前一晚 05:00 的收盤則是最後的夜盤價格。兩者提供的參考價不同,請測試你實際會交易的那個版本。13:45 的最後成交價和 05:00 的收盤是不同的參考,兩個版本的結果可以在 AlphaPrime(Valynox) 策略資料庫分成各自的批次,並排檢查。
執行台指期夜盤回測前該檢查什麼?
五項檢查能解決大部分夜盤收盤的問題:
- 確認你的日 K 棒儲存的收盤是最後成交價還是結算價。
- 確認日 K 棒依期交所的交易日(15:00 到 13:45)建立,而不是依日曆日。
- 確認 K 棒時間戳記的時區。UTC 的檔案會讓每個交易時段位移 8 小時。
- 設定與你實際交易時段相符的交易時段篩選。
- 兩個交易時段的交易成本都要計入。夜盤的流動性通常比日盤薄,所以夜盤測試要用更高的滑價。
在 AlphaPrime中,回測讓你把交易時段與手續費、滑價一起設定,並一律以下一根 K 棒成交,因此交易時段的選擇是每次執行的一部分。選定交易時段設定後,比較策略期間請維持不變,讓所有結果使用相同的收盤定義。
如果你使用 AlphaPrime,這代表:載入你要交易的台指期 K 棒,把交易時段設成與你實際交易時間相符,並依交易日查看每日結果,讓夜盤損益落在正確的日期。
常見問題
台指期夜盤幾點收盤?
台指期夜盤的交易時間為台灣時間 15:00 至隔日早上 05:00。日盤為 08:45 至 13:45。交易所可能調整這些時間,請查看期交所的契約頁面以確認目前的時間表。
夜盤收盤價就是結算價嗎?
不是。05:00 的夜盤收盤只是夜盤的最後成交價。期交所依日盤接近收盤時的成交計算每日結算價,並用於部位結算與保證金。
夜盤的成交屬於哪一個日期?
期交所把夜盤成交算入下一個營業日。週一夜盤屬於週二的交易日,週五夜盤通常屬於週一。回測中的日 K 棒應遵循同樣的規則。
回測台指期該用日盤還是全時段資料?
使用與你交易方式相符的資料。如果你只在 08:45 到 13:45 之間進出場,日盤資料就適用。如果你會持倉過夜或在夜間交易,請使用全時段資料,讓停損與跳空的表現如同在真實帳戶中一樣。

