斐波那契回檔:如何繪製、使用與回測
斐波那契回檔位畫在價格波段的 38.2%、50% 與 61.8% 處。想知道它們是否有幫助,要固定波段規則、寫出明確的進場與出場、納入成本,並用樣本外資料與鄰近的位置做比較測試。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
斐波那契回檔該怎麼用,可以回測嗎?
斐波那契回檔會在價格波段的 38.2%、50% 與 61.8% 處畫出水平線,從波段終點往回量測。交易人把這些位置當作可能的拉回進場點。這個想法可以測試。用固定規則定義波段,寫出明確的進場與出場規則,納入成本,再檢查樣本外資料與鄰近的位置設定。
畫線只要幾秒鐘。測試時大部分的工作,是把一個手畫、主觀的工具,轉成電腦每次都用同樣方式執行的規則。
如何繪製斐波那契回檔位?
你在一個波段低點與一個波段高點之間畫出這些位置,百分比顯示價格已回拉到該段走勢的多深。斐波那契回檔是一組水平價位,放在波段低點與波段高點之間距離的固定百分比處。波段高點是價格停止上漲並轉跌的峰值。波段低點則相反:價格停止下跌的低點。這些水平是手畫的,在畫法定下來之前,比多數技術指標更難檢驗。
- 找出這段走勢。在上升趨勢中,選出走勢起點的波段低點與終點的波段高點。
- 從起點畫到終點。多數看盤工具是先點波段低點,再點波段高點。在下跌趨勢中,則先點波段高點,再點波段低點。
- 讀取價位。工具會在走勢的 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 之間的區域。
該用哪一個波段高點與低點?
沒有唯一正確的波段,所以回測需要一條固定規則,每次都用同樣方式選出波段。想像量測房間高度,但每個人自己決定地板在哪裡,每個人會得到不同的答案。兩位交易人看同一張圖,常常以不同的波段為錨點。事後要找出「有效」的波段很容易,這會讓手畫的範例看起來比方法實際的表現更好。
以下是用規則定義波段的常見方式:
| 方法 | 規則 | 需選擇的設定 | 何時才確定波段 |
|---|---|---|---|
| 轉折點(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 棒之後才成為轉折點。如果回測從高點出現的那一刻就畫出價位,就是用了未來的資訊。
如何把斐波那契回檔策略轉成可測試的規則?
可測試的策略要明確說明何時出現設定、什麼觸發進場、停損與停利在哪裡,以及設定何時失效。「在 61.8% 附近買進」不是規則,因為「附近」可以代表任何意思。以下是一組完整的做多規則:
- 設定:先有已確認的波段低點 L,再有已確認的波段高點 H,且這一段至少為 ATR(20) 的 3 倍。
- 區域:價格下跌進入 50% 與 61.8% 位置之間的區帶。
- 觸發:某根 K 棒收盤回到 50% 位置之上。在下一根 K 棒的開盤進場。
- 停損:設在 78.6% 位置下方,或 L 下方。
- 停利:重新測試 H,或風險的固定倍數。
- 失效:若 M 根 K 棒內沒有進場、價格收盤跌破 L,或形成新的波段,就取消這個設定。
- 成本:每一次一買一賣(來回)都要計入手續費與滑價。
在 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% 轉向的圖令人印象深刻。直接穿過去的圖則被遺忘。
執行這些比較測試:
- 移位區域。其他規則都不變,但把區域移到 40–50% 或 65–75%。
- 單純拉回。把這些位置換成「價格從波段高點至少拉回 ATR 的 1.5 倍」。
- 相同出場。每個版本的停損、停利與失效條件都保持一致,這樣只有進場不同。
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 的策略資料庫裡一起搜尋和排序,看出某個設定是落在高原上,還是只有一個孤立的尖峰。
在做決定之前,先看完整的全貌:
| 檢查項目 | 正面訊號 | 弱的訊號 |
|---|---|---|
| 樣本外結果 | 與樣本內方向相同,但略小 | 崩潰或轉為負值 |
| 鄰近設定 | 整個範圍內結果相近 | 只有一個確切設定有效 |
| 相較單純拉回 | 出場相同時明顯更好 | 差不多 |
| 交易筆數 | 每個測試視窗有數十筆交易 | 只有寥寥幾筆 |
| 成本 | 平均每筆損益是一買一賣(來回)成本的數倍 | 滑價加倍時優勢消失 |
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.

