均值回歸是什麼:公式與可測試的期貨範例
均值回歸押注價格偏離近期平均後會往平均靠攏。用 z 分數衡量偏離程度,z =(價格 − 平均)÷ 標準差,例如在 −2 以下買進、回到 0 附近出場。寫出明確的進出場規則,再在扣除成本、趨勢期間、鄰近設定與其他市場上檢驗。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
什麼是均值回歸?
均值回歸的概念是:價格偏離近期平均很遠之後,傾向往平均靠攏。你用 z 分數衡量偏離幅度:價格減去移動平均,再除以同一段 K 棒的標準差。一條可測試的期貨規則是在 z 低於 −2 時買進、接近 0 時出場,並在扣除成本後進行檢驗。
想像一條綁在柱子上的橡皮筋。拉得很遠,它往往會彈回來。均值回歸策略等橡皮筋被拉得很遠,再押注它會彈回。順勢策略則下相反的注:離開平均的走勢會持續下去。兩種想法都可以測試,但沒有哪一種在每個市場、每段期間都成立。它的進場訊號通常來自衡量與平均值距離的技術指標。
在期貨上,交易者常用兩種方式運用這個概念。一種用在單一合約的價格,例如在平靜的交易時段內漲跌過頭的指數期貨。另一種用在兩個相關合約之間的價差。本文採用第一種,因為它最容易轉成明確的規則。
均值回歸的公式是什麼?
衡量均值回歸的標準方式是 z 分數,它表示價格距離平均有幾個標準差。z 分數是一個數字,用來說明某個值相對於近期數值有多不尋常。標準差則是衡量價格在同一段 K 棒內圍繞平均分散程度的指標。標準差指標頁面說明了它的計算方式。
公式如下:
z = (P − M) / S
- P 是目前的收盤價。
- M 是最近 N 根收盤價的平均,通常用簡單移動平均。
- S 是同樣 N 根收盤價的標準差。
- N 是回看期間,也就是計算 M 與 S 所用的 K 棒數量。
z 分數為 0 表示價格正好在平均上。z 分數為 −2 表示價格比平均低兩個標準差。如果在 20 根 K 棒的平均上下畫出 +2 與 −2 的線,就得到預設設定的常見布林通道。z 分數是同樣的資訊,只是濃縮成一個數字,很容易放進規則裡。
在完美的鐘形分布中,大約 95% 的數值落在平均值兩個標準差之內。但價格資料的尾部比這更肥。超出 ±2 的走勢出現得比鐘形曲線所暗示的更頻繁,其中有些還會繼續延伸。所以 ±2 是用來測試的起點,不是統計上保證會反彈的承諾。
如何把均值回歸轉成回測能照做的規則?
均值回歸的想法只有在每個決定都寫下來之後才能測試,包括何時認輸。「看起來超賣就買」無法測試,一組明確的條件才可以。以下是針對 30 分鐘 K 棒的指數期貨的一套完整規則:
- 計算:在每根 K 棒收盤時,用最近 20 根收盤價計算 M 與 S,再算出 z。
- 做多進場:當 z 收盤低於 −2 時,在下一根 K 棒的開盤買進。
- 做空進場:當 z 收盤高於 +2 時,在下一根 K 棒的開盤賣出。
- 一般出場:當 z 穿越回 0 時,在下一根 K 棒的開盤出場。
- 使用停損:設在距離進場價固定的距離。
- 使用時間停損:如果兩種出場都沒發生,就在 10 根 K 棒後出場。時間停損是指經過設定的 K 棒數之後,不論價格如何都平掉部位的出場方式。
- 只在你選定的交易時段交易,並在該時段結束時空手。
有兩個細節決定這個回測是否誠實。第一,規則在 K 棒收盤時做決定,在下一根 K 棒成交。若在產生訊號的同一個收盤價成交,就是用了你根本無法成交的價格。第二,在 z = 0 出場,部分原因是平均往價格靠近,而不只是價格往平均靠近。因此每筆損益常常比進場價到起始平均的距離來得小。
假設範例
20 根 K 棒的平均是 4,800.0,標準差是 10 點。某根 K 棒收在 4,778.0,所以 z = (4,778 − 4,800) / 10 = −2.2。規則在下一個開盤 4,779.0 買進。六根 K 棒後,平均已降到 4,794.0,某根 K 棒收在 4,795.0,所以 z 回到 0 以上。規則在下一個開盤 4,794.5 賣出。獲利為 15.5 點。平均下降了 6 點,所以價格不必一路爬回 4,800。
均值回歸規則通常是勝率高、虧損少但單次金額較大。光看高勝率什麼也說明不了。請用勝率與期望值計算器,輸入你的平均獲利與平均虧損,它會告訴你每筆交易平均值多少。
為什麼均值回歸策略在趨勢市場會失靈?
市場出現趨勢時,均值回歸會失靈,因為被拉開的價格會繼續被拉開,而不是彈回來。趨勢行情是指價格穩定朝同一方向移動的期間,每根新 K 棒都傾向延伸這段走勢。在劇烈下跌中,z 可能連續好幾根 K 棒收在 −2 以下。規則買進、被停損、再買進、再被停損。
| 市場表現 | z 分數的行為 | 規則的典型結果 |
|---|---|---|
| 橫向盤整 | 在 ±2 之間來回擺盪並回到 0 | 頻繁的小額獲利 |
| 緩慢趨勢 | 較長時間停留在 0 的同一側 | 在 0 出場的次數較少,時間停損較多 |
| 強勢趨勢或消息衝擊 | 連續多根 K 棒停留在 ±2 之外 | 連續反覆觸發停損 |
你無法消除這個弱點,但可以衡量並限制它。以下四個步驟有幫助:
- 找出歷史中的趨勢期間,例如急劇崩跌或長期上漲,並逐筆檢視規則在當時的交易。
- 保留停損與時間停損。沒有它們,回測可能掩蓋一筆足以讓帳戶出清的虧損交易。
- 測試趨勢濾網,例如:當 100 根 K 棒的平均低於 20 根 K 棒前的水準時,略過做多進場。只有當濾網在未經調校的資料上也有幫助時,才保留它。
- 檢視最糟的連續虧損,而不只是總結果。你必須熬過的就是那段連虧。
交易成本如何改變均值回歸的回測?
成本對均值回歸的打擊比多數策略類型更重,因為它需要大量交易,而每次目標都很小。規則在接近平均時出場,所以每筆的獲利有限。但每一次一買一賣(來回)仍要付手續費、交易所費用與滑價。滑價是回測假設的價格與你實際成交價之間的差距。
第二項成本藏在成交假設裡。許多均值回歸交易者用限價單在下跌時買進。若回測讓每張限價單一碰到價格就成交,結果會偏樂觀。在急跌中,成交的單往往是持續虧損的那些,而本來會賺錢的單常常成交不了。下一根 K 棒的市價成交加上合理的滑價,是較安全的預設。AlphaPrime(Valynox) 的回測採下一根 K 棒成交,並套用你設定的手續費與滑價,均值回歸的進場看的是實際成交得到的價格,不是訊號當下的價位。
假設範例
假設每跳動點價值為 $12.50,每次一買一賣(來回)的手續費與規費為 $5,每邊各有一個跳動點的滑價。這樣每次來回成本為 $30。這條規則的 5 分鐘版本平均每筆毛利為 3 個跳動點,也就是 $37.50。扣除成本後剩 $7.50。若滑價加倍為每邊兩個跳動點,成本變成 $55,平均每筆虧損 $17.50。30 分鐘版本平均每筆毛利為 12 個跳動點,也就是 $150。扣除一般成本後剩 $120,滑價加倍後剩 $95。
較快的版本看起來更活躍、更平滑,但大部分優勢都被成本吃掉。較慢的版本撐得過成本壓力測試。關於設定手續費與滑價的完整方法,請見回測中的交易成本:手續費、滑價與平均每筆損益。
如何確認結果不是靠運氣湊出來的設定?
值得信賴的均值回歸結果,在稍微改變設定、換到其他市場時仍然成立。回看期間 N 與進場門檻都是你的選擇。如果測試了許多組合再挑最好的一組,它的部分結果就是運氣。對技術交易規則的研究顯示,在同一份資料上測試許多規則,其中最好的一條光靠機率就可能看起來很強(Sullivan, Timmermann & White, 1999)。你嘗試的變化越多,最佳回測往往越高,即使沒有任何一個變化真的有優勢(Bailey, Borwein, López de Prado & Zhu, 2014)。
跑一個鄰近設定的小格子,看它的形狀,而不只看最好的那一格:
| 你改變的項目 | 範例值 | 好的跡象 | 壞的跡象 |
|---|---|---|---|
| 回看期間 N | 10、20、30、40 根 K 棒 | 相鄰的值結果相近 | 只有一個值有效 |
| 進場門檻 | 1.5、2.0、2.5 | 交易較少,但每筆結果相近 | 結果在不同值之間正負翻轉 |
| K 棒週期 | 15、30、60 分鐘 | 結果方向相同 | 只在一種 K 棒週期有效 |
| 市場 | 其他流動性佳的指數期貨 | 較弱,但扣除成本後仍為正 | 在其他地方全部失敗 |
| 期間 | 每一個獨立的年份 | 大多數年份可接受 | 全靠某一年撐起 |
接著,在未經調校的資料上測試所選的設定。推進分析是一種檢驗:在一段資料視窗上調校規則,原封不動交易下一段視窗,然後把兩個視窗一起往前推並重複。推進分析:為什麼一次回測不夠說明了如何選擇視窗。在 AlphaPrime中,你可以在策略生成裡描述規則的進出場條件與要探索的參數範圍。接著可以在策略檢驗中,以你自己的門檻執行推進分析與其他檢查。
如果你使用 AlphaPrime,這代表:在第一次執行之前,先設定好合理的手續費、滑價,以及你的交易時段(下一根 K 棒成交是固定規則),讓均值回歸的候選策略在扣除成本後排名。然後依據鄰近設定的形狀與推進分析的結果來評判它們,而不是看單一最佳的回測。
常見問題
均值回歸的公式是什麼?
常見的公式是 z 分數:z =(價格 − 平均)÷ 標準差,平均與標準差取自同樣數量的近期 K 棒。z 分數為 −2 表示價格比近期平均低兩個標準差。均值回歸規則通常在 z 越過 ±2 等門檻時進場,並在 z 回到 0 附近時出場。
均值回歸的「均值回歸」是什麼意思?
均值回歸描述價格,或兩個價格之間的價差,在大幅偏離平均之後傾向回到平均的現象。在交易中,它是「在被拉低時買進、在被拉高時賣出」這類策略的基礎。
均值回歸在期貨上有效嗎?
這取決於市場、K 棒週期、期間與成本,唯一的判斷方法就是測試。均值回歸規則在盤整期間往往表現良好,在強勢趨勢中表現不佳。在依賴它之前,請在合理的成本下、鄰近設定上、其他市場上,並搭配推進分析來檢驗。
均值回歸與順勢交易有什麼差別?
均值回歸押注遠離平均的價格會往平均靠攏。順勢交易押注離開平均的走勢會持續。兩者常在相反的市場條件下表現良好,所以有些交易者會把它們放在同一個投資組合中一起測試。
均值回歸策略該用多長的回看期間?
沒有唯一正確的回看期間。20 根 K 棒的視窗是常見的起點,因為它與布林通道的預設值一致。請測試一系列鄰近的值,例如 10 到 40 根 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.

