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

斐波那契回檔:如何繪製、使用與回測

斐波那契回檔位畫在價格波段的 38.2%、50% 與 61.8% 處。想知道它們是否有幫助,要固定波段規則、寫出明確的進場與出場、納入成本,並用樣本外資料與鄰近的位置做比較測試。

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

目錄
  1. 斐波那契回檔該怎麼用,可以回測嗎?
  2. 如何繪製斐波那契回檔位?
  3. 該用哪一個波段高點與低點?
  4. 如何把斐波那契回檔策略轉成可測試的規則?
  5. 斐波那契位置相較一般拉回,有增加什麼嗎?
  6. 如何用樣本外資料測試並檢查鄰近設定?
  7. 常見問題
  8. 參考資料

斐波那契回檔該怎麼用,可以回測嗎?

斐波那契回檔會在價格波段的 38.2%、50% 與 61.8% 處畫出水平線,從波段終點往回量測。交易人把這些位置當作可能的拉回進場點。這個想法可以測試。用固定規則定義波段,寫出明確的進場與出場規則,納入成本,再檢查樣本外資料與鄰近的位置設定。

畫線只要幾秒鐘。測試時大部分的工作,是把一個手畫、主觀的工具,轉成電腦每次都用同樣方式執行的規則。

如何繪製斐波那契回檔位?

你在一個波段低點與一個波段高點之間畫出這些位置,百分比顯示價格已回拉到該段走勢的多深。斐波那契回檔是一組水平價位,放在波段低點與波段高點之間距離的固定百分比處。波段高點是價格停止上漲並轉跌的峰值。波段低點則相反:價格停止下跌的低點。這些水平是手畫的,在畫法定下來之前,比多數技術指標更難檢驗。

  1. 找出這段走勢。在上升趨勢中,選出走勢起點的波段低點與終點的波段高點。
  2. 從起點畫到終點。多數看盤工具是先點波段低點,再點波段高點。在下跌趨勢中,則先點波段高點,再點波段低點。
  3. 讀取價位。工具會在走勢的 23.6%、38.2%、50%、61.8%,通常還有 78.6% 處畫線。在上升趨勢中,它們位於高點下方。在下跌趨勢中,它們位於低點上方。

上升趨勢中各位置的價格為:

價位 = H − r × (H − L)

其中 H 是波段高點,L 是波段低點,r 是以小數表示的比率(0.382、0.5 或 0.618)。在下跌趨勢中,則改為把同樣的距離加到波段低點上。

這些比率來自斐波那契數列(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …)。每個數字是前兩個數字的和。把一個數字除以下一個數字,結果趨近 0.618。除以後面第二個數字,結果趨近 0.382。50% 並不是斐波那契比率。交易人把它納入,是因為回拉一半是常見的參考點。

假設範例

某期貨合約從波段低點 2,000 上漲到波段高點 2,100。這段走勢是 100 點。38.2% 位置是 2,100 − 38.2 = 2,061.8。50% 位置是 2,050。61.8% 位置是 2,038.2。78.6% 位置是 2,021.4。習慣買拉回的交易人會關注 2,038.2 到 2,050 之間的區域。

在假設的100點波段上繪製的費波那契回檔,從波段低點到波段高點:價格回檔至陰影標示的50%至61.8%區間,約高於低點38至50點,然後再度上漲 50–61.8% 回檔區 100點波段(假設) 波段高點 50–61.8% +38–50 點 波段低點 每個價位都是漲跌幅的一部分。 因此:先定好波段規則。
從上方假設範例的波段低點畫到波段高點的回檔位。陰影區帶是許多交易人關注的 50% 到 61.8% 區域。

該用哪一個波段高點與低點?

沒有唯一正確的波段,所以回測需要一條固定規則,每次都用同樣方式選出波段。想像量測房間高度,但每個人自己決定地板在哪裡,每個人會得到不同的答案。兩位交易人看同一張圖,常常以不同的波段為錨點。事後要找出「有效」的波段很容易,這會讓手畫的範例看起來比方法實際的表現更好。

以下是用規則定義波段的常見方式:

方法規則需選擇的設定何時才確定波段
轉折點(Pivot)某根 K 棒的高點高於左右各 N 根 K 棒N,例如 3 到 7高點之後 N 根 K 棒
百分比之字轉折價格從極值反轉 X% 時,波段結束X達到 X% 反轉時
波動率之字轉折價格反轉達 ATR(平均真實波幅)的 k 倍時,波段結束k 與 ATR 長度達到反轉時
回看視窗最近 M 根 K 棒的最高價與最低價M每根 K 棒都有,但波段會隨視窗移動而改變

加入最小波段幅度,例如一段至少為 ATR 的 3 倍。沒有它,規則會在很小的走勢上畫出價位,而這些價位之間的距離小於你的交易成本。

最後一欄最重要。前視偏誤(look-ahead bias)是在回測中使用了交易當下尚未可得的資訊的錯誤。這就像你已經知道賽馬的冠軍之後才下注。N = 5 的轉折高點,要到五根 K 棒之後才成為轉折點。如果回測從高點出現的那一刻就畫出價位,就是用了未來的資訊。

採用 5 根 K 棒轉折規則時,第 10 根 K 棒的波段高點要到第 15 根 K 棒才確認:第 10 到 15 根為等待期,回檔價位只能從第 15 根起使用 等待確認 5 根 K 棒轉折,高點在第 10 根 第 10 根 第 15 根 等待 使用價位 高點晚 5 根 K 棒才確認。 因此:從第 15 根起畫價位。
採用 5 根 K 棒的轉折點規則時,第 10 根 K 棒的波段高點要到第 15 根才確認。公平的回測可以從第 15 根起使用這些價位,不能更早。

如何把斐波那契回檔策略轉成可測試的規則?

可測試的策略要明確說明何時出現設定、什麼觸發進場、停損與停利在哪裡,以及設定何時失效。「在 61.8% 附近買進」不是規則,因為「附近」可以代表任何意思。以下是一組完整的做多規則:

  1. 設定:先有已確認的波段低點 L,再有已確認的波段高點 H,且這一段至少為 ATR(20) 的 3 倍。
  2. 區域:價格下跌進入 50% 與 61.8% 位置之間的區帶。
  3. 觸發:某根 K 棒收盤回到 50% 位置之上。在下一根 K 棒的開盤進場。
  4. 停損:設在 78.6% 位置下方,或 L 下方。
  5. 停利:重新測試 H,或風險的固定倍數。
  6. 失效:若 M 根 K 棒內沒有進場、價格收盤跌破 L,或形成新的波段,就取消這個設定。
  7. 成本:每一次一買一賣(來回)都要計入手續費與滑價。

在 61.8% 位置掛限價單是另一種觸發方式。回測若在價格一碰到就讓所有限價單成交,會過於樂觀。在實單交易中,有些單不會成交。

停損的選擇對交易的影響,比多數交易人預期的更大。

假設範例

沿用 2,000 到 2,100 的波段,收盤回到 2,050 之上後,進場在 2,052 成交。若停損設在波段低點下方的 1,998,風險是 54 點,到 2,100 的報酬是 48 點。在計入成本前,這筆交易的勝率必須超過約 53%(54 ÷ 102)才能損益兩平。若停損設在 78.6% 位置下方的 2,019,同樣 48 點的報酬對應的風險是 33 點。損益兩平的勝率約為 41%(33 ÷ 81),但停損被觸發的次數會更多。

在進行任何搜尋之前,先用勝率與期望值計算器檢查這類規則組合。它能快速顯示某組停損與停利,在合理的勝率下是否可行。

在 AlphaPrime(Valynox)中,策略生成是把研究想法變成可測試交易規則的地方,包含參數範圍、進場與出場條件以及搜尋限制。AlphaPrime 的回測會連同費用、滑價、下一根 K 棒成交與交易時段,評估每一個候選策略。以波段為基礎的規則,也得到與其他規則相同的對待。

斐波那契位置相較一般拉回,有增加什麼嗎?

只有比較測試才能說明,因為使用斐波那契位置的拉回規則,有效的原因可能與這些比率毫無關係。這些位置被廣泛關注,所以有些交易人預期委託單會聚集在附近。但被廣泛關注不代表有用,回測就是檢驗的方法。

有兩個事實,讓這些位置在圖上看起來比實際更強:

  • 這些位置涵蓋了整個範圍。常見的位置是 23.6%、38.2%、50%、61.8% 與 78.6%。其中相鄰兩個位置之間最大的間距是波段的 16.8%。因此任何在這個範圍內停下的拉回,距離某個位置都在波段的 8.4% 以內。如果在每個位置周圍容許一個小區域,幾乎每次拉回看起來都「尊重」了某個位置。
  • 記憶會挑出贏家。價格在 61.8% 轉向的圖令人印象深刻。直接穿過去的圖則被遺忘。

執行這些比較測試:

  1. 移位區域。其他規則都不變,但把區域移到 40–50% 或 65–75%。
  2. 單純拉回。把這些位置換成「價格從波段高點至少拉回 ATR 的 1.5 倍」。
  3. 相同出場。每個版本的停損、停利與失效條件都保持一致,這樣只有進場不同。

Sullivan、Timmermann 與 White(1999)說明了這為什麼重要。當許多技術交易規則在同一份資料上測試時,表現最好的那一個,光靠運氣就可能看起來很好。公平的判斷必須考慮試過多少條規則(White, 2000)。

如何用樣本外資料測試並檢查鄰近設定?

斐波那契規則必須在它沒有被用來建立的資料上仍然成立,而且設定稍微移動後仍然有效,才值得信任。樣本外資料是沒有用來設計或調整規則的價格歷史。一種簡單的切分方式,是用前 70% 的歷史建立規則,並在規則定案之前不碰最後 30%。推進分析則更進一步。它在一個視窗上調整,在下一個視窗上測試,並在整段歷史上重複。

接著測試你所選設定的鄰近值。只有在剛好 61.8% 才有效的策略,就像只在某個確切角度才能打開鎖的鑰匙。它更可能是運氣好的擬合,而不是真實的效果。例如試試這些範圍:

  • 區域下緣:45%、50%、55%。
  • 區域上緣:58%、61.8%、65%、68%。
  • 轉折點強度 N:3、4、5、6、7 根 K 棒。
  • 最小波段幅度:ATR 的 2、3、4 倍。

你要的是高原:一大片結果變化緩慢的區域。若只在某一個設定上出現單一尖銳的高峰,表示搜尋找到的是雜訊。Bailey、Borwein、López de Prado 與 Zhu(2014)解釋了為什麼從許多次嘗試中得到的最佳結果,在新資料上測試時往往被高估。鄰近回拉設定的結果可以放在 AlphaPrime 的策略資料庫裡一起搜尋和排序,看出某個設定是落在高原上,還是只有一個孤立的尖峰。

兩種示意結果型態,區間水準從 55% 到 68%:左側各水準結果相近,是穩健的高原;右側只有 61.8% 有效,是尖峰,顯示可能只是運氣好的擬合 要的是高原,不是尖峰 各區間水準的結果(示意) 高原 尖峰 55% 61.8% 68% 55% 61.8% 68% 單一尖峰多半是運氣。 所以:測試鄰近設定。
左:位置移動時結果變化緩慢,這是穩健的型態。右:只有 61.8% 有效,這指向運氣好的擬合。

在做決定之前,先看完整的全貌:

檢查項目正面訊號弱的訊號
樣本外結果與樣本內方向相同,但略小崩潰或轉為負值
鄰近設定整個範圍內結果相近只有一個確切設定有效
相較單純拉回出場相同時明顯更好差不多
交易筆數每個測試視窗有數十筆交易只有寥寥幾筆
成本平均每筆損益是一買一賣(來回)成本的數倍滑價加倍時優勢消失

AlphaPrime 的策略檢驗包含推進分析與自訂門檻。你可以在看到任何結果之前,先設定樣本外的標準。

如果你使用 AlphaPrime,這代表:把斐波那契想法當作任何其他規則組合來處理。固定波段定義,設定參數範圍與成本,並根據推進分析結果與鄰近設定來評判候選策略,而不是只看單一最佳的一次執行。

常見問題

50% 是斐波那契回檔位嗎?

50% 不是斐波那契比率。它不是由斐波那契數列中的數字相除而來。看盤工具按慣例納入它,因為回拉一半是常見的參考點。在回測中,把它當作其他任何位置來對待,測試它是否有增加什麼。

哪一個斐波那契回檔位最重要?

交易人最常關注 50% 與 61.8%,許多人把兩者之間的區帶視為主要的拉回區域。沒有任何位置能事先確定在每個市場都表現更好。在依賴它之前,先在你自己的資料上,用移位區域來測試你的區域。

斐波那契回檔該從影線還是收盤價來畫?

多數交易人使用極端的高點與低點,也就是影線。收盤價同樣有效。重要的是選定一種並寫進規則中,因為回測必須用同樣方式錨定每一個波段。

斐波那契回檔策略在期貨上有效嗎?

沒有通用的答案。結果取決於市場、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.