平均K棒(Heikin Ashi):計算方式與回測方法
平均K棒的收盤價是(開盤價 + 最高價 + 最低價 + 收盤價)÷ 4,開盤價是前一根平均K棒開盤與收盤的中點,所以它用真實價格取平均,讓趨勢看起來更平滑。只要訊號來自平均K棒、但所有成交、停損與停利都用真實價格,就能回測以它為基礎的規則。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
什麼是平均K棒(Heikin Ashi)?
平均K棒是一種平滑過的K棒:收盤價是該 K 棒開盤、最高、最低、收盤的平均,開盤價則是前一根平均K棒開盤與收盤的中點。它能清楚呈現趨勢,但價格是算出來的。可回測的策略,訊號取自平均K棒,成交則用真實價格。
這個名稱源自日文,大意是「平均足」。「Heiken Ashi」是同一種K棒常見的另一種拼法。一般K線由四個真實價格畫成:第一筆成交(開盤)、最高與最低成交價(最高價與最低價)以及最後一筆成交(收盤)。Heikin Ashi 改的是 K 線本身,其他技術指標則是疊在一般價格上。
可以想像汽車的速度表。一種顯示每一刻的精確車速,所以指針會跳動;另一種顯示最近幾秒的平均車速,所以指針移動平順,但反應較慢。一般K線就是第一種速度表,平均K棒則是第二種。
平均K棒如何計算?
每一根平均K棒都由當前的真實 K 棒與前一根平均K棒組成,所以每根K棒都帶有先前的部分歷史。四個值如下:
| 平均K棒的值 | 計算方式 | 代表意義 |
|---|---|---|
| 收盤 | 真實 K 棒開盤、最高、最低、收盤的平均 | 當前 K 棒的「中間」價格 |
| 開盤 | 前一根平均K棒開盤與前一根平均K棒收盤的中點 | 延續前一根K棒 |
| 最高 | 真實最高價、平均K棒開盤、平均K棒收盤三者中最高者 | 不會低於真實最高價 |
| 最低 | 真實最低價、平均K棒開盤、平均K棒收盤三者中最低者 | 不會高於真實最低價 |
只有收盤價有簡短的公式:HA 收盤 = (開盤 + 最高 + 最低 + 收盤) ÷ 4。「HA 收盤」就是平均K棒的收盤價;開盤、最高、最低、收盤是同一根 K 棒的四個真實價格。
第一根K棒沒有前一根平均K棒。多數平台會把它的開盤價設為真實開盤與收盤的中點。這個起始值的權重每多一根 K 棒就減半,十根 K 棒後,它在結果中的占比已不到千分之一。
假設性範例
前一根平均K棒的開盤為 98、收盤為 100。當前真實 K 棒以 100 開盤,最高 104、最低 99,收盤 103。
HA 收盤 = (100 + 104 + 99 + 103) ÷ 4 = 101.5。HA 開盤 = (98 + 100) ÷ 2 = 99。HA 最高 = 104、99、101.5 三者中最高者 = 104。HA 最低 = 99、99、101.5 三者中最低者 = 99。
這根平均K棒是綠色,實體從 99 到 101.5。真實K線也是綠色,但實體從 100 到 103。真實收盤比平均K棒收盤高 1.5 點。
平均K棒與一般K線:圖上有什麼不同?
平均K棒圖的顏色轉換較少,同色連續的段落較長,因為每根K棒都有一部分是先前K棒的平均。下表說明在兩種圖上,K棒各部分的意義。
| K棒的部分 | 一般K線 | 平均K棒 |
|---|---|---|
| 開盤 | 該 K 棒第一筆真實成交 | 由前一根K棒計算出的中點 |
| 收盤 | 該 K 棒最後一筆真實成交 | 四個真實價格的平均 |
| 顏色 | 真實收盤與真實開盤比較 | 平均K棒收盤與平均K棒開盤比較 |
| K 棒之間的跳空 | 看得到 | 大多被隱藏,因為開盤價忽略真實開盤 |
| 影線 | 真實最高價與最低價 | 為了涵蓋計算出的開盤價,可能延伸超過真實最高或最低價 |
| 趨勢中的顏色轉換 | 頻繁 | 較少,連續段落較長 |
吞噬或十字星這類經典K線型態,依賴真實的開盤與收盤,無法直接套用在平均K棒上。若要測試型態規則,請在一般K線上進行,做法見多空K線型態的回測。
為什麼平均K棒的價格會讓回測的成交與停損失真?
若回測以平均K棒的價格成交或檢查停損,就是在以市場可能從未出現過的價格交易,而且誤差通常對策略有利。在收盤接近最高價的上漲 K 棒中,平均K棒收盤會低於真實收盤。因此,「以平均K棒收盤價成交」的多單進場,看起來比訊號出現後你仍能立即買到的任何價格都便宜。下跌行情中,空單則出現相反的情形。由於趨勢規則是在上漲時買、下跌時賣,這個誤差並非隨機,而是替幾乎每一筆交易加上一份小小的贈禮。
停損與停利還有第二個問題。平均K棒的最低價絕不會高於真實最低價,最高價絕不會低於真實最高價。若回測以平均K棒的最低價檢查停損,可能記錄成被停損出場,但真實市場根本沒到過停損價。以平均K棒最高價檢查的停利,也可能被算成成交,但真實市場並無任何成交到達該價位。
假設性範例
前述範例中的K棒轉為綠色,規則買進。以平均K棒收盤價成交的回測會記錄進場價為 101.5。較貼近實際的回測則在 K 棒收盤時決定,並以下一根真實開盤價買進,假設為 103.2。這一筆交易的差距是 1.7 點。若每點價值 $50,在尚未計入任何手續費或滑價之前,用平均價格的回測就高估了這筆交易 $85。
有些圖表平台可以直接在平均K棒圖上執行策略。視設定而定,成交可能會使用平均後的價格。在相信結果之前,請先確認你的平台是以哪種價格成交。
有哪些簡單的平均K棒規則可以回測?
多數平均K棒策略都是顏色轉換規則,每一條都夠明確,不需要任何主觀判斷就能回測。以下是多方常見的四種版本,空方則是鏡像。
| 規則 | 進場 | 出場 | 改變了什麼 |
|---|---|---|---|
| 1. 顏色轉換 | 紅K之後的第一根綠K | 第一根紅K | 最早進場,交易最多 |
| 2. 確認後轉換 | 連續第二根綠K | 連續第二根紅K | 交易較少,進出場較晚 |
| 3. 強勢K棒 | 沒有下影線的綠K(平均K棒最低價等於平均K棒開盤) | 第一根紅K | 等待沒有下影線的K棒 |
| 4. 趨勢濾網 | 規則 1,但只在真實收盤高於 50 根 K 棒移動平均時進場 | 第一根紅K | 略過與較大趨勢相反的訊號 |
了解顏色實際衡量什麼很有幫助。平均K棒的開盤價,一半權重放在前一個開盤,一半放在前一個收盤,這使它成為過去平均K棒收盤的指數移動平均,大約是三根 K 棒的長度。因此,綠K的意思是「這根 K 棒的平均價高於先前 K 棒的極短期平均」。平均K棒的顏色轉換,其實是短期移動平均交叉的另一種形式,這也告訴你該拿哪種基準來比較。
如何一步步回測平均K棒策略?
在測試中以真實 K 棒建立平均K棒,並以簡單的基準來評斷規則。好的結果能在貼近實際的成交與成本下維持,不好的則只在平滑的圖上看起來漂亮。
- 載入真實 K 棒資料。以真實的開盤、最高、最低、收盤作為價格序列,由此計算平均K棒。不要把平均K棒當成價格載入。
- 在 K 棒收盤時決定。只使用已完成的平均K棒,因為當前K棒在該 K 棒收盤前會不斷變動。
- 在下一根 K 棒成交。以下一根真實開盤價進場與出場(下一根 K 棒執行)。
- 每筆交易都加入成本。每一買一賣(來回)都要計入手續費與滑價。滑價是回測假設的價格與你實際成交價之間的差距。請見回測中的交易成本。
- 以真實的最高與最低價檢查停損與停利。部位大小依進場價與停損價之間的真實距離決定。
- 跑兩個基準。在一般K線上測試相同的進出場時點(綠色代表真實收盤高於真實開盤)。再測試以真實收盤計算的短期移動平均交叉。
- 計算交易次數,並比較平均每筆損益與成本。顏色規則在盤整行情中常常來回翻轉。平均每筆損益應是一買一賣(來回)成本的數倍。
- 用規則沒看過的資料測試。讓變化版本的數量保持少量,並在樣本外檢驗,例如使用推進分析與 AlphaPrime(Valynox)的策略檢驗。
| 檢查項目 | 值得進一步研究 | 薄弱的規則 |
|---|---|---|
| 把成交從平均K棒價格改到下一根真實開盤 | 結果略微縮水 | 結果消失 |
| 扣除成本後與移動平均基準比較 | 明顯較好 | 差不多或更差 |
| 不同 K 棒週期,例如 15、30 與 60 分鐘 | 表現相近 | 只在其中一個有效 |
| 平均每筆損益與一買一賣(來回)成本比較 | 大上數倍 | 大致相等 |
平均K棒本身能帶來優勢嗎?
不能。平均K棒改變的是價格的畫法,而不是價格做了什麼,所以任何優勢都必須來自規則,並且要在真實成交的測試中呈現出來。平滑一定要付出時間的代價。以速度表來比喻,平順的指針是在你已經減速之後才顯示你煞車了。平均K棒圖在頭部之後常會多維持一兩根綠K,而這些 K 棒的代價,每一次出場都得付。
平滑的圖也會誤導眼睛。長段的綠色與紅色讓過去的趨勢看起來很容易抓到,而盤整期間許多小額虧損的來回翻轉,在捲動圖表時很容易被忽略。只有計入成本的完整測試才會把這些翻轉算進去。那些顏色翻轉在 AlphaPrime 的績效報表裡都是一筆一筆的交易,連同它們造成的權益曲線與回撤一起列出。
最後一個限制是你嘗試了多少個版本。如果你測試了數十種顏色規則、濾網與 K 棒週期的變化,其中最好的那個,一部分看起來好是靠運氣。針對技術交易規則的研究顯示,在許多規則中表現最好的那一個,必須對照所嘗試的規則數量來評斷(Sullivan、Timmermann 與 White,1999)。回測的過度最佳化會隨著變化版本的數量增加而加劇(Bailey、Borwein、López de Prado 與 Zhu,2014)。
如果你使用 AlphaPrime,這代表:你可以透過策略生成,把平均K棒的想法寫成明確的進場與出場規則。AlphaPrime 的回測會在真實的歷史 K 棒資料上評估每個候選策略,計入手續費、滑價與下一根 K 棒成交,這正是本文對任何建立在平滑價格上的規則所建議的設定。
常見問題
Heiken Ashi 和 Heikin Ashi 是一樣的嗎?
是的。「Heiken Ashi」是 Heikin Ashi 常見的另一種拼法,兩個名稱指的是同一種平均K棒。各平台使用相同的基本計算:平均後的收盤、取自前一根K棒的開盤,以及涵蓋真實極值的最高與最低價;只有第一根K棒的起始值可能不同。
交易時,平均K棒比一般K線更好嗎?
兩種圖型沒有通用的優劣。平均K棒讓趨勢更容易辨識,並減少顏色雜訊,但反應較晚,也隱藏了真實的開盤、收盤與跳空。一般K線顯示實際成交的內容,而成交與停損正是依賴這些內容。
我可以在平均K棒圖上回測策略嗎?
可以,前提是回測只把平均K棒用於訊號,所有委託都用真實價格。如果成交、停損或停利使用平均K棒的值,結果通常會比你實際能交易的任何結果都漂亮。請在 K 棒收盤時決定,並在下一根真實開盤價成交,且計入成本。
平均K棒會重繪嗎?
已完成的平均K棒不會改變,但當前這一根在其 K 棒收盤前會一直變動,所以訊號只應使用已完成的K棒。由於每個開盤價都取決於前一根K棒,當圖表從不同日期開始時,最初幾根K棒可能略有差異。這個差異每經過一根 K 棒就減半,很快就小到不重要。
參考文獻
- Sullivan, R., Timmermann, A., & White, H. (1999). Data-Snooping, Technical Trading Rule Performance, and the Bootstrap. The Journal of Finance, 54(5), 1647–1691.
- 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.

