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

小台夜盤:交易時間、流動性與回測方法

小台夜盤的交易時間為台灣時間 15:00 至 05:00,並計入下一個交易日。把它當成獨立的區段來回測,滑價設得比日盤更寬,再與日盤交易合併。

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

目錄
  1. 小台夜盤的交易時間是什麼時候?
  2. 跨越午夜的夜盤 K 棒要怎麼歸日?
  3. 為什麼夜盤的滑價比較寬?
  4. 交易時段之間的跳空如何改變回測?
  5. 如何把日盤與夜盤當成獨立區段來測試?
  6. 研究時需要夜盤的即時報價嗎?
  7. 常見問題
  8. 參考資料

小台夜盤,期交所稱為盤後交易時段,交易時間為台灣時間 15:00 至隔天早上 05:00。一般交易時段為 08:45 至 13:45。回測時,要把夜盤 K 棒歸到正確的交易時段,滑價要設得比日盤更寬,並且先把日盤與夜盤當成獨立區段分開測試,再合併。

小台夜盤的交易時間是什麼時候?

小台夜盤的交易時間為台灣時間 15:00 至隔天早上 05:00,前面是 08:45 至 13:45 的一般日盤。夜盤(夜盤)是期交所從下午一直開到隔天清晨的盤後交易時段。交易人常稱它為小台夜盤或小台指期夜盤。台灣不實施日光節約時間,所以這些當地時間全年不變。

時段(台灣時間,UTC+8)內容
08:45 – 13:45一般(日盤)交易時段
13:45 – 15:00休息,不交易
15:00 – 隔天 05:00盤後(夜盤)交易時段,跨越午夜
05:00 – 08:45休息,不交易

週五夜盤交易到週六 05:00。週末其餘時間不交易。期交所在 2017 年新增盤後交易時段,所以更早的價格歷史資料只有日盤 K 棒。

小台一點價值 NT$50,最小跳動單位為一點。免費的期貨交易時間工具可以用你自己的時區顯示這些交易時段,期貨合約計算機則把點數換算成每口的金額。交易所可能調整交易時段與合約規格,設定測試前請先到期交所的合約頁面確認最新數值。

時間軸上的一個小型台指交易日(台灣時間):15:00 至 05:00 的夜盤跨越午夜,隨後休息至 08:45,日盤從 08:45 到 13:45 交易日從 15:00 開始 台灣時間,無夏令時間 午夜 夜盤 休息 日盤 15:00 00:00 05:00 08:45 13:45 一個交易日 只有夜盤跨越午夜。 所以:夜盤 K 棒歸入隔日。
小台的一個交易日從 15:00 的夜盤開始,到隔天日盤 13:45 結束。只有夜盤區塊跨越午夜。

跨越午夜的夜盤 K 棒要怎麼歸日?

要依交易時段而不是日曆日期來分組 K 棒,因為一個夜盤橫跨兩個日曆日期,還屬於第三個概念:交易日。交易日是交易所用於結算與保證金的營業日。期交所把盤後交易時段的成交歸到下一個一般交易時段的交易日。週二 22:00 的成交與週三 02:00 的成交,都計入週三的交易日。

這在回測中有三個地方會造成影響:

  1. 交易時段篩選。像「只在 15:00 到 05:00 之間交易」這樣的規則必須能跨過午夜。單純檢查起始時間早於結束時間會失敗,因為 05:00 在時鐘上比 15:00 更早。
  2. 每日統計。如果你的軟體依日曆日期分組結果,一個夜盤會被切成兩天。每日虧損上限與「每天一筆交易」這類規則的表現就會和你的原意不同。
  3. 週末。週六 00:00 到 05:00 的 K 棒日期是週六,但屬於週一的交易日。把所有週六 K 棒都剔除的篩選條件,會把每個週五夜盤砍掉一半。

也要檢查你的資料來源如何標記 K 棒的時間。有些資料商用 K 棒的起始時間標記,有些用結束時間。以 15 分鐘 K 棒來說,第一根夜盤 K 棒可能標為 15:00 或 15:15,最後一根夜盤 K 棒可能標為 04:45 或 05:00。在撰寫任何交易時段規則之前,先看看 15:00 與 05:00 前後幾天的原始資料。如果你的資料會合成日 K 棒,要弄清楚每根日 K 棒是否包含前一晚的夜盤。

為什麼夜盤的滑價比較寬?

夜盤的成交量通常遠低於日盤,因此每張委託單對價格的影響較大,成交價也往往較差。滑價是指回測假設的價格與你實際能成交的價格之間的差距。在清淡的市場中,買賣價相距較遠,每個價位的口數也較少。停損單就可能在觸發價之外好幾點才成交。

夜間的流動性也會變化。在美國經濟數據公布與美股開盤前後,市場活動往往會增加。美國實施日光節約時間期間,紐約開盤 09:30 是台灣時間 21:30,其餘時間則是台灣時間 22:30。許多美國數據在紐約時間 08:30 公布,也就是台灣時間 20:30 或 21:30。在清晨時段,本地交易人都在睡覺、美國市場又很安靜,委託簿可能很薄。

實務上的原則是:替夜盤設定自己的滑價假設,而且要比日盤的更大。加入手續費、稅與滑價的一般方法,請見回測中的交易成本。夜盤正是過於樂觀的成本設定傷害最大的地方。

假設範例

某個小台策略的毛平均每筆損益為 8 點(NT$400)。手續費與稅合計假設為每一買一賣(來回)2 點。日盤假設每邊滑價 1 點,所以一買一賣(來回)成本為 4 點,淨平均每筆損益為 4 點。夜盤假設每邊 2 點,所以一買一賣(來回)成本為 6 點,淨平均每筆損益為 2 點。同樣的訊號,在夜盤每筆只留下一半的獲利。

如果某個夜盤策略只有在使用日盤滑價時才維持正期望值,就代表它依賴夜盤市場可能給不了的成交價。把夜盤滑價加倍再跑一次。若滑價加倍後淨平均每筆損益轉為負值,就要把夜盤版本視為對成本敏感,並在實單交易前繼續測試。

交易時段之間的跳空如何改變回測?

交易時段開盤的跳空,可能讓你的停損與停利在遠離原先設定的價位成交,而你選擇的資料決定了回測能否正確看到這個跳空。隔夜跳空是指一個交易時段最後價格與下一個時段第一個價格之間的跳動。小台每天有兩段休息,分別是 05:00 到 08:45 與 13:45 到 15:00,因此有兩個會形成跳空的位置。

只用日盤 K 棒時,整個夜盤都被隱藏起來。夜間的走勢在 08:45 呈現為一次跳動。在全時段市場中本來會於 21:40 成交的停損,在回測裡會顯示成隔天早上開盤成交。成交價不同,時間也不同。使用全時段 K 棒時,05:00 到 08:45 的休息仍然存在,但跳空通常較小,因為夜盤已經消化了大部分消息。

假設範例

你在日盤收盤 20,000 持有多單,停損設在 19,950。夜間市場下跌,21:40 成交在 19,948。用全時段資料,停損在 19,948 附近成交,虧損約 52 點。用只有日盤的資料,下一根 K 棒在 08:45 以 19,880 開盤,停損就在那裡成交,虧損 120 點。同樣的規則、同樣的市場,卻得到兩種不同的結果。

假設範例中同一個停損、兩種虧損:多單停損設在日盤收盤下方 50 點,使用全時段資料時於 21:40 成交,虧損約 52 點;但只用日盤資料時於 08:45 開盤成交,虧損 120 點 同一個停損,兩種虧損 假設:多單,停損在下方 50 點 全時段 −52 點 21:40 成交 僅日盤 −120 點 08:45 成交 僅日盤的 K 棒會隱藏夜盤波動。 所以:回測請用全時段資料。
假設範例中的同一筆停損:只有日盤的資料隱藏了夜間走勢,並在早盤跳空處成交,全時段資料則在夜間成交。

要及早決定你的策略是否會持有部位通過休息時段。一個總是在 13:45 與 05:00 之前出場的策略,永遠不會承擔跳空。一個會隔夜持倉的策略則承擔每一次跳空,而且最糟的交易往往就是跳空交易。夜盤回測中只用日盤與全時段 K 棒的比較這篇文章,也談到其他期貨市場的這項資料選擇。

如何把日盤與夜盤當成獨立區段來測試?

把日盤、夜盤與全時段分成三個獨立的回測,只有在每個部分各自都站得住腳時才合併。交易時段區段是一段固定的交易時間,你把它當成獨立的市場來回測。小台日盤與夜盤的交易,在參與者、成交量與驅動價格的因素上都不同。一條規則在一個區段有效,在另一個區段卻常常失效,而全時段的結果可能把這件事掩蓋掉。把日盤、夜盤和全時段三組結果存進 AlphaPrime(Valynox) 的策略資料庫,就能排序比較,也能針對每個區段各自重新檢驗。

區段交易時段滑價假設它能告訴你什麼
只有日盤08:45 – 13:45日盤設定規則在流動性好的時段是否有效
只有夜盤(夜盤策略)15:00 – 05:00較寬的夜盤設定在成交較清淡之後,規則是否仍然有獲利
全時段兩者皆含,中間有休息依各區段合併是否有幫助,以及跳空如何影響跨過休息時段持有的部位

一個可行的步驟順序:

  1. 檢查歷史資料。在期交所新增盤後交易時段的 2017 年之前,你的資料沒有夜盤 K 棒。全時段與夜盤的測試要從資料第一次出現夜盤 K 棒的日期開始。否則早期幾年測的是另一個市場。
  2. 固定交易時段的定義。一次設定好 K 棒時間標記的慣例、跨午夜的處理與交易日的歸屬,並且每次回測都使用同一套。
  3. 先跑只有日盤,使用日盤的成本。
  4. 再跑只有夜盤,使用較寬的夜盤滑價。
  5. 分別檢驗各區段。使用樣本外(OOS)資料與推進分析,讓每個區段都必須在沒有被調整過的資料上證明自己。
  6. 最後才合併。只對在各自區段通過的策略跑全時段。然後檢查合併後的回撤,以及跨過休息時段持有的交易。

要把你嘗試過的每一個變化都算進去。如果你測試了日盤、夜盤與全時段,搭配多組參數,再保留最好的那一個,你就已經做了很多次試驗。在許多次試驗中挑出的最佳結果,會被運氣墊高。Harvey 與 Liu(2015)說明了在評估回測時如何處理多重檢定。

先單獨檢驗各交易時段:步驟一僅測日盤並套用日盤成本,步驟二僅測夜盤並套用較大滑價,步驟三最後才合併日盤與夜盤 各交易時段先單獨測 各時段獨立成本 1 2 3 僅日盤 日盤成本 僅夜盤 較大滑價 日盤 夜盤 最後合併 看出哪些時段賺錢。 所以:僅合併單獨通過者。
把兩個交易時段當成各自擁有自己成本的獨立區段來測試,最後才測試合併。

研究時需要夜盤的即時報價嗎?

不需要。策略研究使用的是歷史 K 棒,所以即時行情(小台指夜盤即時)對回測沒有幫助。回測重播過去的 K 棒,並在每根 K 棒收盤時做決定。它需要的是乾淨的歷史資料:完整的夜盤 K 棒、正確的時間標記、正確的轉倉,且沒有缺漏的交易時段。即時報價畫面顯示的是現在的價格,無法告訴你一條規則在過去幾年是否有效。

即時資料要到之後才重要,也就是你在交易平台上執行已完成的策略時。即使如此,也要把平台上的夜盤 K 棒與你研究時使用的 K 棒比對。看 15:00 之後的第一根 K 棒、午夜前後的 K 棒,以及 05:00 之前的最後一根 K 棒。如果平台合成這些 K 棒的方式不同,訊號就可能不同。

這對 AlphaPrime使用者的意義:AlphaPrime 使用你自己的歷史 K 棒資料運作,包括台指期。你可以分別搜尋並檢驗只有日盤與只有夜盤的小台區段。每次執行都使用自己的交易時段設定,以及自己的手續費與滑價,而且兩者都採用下一根 K 棒成交。在檢驗這一步,AlphaPrime 的策略檢驗包含推進分析與自訂門檻。AlphaPrime 的回測讓你在搜尋開始前設定資料解析度、交易時段、手續費與滑價。

常見問題

小台夜盤幾點開盤、幾點收盤?

小台盤後交易時段在台灣時間 15:00 開盤,隔天早上 05:00 收盤。一般日盤為 08:45 至 13:45。台灣不實施日光節約時間,所以當地時間全年不會變動。如有任何變動,請查看期交所的合約頁面。

夜盤會計入下一個交易日嗎?

會。期交所把盤後交易時段的成交歸到下一個一般交易時段的交易日。週五夜盤在週六 05:00 結束,屬於週一的交易日。你的回測應該以同樣的方式分組 K 棒,否則每日統計會把每個夜盤切成兩半。

小台夜盤的流動性比日盤差嗎?

通常是的。夜間成交的口數較少,市場較清淡,成交價往往較差,尤其是在清晨時段。市場活動往往會在美國數據公布與美股開盤前後增加。夜間交易的滑價假設要比日間交易設得更寬。

如何回測只做夜盤的策略(夜盤策略)?

把交易時段篩選設為 15:00–05:00,並確認它能正確跨過午夜。歷史資料要從資料第一次出現夜盤 K 棒的日期開始,因為期交所在 2017 年才新增盤後交易時段,同時使用夜盤專用的滑價。然後在與任何日盤規則合併之前,先用樣本外(OOS)資料檢驗這個策略。

研究策略需要即時的夜盤報價嗎?

不需要。研究使用歷史 K 棒,重要的是這些 K 棒完整且時間標記正確。即時報價只有在你於交易平台上執行已完成的策略時才有意義。

參考資料

  • Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.