VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 指標與訊號

日內交易最佳指標:測試實際告訴我們什麼

沒有哪個指標能在所有市場都是日內交易的最佳選擇;該問的是,一條用 1 分鐘或 5 分鐘 K 棒的規則,扣除成本後在沒用過的資料上平均每筆是否仍然賺錢。結果會隨市場、K 棒週期、交易時段與交易成本而變。唯一有用的答案,來自用你自己的資料做公平測試,並在測試沒用到的資料上再驗證。

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

目錄
  1. 日內交易有沒有單一最佳指標?
  2. 測試常見的日內指標時,應該檢查什麼?
  3. 為什麼同一個指標在一個市場賺錢,在另一個市場卻虧錢?
  4. 如何在相同資料上,納入手續費與滑價來測試指標?
  5. 交易時段與開盤區間如何影響日內訊號?
  6. 如何判斷一個賺錢的指標不是靠運氣?
  7. 指標測試能告訴你什麼,不能告訴你什麼?
  8. 常見問題
  9. 參考文獻

日內交易有沒有單一最佳指標?

沒有。沒有任何單一技術指標能在所有市場的日內交易中表現最好。測試結果取決於市場、K 棒週期、你交易的交易時段,以及最重要的交易成本。真正有用的問題是:哪一種指標規則在你的市場上,扣掉成本後、在沒看過的資料上依然成立。只有公平的測試能回答這個問題。

日內指標是在短於一天的 K 棒(例如 1 分鐘或 5 分鐘 K 棒)上進行的計算,把近期價格或成交量轉成一個可以拿來交易的數字。問哪個指標最好,就像問哪種輪胎最好,卻沒說車是開在冰上、沙地還是賽道。輪胎很重要,但路況決定哪一種會贏。

測試常見的日內指標時,應該檢查什麼?

測試常見的日內指標之前,先固定它的設定與交易時段,再檢查交易筆數、扣除成本後的平均每筆損益,以及訊號在開盤附近的聚集情形。多數日內指標衡量三件事之一:價格相對於均值的位置、走勢的速度,或走勢的幅度。各常見指標的作用,請見我們的當沖最佳指標指南。下表列出五種常用的日內指標,只寫測試前該固定什麼,以及結果中該檢查什麼。

指標測試前要固定結果中要檢查
VWAP重新計算所依據的交易時段開盤每根 K 棒是否都有成交量資料,以及有多少訊號出現在開盤附近
RSI回看長度與進場水位交易筆數與扣除成本後的平均每筆損益,因為大量小額交易會讓成本占比很重
MACD快線、慢線與訊號線的長度在短 K 棒上,訊號相對於它想捕捉的走勢來得多晚
均線回看長度,以及簡單或指數型回看範圍是否跨越交易時段之間的中斷
ATR回看長度與使用的倍數ATR 只衡量風險大小,不提供方向,所以要把它當成停損、部位大小或濾網,搭配有方向的規則一起測試

VWAP(成交量加權平均價)是交易時段內的平均成交價,以各價位成交的口數加權。它通常在每個交易時段開盤時重新計算,所以它在測試中的數值,直接取決於你如何定義交易時段。其他四種指標可用於任何 K 棒週期,因此測試它們時,最重要的設定是回看長度。AlphaPrime(Valynox) 的策略生成可以把回看長度設成參數範圍,指標就能在一整段數值上受測,而不是只測一個手動挑的數字。

為什麼同一個指標在一個市場賺錢,在另一個市場卻虧錢?

同一個指標規則可能在一個市場賺錢,在另一個市場虧錢,因為底下有三件事不同:市場的走法、每根 K 棒的大小,以及每筆交易的成本。

  • 市場。有些市場在突破後傾向繼續走。有些則傾向拉回。以 RSI 建立的反轉規則和以均線建立的趨勢規則,需要相反的市場行為,所以它們不可能在同一個市場都是「最佳」。
  • K 棒週期。在 1 分鐘 K 棒上,指標會對雜訊起反應。在 30 分鐘 K 棒上,同一個指標對較大的波動起反應,但訊號較少。14 根 K 棒的設定,在一張圖上涵蓋 14 分鐘,在另一張圖上則涵蓋 7 小時。
  • 成本。不論 K 棒週期為何,每筆交易的手續費與滑價大致不變。較短的 K 棒捕捉的走勢較小,所以成本占每筆交易的比重較大。

成本的影響可以用一行式子表示:淨平均每筆損益 = 毛平均每筆損益 − 一買一賣(來回)成本。毛平均每筆損益是扣除任何成本前,每筆交易的損益。一買一賣(來回)成本是進場與出場兩邊的手續費、規費與滑價。如果前者沒有明顯大於後者,不論圖上的訊號看起來多漂亮,這個指標在該 K 棒週期上都沒有可交易的優勢。

如何在相同資料上,納入手續費與滑價來測試指標?

公平的比較只改變指標,其他一切保持相同。如果各次測試之間的市場、資料、出場、成本或執行方式不同,你比較的就是不同的設定,而不是指標。

  1. 固定資料。每個指標都用同一個市場、同一個 K 棒週期與同一段日期範圍。
  2. 切分歷史。樣本內資料是你用來選擇與調整規則的那段歷史。樣本外資料是你留在一旁、只在最後使用一次的部分。在第一次執行之前就決定好切分方式。
  3. 固定交易時段。決定你只交易日盤,還是所有時段,以及部位必須在何時平倉。
  4. 固定出場。讓每個規則使用相同的出場,例如固定停損、固定停利,以及在交易時段收盤時平倉出場。這樣任何差異都來自進場。
  5. 從第一次執行就加入成本。滑價是測試所假設的價格與你實際成交價格之間的差距。以手續費加上每邊至少一個跳動點的滑價作為起點。
  6. 在下一根 K 棒成交。如果訊號要等 K 棒收盤才能知道,就在下一根 K 棒成交,而不是在產生訊號的那根 K 棒。
  7. 加入基準。測試一個不用指標的簡單規則,例如每天在固定時間進場。指標必須勝過這個基準,才有資格留下。

在 AlphaPrime中,回測對每個候選策略套用相同的資料解析度、手續費與滑價、下一根 K 棒成交,以及交易時段,所以每個指標都在相同條件下被評判。

假設範例

一位交易者在同一檔指數期貨的 5 分鐘 K 棒上測試五種進場規則。資料共有五年。前四年為樣本內,最後一年留在一旁。每個規則都使用相同的出場、下一根 K 棒成交,以及 $30 的一買一賣(來回)成本(手續費加上每邊一個跳動點的滑價)。

進場規則交易筆數,樣本內毛平均每筆損益淨平均每筆損益,樣本內淨平均每筆損益,留出的那一年
RSI 反轉1,400$34$4−$9
MACD 交叉900$28−$2−$6
價格穿越 20 根 K 棒均線1,100$31$1−$4
價格穿越 VWAP600$45$15$6
收盤價高於前一收盤價超過 1 個 ATR300$52$22−$3

樣本內結果最好的規則,也就是 ATR 突破,在留出的那一年虧錢。RSI 規則交易筆數最多,即使在樣本內,獲利也幾乎被成本吃光。VWAP 規則是唯一仍為正的,但一年、幾百筆交易遠遠不足以稱為優勢。換一個市場或 K 棒週期,排名可能完全不同。

五種日內進場規則的假設測試,顯示樣本內與保留一年的平均每筆淨損益(美元):RSI +4 與 −9,MACD −2 與 −6,20 根 K 棒均線 +1 與 −4,VWAP +15 與 +6,ATR 突破 +22 與 −3。樣本內表現最好的規則,之後並未維持領先。 最強規則後來虧損 每筆淨損益(美元),假設 樣本內 保留一年 +4 −9 −2 −6 +1 −4 +15 +6 +22 −3 RSI MACD MA 20 VWAP ATR 樣本內排名未能延續。 所以:用未見過的資料檢驗規則。
上述假設測試:樣本內資料的排名,撐不過留出的那一年。

交易時段與開盤區間如何影響日內訊號?

交易時段的處理方式,對日內指標數值的影響比多數交易者預期的更大。開盤的表現和一天中其他時間不同,而且指標的回看範圍可能在不知不覺中延伸到前一個交易時段。

開盤區間是交易時段最初幾分鐘的最高價與最低價,例如前 15 或 30 分鐘。成交量與價格波動幅度通常在開盤與收盤附近最大,在盤中較為平靜。在平靜的午盤 K 棒上調好的指標,在前半小時可能給出截然不同的訊號。開盤區間突破本身也是一種策略構想,所以測試可能在不知不覺中混入兩種效應。

對常見市場來說,有三個交易時段的事實很重要。CME 的美國股價指數期貨從週日晚上到週五幾乎全天候交易,每天從紐約時間 17:00 起有一小時休市。許多交易者當作「日盤」的 NYSE 現貨交易時段,是紐約時間 9:30 到 16:00。TAIFEX 的台指期,日盤為台灣時間 08:45 到 13:45,夜盤為 15:00 到隔天清晨 05:00。交易所可能調整這些時間,所以請到交易所的合約頁面確認。期貨交易時間工具會以你自己的時區顯示各個交易時段。

每次日內指標測試都要做這些檢查:

  1. 檢視開盤時的回看範圍。在只有日盤的 5 分鐘 K 棒上,9:40 的 14 根 K 棒 RSI 使用今天的兩根與前一天下午的十二根。
  2. 檢查 VWAP 何時重新計算。從夜盤開盤開始計算的 VWAP,和從日盤開盤開始計算的 VWAP,在同一時刻會給出不同的數值。
  3. 測試跑兩次。一次包含所有訊號,一次在前 15 或 30 分鐘不允許新進場。如果大部分獲利來自開盤,優勢屬於開盤,而不是指標。
  4. 在交易時段結束時平倉。如果策略本來就是日內策略,就強制在收盤前出場,讓任何部位都不會承擔隔夜跳空。
在僅日盤的 5 分鐘 K 棒上,9:40 的 14 根 K 棒 RSI 使用前一日 15:00 至 16:00 的 12 根 K 棒,以及今日開盤區間僅 2 根 K 棒,因此開盤時的指標大多是昨天的資料。 大多是昨天的 K 棒 9:40 的 14 根 K 棒 RSI,5 分 K 昨天 12 根 今天 2 根 15:00 16:00 9:40 10:00 開盤區間 開盤時,RSI 多為舊資料。 所以:排除前 30 分鐘重測。
在開盤時,短 K 棒週期的指標可能大部分由前一個交易時段的 K 棒組成。

如何判斷一個賺錢的指標不是靠運氣?

只有當一個賺錢的指標,在完全沒有參與挑選它的資料上也有效時,你才能判斷它不是靠運氣。如果你試了許多指標與設定,其中一個一定會在任何歷史上因巧合而看起來很好。

想像一千個人在丟硬幣。其中幾個人很可能會連續丟出七次正面。他們並不是擅長丟硬幣。測試各種指標變體也是同樣的道理。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,你試的變體越多,最佳回測結果往往越高,即使沒有任何一個變體有真正的優勢。Sullivan、Timmermann 與 White(1999)在一段很長的股價指數歷史上測試了數千種簡單的技術交易規則。他們發現,在較早資料上看起來最好的規則,在他們檢驗的較晚資料上並沒有保住優勢。

  • 保留一段不碰的留出期間,直到規則定案,且只看一次。
  • 使用推進分析。推進分析會反覆在一個視窗上調整、在下一個視窗上測試,所以每一筆回報的交易,都來自在該交易資料之前選定的設定。
  • 記錄你嘗試的次數。寫下你試了多少指標與設定。試五次後得到好結果,比試五百次後得到同樣結果更有意義。White(2000)描述了一種正是為了這個問題而設計的檢定:把搜尋過程考慮進去之後,眾多規則中最好的一個,是否仍優於基準?
  • 偏好寬廣的區域。如果 RSI 14 有效,但 RSI 12 與 RSI 16 都虧錢,你找到的是雜訊,不是優勢。

AlphaPrime 的策略檢驗把檢查依耗時分為基礎、標準與完整,並包含推進分析與由你自己設定的門檻。

指標測試能告訴你什麼,不能告訴你什麼?

指標測試能告訴你,一個明確的規則在某個市場的歷史上扣除成本後表現如何。它不能告訴你這個規則會繼續有效。

好的測試能回答有用的問題。這個進場規則在扣除實際成本後,是否勝過簡單的基準?它在沒看過的資料上是否站得住腳?它是否依賴開盤、某一年,或某一個精確的設定?它也能給你一個公平的構想排名,因為每個構想面對的條件都一樣。

回測描述的是過去,不是預測。市場會改變行為,成本會改變,而且幾百筆交易會留下很寬的可能結果範圍。對於通過每一項檢查的規則,把它當作值得以小部位觀察的候選策略,而不是策略有效的證明。

如果你使用 AlphaPrime,這代表:你可以在策略生成中描述幾個指標構想,包含它們的參數範圍與進出場條件,然後在相同的資料、成本與交易時段下評判它們,之後才有任何一個能進入策略檢驗。

常見問題

日內交易最準確的指標是什麼?

沒有任何指標在所有市場都是最準確的。準確度會隨市場、K 棒週期、交易時段與交易成本而變。一個常常獲勝的規則,如果虧損比獲利大,或成本吃掉了它的小額獲利,仍然可能虧錢。請在你自己的市場上,納入成本並使用樣本外資料測試每個指標。

VWAP 適合日內交易嗎?

VWAP 在日內交易中很受歡迎,因為它在每個交易時段重新計算,並顯示價格相對於當天平均成交價的位置。VWAP 規則是否有優勢,取決於市場與成本,而且必須像其他規則一樣測試。請確認你的平台何時重新計算 VWAP,因為重新計算的時間會改變訊號。

日內指標最適合哪種 K 棒週期?

沒有哪種 K 棒週期最適合所有策略。較短的 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.
  • Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
  • White, H. (2000). A Reality Check for Data Snooping. Econometrica, 68(5), 1097–1126.