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

區間 K 棒的建構方式、區間大小設定與回測方法

區間 K 棒在價格走完固定距離時收盤,而不是在時鐘間隔結束時收盤,所以行情活躍時會產生很多根 K 棒,行情平靜時只產生很少根。這會改變交易筆數、指標回看長度、時間濾網與成交假設,因此區間 K 棒策略須先有 Tick 資料與成本檢查,回測才有意義。

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

目錄
  1. 什麼是區間 K 棒?區間 K 棒如何建構?
  2. 區間大小該設多少?
  3. 區間 K 棒與 Renko 有什麼差別?
  4. 區間 K 棒與時間 K 棒相比,回測有什麼不同?
  5. 區間 K 棒與其他非時間 K 棒的回測有哪些陷阱?
  6. 以固定時間 K 棒做的替代測試能說明什麼?
  7. 常見問題
  8. 參考文獻

什麼是區間 K 棒?區間 K 棒如何建構?

區間 K 棒是價格走完固定距離(例如 10 個跳動點)就收盤的 K 棒,而不是等時鐘間隔結束才收盤。圖表計的是波動,不是分鐘:行情快就產生很多根 K 棒,行情靜就產生很少根,區間 K 棒的期貨回測,交易筆數、K 棒數與成交假設也跟著改變。

區間 K 棒的最高價減最低價,等於事先選定的固定大小,價格一到這個大小,K 棒就收盤。下一根 K 棒在下一個 Tick 開盤。因為 K 棒在區間邊緣收盤,收盤價一定在最高價或最低價。可以把它想成汽車里程表,每走 10 公里響一次鈴:在高速公路上每隔幾分鐘響一次,在市區塞車時可能一小時都沒聲音。鈴聲量的是距離,不是時間。區間 K 棒就是價格圖表的里程表。

那斯達克 100 E-mini 期貨(NQ)一個跳動點是 0.25 指數點,每口價值 $5.00,所以 10 個跳動點的區間 K 棒是 2.5 點,每口對應 $50 的波動。交易所可能調整跳動點大小與每點價值,設定區間前請先查交易所的合約頁面;免費的期貨合約與損益計算機會列出主要合約的跳動點大小與每跳動點價值,並把以跳動點表示的區間換算成金額。

區間 K 棒計的是波動,不是時間:同樣 10 個跳動點的區間,在快速的 20 分鐘內產生五根 K 棒,在平靜的 40 分鐘內只產生一根 K 棒計的是波動,不是時間 同樣的 10 跳動點區間(示意) 5 根 1 根 10跳動點 20 分鐘 40 分鐘 行情快,K 棒多;行情靜,K 棒少。 所以不要把 K 棒當分鐘來讀。
同樣 10 個跳動點的區間,在快速的 20 分鐘內產生五根 K 棒,在平靜的 40 分鐘內只產生一根。K 棒計的是波動,不是時間。

這對回測有三點影響。第一,一天的 K 棒數不固定,所以「100 根歷史 K 棒」在每一天代表的時間都不同。第二,交易時段內 K 棒之間沒有跳空,因為每根 K 棒都從前一根的收盤處開盤,除非遇到交易時段中斷或價格跳過。第三,要等到達區間的那一個 Tick 成交,才知道 K 棒已完成,這影響成交執行,在回測陷阱一節說明。

區間大小該設多少?

區間大小要從市場的一般波動出發,取平均日波幅的一個比例,或 ATR 平均真實區間讀數的一個比例,再測試相鄰的大小。只有一個大小有效,是警訊,不是設定值。區間決定同一條規則一天會產生多少根 K 棒、多少個訊號,所以它和其他參數一樣,應該接受同樣的測試。

  1. 量出市場的波動。取過去一年的平均日波幅(最高價減最低價),或 14 日 ATR,以跳動點表示。
  2. 選一個起始比例。區間約為日波幅的 1% 到 2%,在活躍的日子,K 棒數會接近短週期的日內時間 K 棒;5% 以上,一天只有幾根 K 棒。這些比例是起點,不是規則。
  3. 跑相鄰的大小。用同樣的規則與成本,測試選定的區間,以及它上下各至少兩個大小。
  4. 比較各大小扣成本後的平均每筆損益。區間越小,交易越多、每筆的波動越小,手續費與滑價占的比例越大。
  5. 讓區間大小落在平坦區域內。若 10 個跳動點看起來不錯,8 與 12 卻很差,結果就只繫於某一段歷史。Pardo (2008) 把這種相鄰參數測試,視為評估任何最佳化設定的基本步驟。

假設性範例

假設 NQ 的平均日波幅是 300 指數點,也就是 1,200 個跳動點。其 1% 是 12 個跳動點(3 點,每口 $60 的波動)。你用同一條突破規則與 $30 的一買一賣成本,測試 8、12、16、20 與 24 個跳動點的區間。8 個跳動點的測試每年產生 1,400 筆交易,成本前平均每筆損益 $12,成本超過全部獲利。16 個跳動點的測試每年產生 500 筆交易,成本前 $45、成本後 $15。20 與 24 個跳動點的測試,成本後落在約 $18 與 $16。16 到 24 個跳動點的平坦區域,才是該採用的範圍;8 個跳動點是成本問題,不是策略。

區間越大,K 棒越少:以一個 NQ 交易時段為例(示意),5 個跳動點的區間 K 棒約 240 根,10 個跳動點約 120 根,20 個跳動點約 60 根,所以同一條規則發出訊號的機會變少 區間越大,K 棒越少 一個 NQ 交易時段(示意) 5跳動點 ~240根 10跳動點 ~120根 20跳動點 ~60根 區間加倍,K 棒減半。 所以每個大小都要當參數測試。
一個交易時段,三種區間大小。區間加倍,K 棒大約減半,同一條規則能發出的訊號也跟著減少。

區間大小與規則參數會互相影響。在 5 個跳動點的 K 棒上,20 根 K 棒的回看只看到幾分鐘的價格;同樣的回看放在 20 個跳動點的 K 棒上,會看到大半個早上。把區間大小與回看長度當成一組設定,一起測試,並在看結果之前先寫好通過門檻;AlphaPrime(Valynox)的策略檢驗,就是為了讓這些條件在候選策略之間保持不變。

區間 K 棒與 Renko 有什麼差別?

區間 K 棒記錄每段走勢真實的最高價、最低價與收盤價,而 Renko 磚是固定大小的階梯,只有價格走完整塊磚才畫出,所以 Renko 的結果在回測中較難重現。兩種 K 棒都不看時間。差別在於各自保留了多少價格路徑。

Renko 磚是固定高度的方塊,當價格從上一塊磚往上或往下走完一整塊磚的大小,才畫出新的一塊,沒有影線,也不記錄磚內的 Tick。反轉磚通常要等價格對上一塊磚反向走兩個磚的大小才會畫出,所以小幅回檔從不出現。價格一次跳過數個磚的大小時,數塊磚會一次畫出,而且許多繪圖程式要到下一塊磚形成,才會確定目前這塊磚,所以磚在形成中與形成後看起來可能不同。區間 K 棒則保留影線:價格可以先上漲 6 個跳動點、再下跌 9 個跳動點、再從低點上漲 10 個跳動點,K 棒就把這條路徑記成一個最高價、一個最低價與一個收盤價。

項目區間 K 棒Renko 磚
收盤時機最高價減最低價達到區間大小價格從上一塊磚再走完整塊磚
保留最高價與最低價是,區間內有影線否,只有磚的開盤與收盤
能否由 Tick 資料重現可以,同一組 Tick 序列產生同一組 K 棒序列取決於磚的規則與使用的價格來源(收盤價或最高價/最低價)
反轉規則無,下一根 K 棒直接開盤通常是逆勢走兩個磚的大小
價格跳空只在交易時段中斷或價格跳過時跳空時一次畫出數塊磚
Renko 只保留階梯:同一條價格路徑,畫成區間 K 棒會保留影線與回檔,Renko 磚則呈現等大的階梯、沒有影線,並把回檔藏起來 Renko 只留階梯 同一條價格路徑,兩種 K 棒 區間 K 棒 Renko 保留影線 沒有影線 Renko 藏起會觸發停損的回檔。 所以別輕信平滑的 Renko 回測。
同一條價格路徑,分別畫成區間 K 棒與 Renko 磚。區間 K 棒保留影線與真實收盤價;Renko 只保留階梯。

這對回測有兩方面的影響。讀取影線的規則,例如多空 K 線型態的回測檢驗,在區間 K 棒上可讀的資訊較少,因為收盤價一定在最高價或最低價;在 Renko 磚上則完全沒有可讀的。另外,看起來平滑的 Renko 回測,平滑的部分原因可能是磚把回檔藏了起來,而這些回檔在實單交易中本來會觸發停損。

區間 K 棒與時間 K 棒相比,回測有什麼不同?

時間 K 棒的每一根都是固定間隔;區間 K 棒則是行情活躍的一小時變成很多根,平靜的一小時變成很少根,所以指標回看長度、一天中的時間濾網與交易筆數的意義都不同,必須重新解讀。把規則從 5 分鐘 K 棒原封不動搬到區間 K 棒,就是一條全新、未經測試的規則。

你要看的時間 K 棒(例如 5 分鐘)區間 K 棒(例如 10 個跳動點)
每日 K 棒數由交易時段長度決定隨波動率變動,新聞日常比平靜日多出數倍
20 根回看永遠是 100 分鐘開盤時是幾分鐘,午間是幾小時
一天中的時間濾網K 棒開盤時間事先已知只知道 K 棒的完成時間;一根 K 棒可能在濾網時間線之前開始,在之後結束
每日交易筆數大致穩定集中在波動大的時段,而滑價也在此時最高
每日統計(時段計數、廣度、各時間的成交量)與 K 棒一一對應不對應;一個每日數值橫跨數量不固定的 K 棒
同樣 20 根 K 棒,涵蓋的時間不同:20 根回看在 5 分鐘 K 棒上涵蓋 100 分鐘,在開盤的區間 K 棒上約 25 分鐘,在午間的區間 K 棒上約三小時 同樣 20 根 K 棒,時間不同 20 根回看涵蓋的時間 5 分鐘 100 分鐘 區間,開盤 25 分鐘 區間,午間 3 小時 區間回看量的是價格,不是時間。 所以每個指標設定都要重測。
同樣 20 根的回看,在時間 K 棒上涵蓋 100 分鐘,在區間 K 棒上則從 25 分鐘到三小時不等。

回看長度這一列,是多數交易人最容易漏看的。技術分析工具與指標指南中的移動平均或震盪指標,都以 N 根 K 棒定義,所以在區間 K 棒上,指標會自己配合波動率調整:市場動起來時反應快,市場休息時變慢。這是交易人喜歡區間 K 棒的原因,也是在時間 K 棒上調好的指標設定無法直接沿用的原因。最後一列對由日資料建立的濾網很重要。指數期貨的市場廣度指標每個交易時段根據整個市場計算一次,所以使用它們的區間 K 棒規則,必須在今天的每一根 K 棒上讀取前一個交易時段的數值,而不是一個尚不存在的數值。

區間 K 棒與其他非時間 K 棒的回測有哪些陷阱?

四種錯誤,會讓區間 K 棒策略看起來比實際能交易的結果更好:用分鐘資料而非 Tick 資料來建構 K 棒、假設剛好在區間界線成交、處理交易時段中斷與跳空不當,以及在 K 棒完成之前就讀取它。每一種都會在回測中多加一點,在實單交易中又吐回去。

  1. 用分鐘資料建構的 K 棒。區間 K 棒需要每一個 Tick,才知道何時到達區間。以 1 分鐘 K 棒建構時,圖表只知道區間是在某一分鐘內的某處到達,通常把收盤價指定為該分鐘的收盤價,而這個價格可能已超出區間數個跳動點。K 棒序列、訊號時間與成交價,都和以 Tick 建構的序列不同,差異最大的就是大多數交易發生的快速時段。
  2. 在區間界線成交。區間 K 棒在到達界線的那一個 Tick 收盤,所以在區間 K 棒「收盤時」進場的策略,拿到的是最後一筆成交的價格。行情快時,下一個 Tick 往往已經走得更遠。請以下一個 Tick 成交、計入滑價,並以滑價加倍測試,看看結果有多少取決於便宜的成交。
  3. 交易時段中斷與跳空。當交易時段結束時一根 K 棒只建了一半,或市場重新開盤時離上次收盤很遠,圖表就得讓一根 K 棒在區間之外收盤,或帶著跳空開出一根新 K 棒。先決定你的圖表如何處理,在回測與實際圖表套用同一條規則,並確保訊號不會跨越一個本來無法交易的中斷而觸發。
  4. 未完成 K 棒造成的前視。前視偏誤是在回測中使用交易當時尚無法取得的資訊。區間 K 棒的最高價、最低價與收盤價,要等 K 棒完成才確定,所以任何讀取目前這根 K 棒、又在其中成交的規則,都是在讀取未來。請以已完成的 K 棒做決定,在下一個 Tick 或下一根 K 棒成交。
實際成交落在界線之外:在 10 個跳動點的區間 K 棒上,Tick 資料在 10 個跳動點處收盤,實盤委託在 11 個跳動點或更遠處成交,用 1 分鐘資料建構的 K 棒則晚到 13 個跳動點才收盤 實際成交落在界線外 虛線 = 10 個跳動點的界線 Tick 收盤 10 跳動點 實盤成交 11 跳以上 分鐘收盤 13 跳 分鐘資料與界線成交讓結果偏好。 Tick 資料建構,下一 Tick 成交。
同一段走勢,分別以 Tick 資料與 1 分鐘資料建構。用分鐘資料建構的 K 棒收盤得較晚,而在區間界線成交的價格,比實盤委託能拿到的任何成交價都好。

第二與第四個陷阱是執行規則,適用於每一種 K 棒。AlphaPrime 的回測對每筆交易計入手續費與滑價,並在訊號後的下一根 K 棒成交,所以排在最前面的候選策略,已經帶著區間 K 棒在界線成交時會被掩蓋的成本與一根 K 棒的延遲。第一個陷阱是資料問題:區間 K 棒的回測,品質取決於底下的 Tick 序列,所以相信結果之前,先查清楚你的區間 K 棒從哪裡來。

以固定時間 K 棒做的替代測試能說明什麼?

區間 K 棒序列取決於背後的 Tick 資料,所以本文先示範如何解讀固定時間 K 棒上的一次測試,再說明把同一條規則搬到區間 K 棒時該比較什麼。下面這次測試是替代測試:在 NQ 日 K 棒上測試 N 日規則,不是區間 K 棒策略。N 日規則是把今天的價格與過去 N 天的最高價和最低價比較,和唐奇安通道突破的規則與參數設定屬同一類,而且它是唯一的進場與出場,沒有停損、沒有停利、沒有濾網。

來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。

項目結果
淨利(已平倉)$145,750
最大回撤$129,920
交易筆數78
勝率75.64%
獲利因子1.67
平均每筆$1,868.59
在場時間90.69%

這次測試使用 NQ 日 K 棒,2019-01-02 至 2025-06-30,多空皆做,各一口,每筆交易手續費 $20、滑價 $10。它是搜尋試過的 1,024 個候選策略中保留下來的那一個,依報酬相對回撤挑選。事後挑出保留的候選策略,會讓它看起來偏好:1,024 次嘗試中的最佳者,帶有一次全新單一測試不會有的選擇加成,這正是 Bailey、Borwein、López de Prado 與 Zhu (2014) 所描述的效應。這些數字只說明這條規則在這段歷史上的表現,不說明這條規則或這個指標能賺多少,也不是讀者該預期的結果。

替代測試的摘要。與區間 K 棒測試比較之前,先對照期間來看交易筆數、對照淨損益來看回撤,並看在場時間。
替代測試的摘要。與區間 K 棒測試比較之前,先對照期間來看交易筆數、對照淨損益來看回撤,並看在場時間。 NQ · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

有三個讀數可以帶到區間 K 棒。第一,約六年半 78 筆交易,大約每月一筆,在場時間 90.69%,代表這條規則幾乎一直持有部位,只是不斷換邊。同一條規則在區間 K 棒上會發出多出許多倍的訊號,所以預期交易筆數大增、平均每筆損益下降。第二,平均每筆損益 $1,868.59,約是 $30 一買一賣成本的 60 倍;在 10 個跳動點的區間 K 棒上,平均每筆損益縮到只剩幾個跳動點,同樣的 $30 就占了很大一部分,所以第二節的區間大小測試,其實是成本測試。第三,最大回撤 $129,920 接近淨損益 $145,750。一口合約下,回撤幾乎和獲利一樣大,這個數字決定交易人能不能撐過去,也是換到區間 K 棒後第一個該重查的數字,因為交易集中在波動大的時段,可能讓回撤更深、更快。

保留候選策略的權益曲線與回撤。看最深的那一次回撤持續了多久,以及樣本外區段是否維持前段的斜率。
保留候選策略的權益曲線與回撤。看最深的那一次回撤持續了多久,以及樣本外區段是否維持前段的斜率。 NQ · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

下一步是你可以自己跑的測試:取一條你已在時間 K 棒上信任的規則,用 Tick 資料建構三種區間大小的 K 棒(依市場的 ATR 選定),以下一根 K 棒成交與你的實際成本執行規則,並為每種大小記下交易筆數、扣成本後的平均每筆損益與最大回撤。如果最小的大小扣成本後的平均每筆損益低於兩個一買一賣成本,先放棄這個大小,再看其他任何東西。

常見問題

什麼是區間 K 棒?

區間 K 棒是在 K 棒的最高價到最低價的距離達到固定大小(例如 10 個跳動點)時收盤的 K 棒,而不是等時鐘間隔結束。活躍的市場產生很多根區間 K 棒,平靜的市場只產生很少根。區間 K 棒的收盤價一定在最高價或最低價,因為 K 棒在完成區間的那一個 Tick 結束。

區間 K 棒的區間大小該設多少?

從市場本身的波動出發:取平均日波幅的一個比例,或 ATR 的倍數,換算成跳動點。再用同一條規則與相同成本,在兩側各測試兩、三個大小。選擇落在相鄰大小扣成本後結果相近的區域內的大小;若扣成本後平均每筆損益低於約兩個一買一賣成本,就避開最小的那幾個大小。

區間 K 棒與 Renko 有什麼差別?

兩者都不看時間,但區間 K 棒保留每段走勢真實的最高價、最低價與收盤價,並有影線;Renko 磚則是固定高度、沒有影線的階梯,只有價格走完一整塊磚才畫出,通常需要兩塊磚的距離才反轉。區間 K 棒可以用同樣的 Tick 資料精確重建;Renko 磚取決於磚的規則與價格來源,價格跳空時還可能一次出現數塊磚。

如何回測區間 K 棒策略?

用 Tick 資料而非分鐘 K 棒建構區間 K 棒,這樣 K 棒才會在正確的 Tick 收盤。以已完成的 K 棒做決定,在下一個 Tick 或下一根 K 棒成交,並計入手續費與滑價。回測與實盤圖表用同一種方式處理交易時段中斷與跳空。然後把區間大小當作參數測試,帶入相鄰的大小,比較各大小扣成本後的平均每筆損益與最大回撤。

時間 K 棒的指標設定能用在區間 K 棒上嗎?

不重新測試就不行。20 根 K 棒的指標回看,在 5 分鐘 K 棒上是 100 分鐘,在區間 K 棒上則是會變動的時間量:行情快時短,行情靜時長。一天中的時間濾網也會改變意義,因為區間 K 棒的時間是它的完成時間。把搬到區間 K 棒的規則當作新規則,從頭測試。

參考文獻

  • CME Group. E-mini Nasdaq-100 Futures contract specifications (contract size $20 × index, minimum tick 0.25 index points = $5.00). cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html
  • Pardo, R. (2008). The Evaluation and Optimization of Trading Strategies (2nd ed.). John Wiley & Sons.
  • 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.