經濟數據行事曆回測:該過濾 CPI、FOMC、NFP 日嗎?
回測跑兩次:一次保留 CPI、FOMC 與非農就業日,一次禁止在這些日子前後進場。預設保留事件日,並對公布 K 棒設定較高滑價;差異夠大、符合規則邏輯,且交易筆數足夠時,才考慮過濾。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
期貨回測該過濾 CPI、FOMC、NFP 日嗎?
做經濟數據行事曆回測時,策略跑兩次:一次保留 CPI、FOMC 與非農就業日,一次在每次公布前後禁止進場。預設保留事件日,並對公布 K 棒計入較高滑價。差異夠大、符合規則邏輯,且交易筆數足以說明問題時,才考慮過濾。
經濟數據行事曆列出已排定的數據公布與央行決策,附日期、時間與重要性評級。事件日是指當天有高重要性數據公布的交易日:CPI(美國消費者物價指數,主要的通膨數據)、FOMC(聯邦公開市場委員會,負責決定美國政策利率)、NFP(非農就業人數,每月公布的美國就業數據)。這三項對美國股指期貨的影響大於多數其他數據,所以交易人常問要不要排除。
保留是誠實的預設做法,因為實際交易時,這些日子一定會出現。把它們剔除,等於假設你會在場外觀望;這就成了一條必須真正遵守的規則,公布前平倉也有自己的滑價。下表是兩組回測要取捨的內容。
| 問題 | 保留事件日 | 過濾事件日 |
|---|---|---|
| 回測衡量的是什麼 | 照規則實際交易的結果,包含公布時的跳動 | 規則加上一條實單交易時也必須遵守的「空手觀望」規則 |
| 滑價設定 | 公布時段內的 K 棒設較高滑價 | 一般設定,因為時段內不會進場 |
| 適用時機 | 規則持倉數日;公布只是眾多 K 棒中的一根 | 規則在公布後數分鐘內反應,且時段內的交易扣除成本後虧損 |
| 採信結果之前 | 永遠有效;這是基準情境 | 時段內交易筆數夠多,剔除兩、三筆也不會改變正負號 |
規則的持倉時間,決定你落在哪一欄。日 K 棒的趨勢跟隨規則,是可回測的期貨演算法交易策略所介紹的五種類型之一,每個部位會跨過數十次數據公布,剔除事件日只會少掉它本來就沒交易的 K 棒,影響不大。1 分鐘 K 棒的突破規則,則會在公布的瞬間觸發,這類規則在時段內的交易,是另一群值得單獨衡量的樣本。
經濟數據行事曆去哪裡找?用的是哪個時區?
任何一份免費行事曆列出的排定數據都相同;回測要留意的細節,是行事曆設定的時區。TradingView 的經濟數據行事曆、FXStreet 的經濟數據行事曆與其他外匯行事曆,日期與時間都取自發布機構,所以各列一致。外匯市場行事曆(經濟數據行事曆)用在 NQ 或台指期上,和用在貨幣對上一樣有用,因為 CPI 與 FOMC 對這些商品都有影響。
每份行事曆會列出數據名稱、國家、時間、重要性評級(通常分三級)、前值、預測值,以及公布後的實際值。時間顯示為行事曆所設定的時區,這項設定由你決定。同一筆美國 CPI,行事曆設為紐約時顯示 08:30,美國夏令時間下設為 UTC 顯示 12:30,設為台北則顯示 20:30。數據公布的時間沒變,變的是標籤。
標記任何 K 棒之前,回測要先把公布時間換算成 K 棒資料所用的時區。先確認資料檔用哪個時區;資料檔以交易所時間標記、行事曆卻設為台北時,公布會對到差十二或十三小時的錯誤 K 棒。免費的期貨現在有開盤嗎?工具,能以你自己的時區顯示各交易所的交易時段,這和換算公布時間用的是同一種轉換。
過去幾年的日期,能往回捲動的行事曆就足夠。需要更長的歷史,可到發布機構的時間表頁面查往年紀錄:CPI 與非農就業查美國勞工統計局,FOMC 會議日期查聯準會。日期要取自實際時間表,不要套用「每月第一個週五」這類規則,因為數據偶爾會因假日而挪動或延後。
美國數據在台灣是幾點公布?
CPI 與非農就業在美國夏令時間於台灣時間 20:30 公布,美國冬令時間為 21:30;FOMC 聲明在台灣時間隔天凌晨 02:00 或 03:00 公布。美國數據固定採東部時間:CPI 與非農就業為 08:30,FOMC 聲明為 14:00。台灣沒有夏令時間,所以一小時的差距完全來自美國:美國在三月第二個週日把時鐘調快,在十一月第一個週日調回。
| 數據 | 美國東部時間 | 台灣時間(美國夏令) | 台灣時間(美國冬令) | 一般時程 |
|---|---|---|---|---|
| CPI | 08:30 | 20:30 | 21:30 | 每月一次,約在月中 |
| 非農就業 | 08:30 | 20:30 | 21:30 | 通常為每月第一個週五 |
| FOMC 聲明 | 14:00 | 隔天 02:00 | 隔天 03:00 | 每年排定八次會議 |
身在台灣的交易人,有兩點要注意。第一,FOMC 聲明在台灣與美國的日期不同,按美國日期標記,會標到錯的台灣日。第二,20:30 與 02:00 兩個公布時間,都在台灣日盤收盤之後,落在台灣交易人所稱的夜盤,也就是美股交易人說的盤前或盤後;盤後交易時段、流動性與回測陷阱說明這些 K 棒為何與一般交易時段的 K 棒表現不同。美國股指期貨的 08:30 公布,落在一般期貨交易時段內,但比股市開盤早一小時,委託簿比 09:30 時薄。
高重要性數據公布,會讓波動率與滑價改變多少?
公布時的滑價沒有固定數字;公布前後的 K 棒波動區間較寬、委託簿較薄,合適的設定要用自己的資料去量。滑價是回測假設的價格與實際成交價格的差距。一般 K 棒上,流動性高的期貨,停損單或市價單通常在觸發價一兩個跳動點內成交。公布 K 棒上,同一張委託單可能在數個跳動點之外成交。
兩件事同時發生。排定的數據公布前數分鐘,許多流動性提供者會撤單或拉寬報價,因為不想帶著部位承受這項數據。公布的那一秒,委託單集中湧入,價格跳過好幾個價位,新的報價才出現。停損單在這段跳動中觸發,會變成市價單,以下一個可成交的價格成交,離觸發價比任何一根一般 K 棒都遠。K 棒的波動區間,是這段行情看得見的紀錄;委託簿的深度,則是成交變差、卻看不見的原因。
量測方式如下。對歷史中的每個公布日,取公布當分鐘與其後五根 1 分鐘 K 棒的最高價減最低價;再取同月份非公布日的相同時間。兩組平均值的比值,就是你的市場裡公布 K 棒比平常寬多少。接著,把公布時段內 K 棒的滑價,設為一般滑價的倍數,方向與該比值一致;倍數要保守,因為波動區間會低估停損單成交的偏離幅度。AlphaPrime(Valynox)在每一次評估裡,都以次一根 K 棒成交並計入手續費與滑價,詳見回測頁面,因此從公布 K 棒量到的數字,會影響每一個候選策略的排名,而不是事後才套用在勝出者身上。
假設性範例
假設公布前一小時內 1 分鐘 K 棒的平均波動區間為 8 點,公布當分鐘加上其後五根 K 棒平均為 48 點,寬了六倍。一般設定是每筆滑價 $10,公布時段內的 K 棒調高為每筆 $40。一條規則在 600 筆交易中有 60 筆落在時段內,這 60 筆每筆多付 $30,整段回測共多 $1,800,全部 600 筆的平均每筆損益相差 $3。$3 是否重要,要看原本的平均每筆損益有多大。
K 棒週期會改變問題。日 K 棒規則在下一根 K 棒開盤成交,不會在公布那一分鐘送出委託,所以公布只是讓某一根 K 棒的波動區間變寬,不影響成交。1 分鐘或 5 分鐘 K 棒的規則,可能被公布本身觸發,這類規則的滑價倍數,是比較中最重要的單一設定。
如何標記事件日,並分別在有、無事件日下回測?
在每次公布前後的窗口內標記 K 棒,策略不改,先在所有 K 棒上跑一次;再跑一次,窗口內禁止進場;最後比較扣除成本後的平均每筆損益與交易筆數。事件窗口是視為屬於該次公布的一段 K 棒,例如公布前 15 分鐘到公布後 60 分鐘。步驟依序如下:
- 匯出測試期間的行事曆。只留下要測的數據(CPI、FOMC 聲明、非農就業),以及各年的實際日期。
- 把每個公布時間換算成資料的時區。逐日期換算,因為美國夏令時間調整,同一項數據在夏令與冬令會差一小時。
- 標記窗口內的 K 棒。常見的起手做法,是在公布前 15 分鐘到公布後 60 分鐘的每根 K 棒上加旗標;上一節的波動區間量測若顯示 09:30 時市場仍在大幅波動,之後再加寬。
- 在所有 K 棒上跑策略,旗標 K 棒使用較高滑價。這是基準回測。
- 再跑一次,旗標 K 棒禁止進場。出場仍依規則,所以兩次回測處理未平倉部位的方式相同。
- 比較扣除成本後的平均每筆損益與交易筆數,不比較淨損益。第二次的交易筆數較少,即使規則不變,淨損益也會不同;每筆的數字才是公平的比較。
按日期與時間標記 K 棒,和處理假日與提早收盤是同一套做法,陷阱也相同:因假日而挪動的公布、假日前一天縮短的交易時段,以及年中改變的時區。回測中的休市日與行事曆變動說明如何維護測試能讀取的日期表。比較的成本面,回測的交易成本與平均每筆損益所介紹的手續費與滑價設定方法,原樣適用。
假設性範例
基準回測:600 筆交易,扣除成本後平均每筆損益 $45。禁止進場的回測:540 筆交易,扣除成本後平均每筆損益 $52。窗口剔除的 60 筆,因此平均每筆約 −$18。六十筆是小樣本,若其中十筆是賺 $200 而不是虧損,窗口平均就會是正的。測試前先寫好的規則可以是:只有窗口內交易至少 100 筆,且平均虧損大於一般一買一賣成本時,才採用過濾。這個例子未通過筆數條件,所以過濾只記錄、不採用。
保留事件日的實際回測是什麼樣子?
日 K 棒的波段規則幾乎每次公布都持有部位,無法據此判斷事件日過濾,我們自己的 NQ 回測就說明了原因。下面這次回測測的是以標準指標建成的替身規則:以 ATR 平均真實區間通道作為唯一的進場與出場,沒有停損、停利或濾網;它不是事件日過濾,也不是本文的主題。回測期間為 2019-01-02 至 2025-06-30,NQ 日 K 棒,多空皆做,一口,每筆手續費 $20、滑價 $10。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 數字 | 結果 |
|---|---|
| 淨利(已平倉) | $184,055 |
| 最大回撤 | $108,925 |
| 交易筆數 | 34 |
| 勝率 | 55.88% |
| 獲利因子 | 2.067 |
| 平均每筆 | $5,413.38 |
| 在場時間 | 95.61% |
這個候選策略,是搜尋從試過的 1,024 個中留下的一個,依報酬相對回撤的表現選出。事後挑出留下的那個,數字會偏好看:多次嘗試中的最佳者帶有選擇加成,新的一段資料不會重複這個加成,所以 $184,055 只是描述一條過去的路徑,不是這條規則賺到的,也不是讀者可以預期的。

這次回測對事件日能說明的,只有兩個數字。持倉時間占比 95.61%,代表整段期間幾乎每個交易日都有部位,所以幾乎每個 CPI、FOMC 與 NFP 日也都有。34 筆交易,代表無法拆成「窗口內交易」與「其他交易」來看:在每年約 32 個事件日禁止進場,34 次進場也許只有一兩次挪動一天,結果的變動量與數據公布無關。$108,925 的最大回撤,也不是來自任何單一公布日;在日 K 棒上,公布只是持有數個月的部位裡的一根 K 棒。

這是波段策略的常態,也是第一節說過濾問題屬於日內規則的原因。以更細的 K 棒週期測試任何 NQ 規則之前,回測 ES 與 NQ 要先設好的五項設定涵蓋了交易時段、轉倉與成本的選擇,兩次回測的比較取決於這些設定。
為什麼事件日的小樣本不可靠?
事件日稀少,任何關於它們的統計,都只建立在幾十筆觀察上;看了這類統計才挑選的過濾,多半是對雜訊過度最佳化。每年有八次排定的 FOMC 會議,加上十二次 CPI 與十二次非農就業,約 32 個事件日,其他交易日約 220 天。六年的歷史約有 48 次 FOMC 聲明,以及每項月度數據約 72 次。每個事件日交易一次的規則,只有幾十筆窗口內交易可供判斷。
想像用八餐來評斷一家餐廳,和用四百餐來評斷。八餐的平均會隨一個糟糕的夜晚大幅擺動;四百餐的平均幾乎不動。交易也是如此。值得記住的公式只有一個:
平均每筆損益的不確定性 = 單筆交易的離散程度 ÷ √N
這裡的單筆交易的離散程度,是各筆結果通常離平均有多遠,N 是窗口內交易筆數,√N 是它的平方根。筆數從 48 筆增加到 400 筆,不確定性縮小到約三分之一,而不是八分之一。窗口內只有 48 筆交易,加上公布 K 棒造成的大幅離散,窗口平均容易因偶然而落在零的錯誤一側。
第二個問題是事件的順序。先看窗口的結果再決定過濾,等於在兩個選項裡挑出最符合這段歷史的規則,之後的公布日沒有理由重複這個模式。Bailey、Borwein、López de Prado 與 Zhu(2014)說明,看過結果後才做的選擇,在新資料上會多快失去意義;Harvey 與 Liu(2015)主張,結果要依選出之前比較過的變體數量打折。White(2000)則給出針對同一問題的正式檢定。實務上的做法與前面各節一致:在跑比較之前,先寫下筆數條件與要求的差異幅度,並把未通過筆數條件的過濾視為未檢驗,而不是已否決。
下一步只需一個下午。取你最常交易的日內規則,用資料的時區建出最近三年的公布日表,量測公布當分鐘與一般日同一分鐘的波動區間,再用這個量測得出的滑價倍數,跑兩次回測的比較。先看窗口內交易筆數,再看其他;不到 100 筆,就保留事件日,等歷史更長再回來。
常見問題
回測該排除 FOMC 日嗎?
預設不排除。保留 FOMC 日,調高東部時間 14:00 聲明前後 K 棒的滑價設定,再跑第二次回測,在該窗口內禁止進場。只有禁止進場的回測,扣除成本後的平均每筆損益明顯較好,且窗口內的交易夠多、剔除幾筆也不會改變正負號時,才採用過濾。日 K 棒的波段規則,過濾通常沒有實質差別,因為聲明當天本來就持有部位。
非農就業在台灣時間幾點公布?
非農就業在美國東部時間 08:30 公布,通常是每月第一個週五。美國採夏令時間期間(三月到十一月)為台灣時間 20:30,美國冬令時間為台灣時間 21:30。台灣不調整時鐘,所以一小時的差距完全來自美國。第一個週五若是假日,確切日期會挪動,請以當年的時間表為準。
CPI 日的滑價會增加多少?
沒有固定數字。CPI 日東部時間 08:30 的 1 分鐘 K 棒,波動區間比一般日同一分鐘寬得多,委託簿也較薄,所以停損單或市價單離觸發價更遠才成交。請在自己的資料中量測公布 K 棒相對一般 K 棒的波動區間,並以該比值的保守倍數,調高公布時段的滑價設定。不在公布那一分鐘送出委託的規則,例如在下一個開盤成交的日 K 棒規則,幾乎不受影響。
外匯行事曆可以用在期貨回測嗎?
可以。外匯行事曆、匯市行事曆與 TradingView 的經濟數據行事曆,列出的是同一批發布機構的同一批排定數據,重要性評級也相同。CPI、FOMC 與非農就業對股指期貨的影響,不輸給對貨幣對的影響。唯一要確認的是行事曆設定的時區,因為標記任何 K 棒之前,必須先把公布時間換算成 K 棒資料的時區。
參考文獻
- 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.
- Harvey, C. R., & Liu, Y. (2015). Backtesting. The Journal of Portfolio Management, 42(1), 13–28.
- White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.

