資產配置回測怎麼看才不被騙?倖存者偏差、前視偏差與過度配適
網路上常看到「這個配置過去 20 年年化 12%」的回測圖。回測是很有用的工具,但它回答的是「如果當時這樣做會怎樣」,而不是「未來會怎樣」。這篇整理回測最容易出錯的地方,以及怎麼用正確的方式閱讀它。
回測能告訴你什麼
回測是用歷史資料模擬一個投資規則的結果。它適合回答這類問題:
- 這個股債比例在過去最嚴重的下跌中,最多跌了多少?
- 再平衡頻率改變時,波動與交易次數差多少?
- 費用率高 0.5% 的長期影響大約多大?
它不適合回答「哪個策略未來報酬最高」。原因就在以下三種偏差。
倖存者偏差:看不見消失的標的
如果回測只用「現在還存在」的股票、基金或 ETF,就等於排除了中途下市、清算、被合併的失敗者,結果自然偏好看。
- 常見情境:用現在的台股前 50 大公司回測 20 年前的績效。但 20 年前的前 50 大,有些已經跌出榜外或下市。
- ETF 也一樣:規模過小的 ETF 會終止信託契約下市,只拿存活下來的 ETF 比較,會高估整體表現。
- 怎麼檢查:確認回測使用的是「當時」的成分股與標的清單,而不是現在的清單。
前視偏差:用了當時還不知道的資訊
前視偏差是指回測裡使用了在決策當下其實還拿不到的資料。
- 財報公布時間:台股公司年報與季報都在期末之後才公布,若回測在季末當天就用該季財報選股,就等於提前知道答案。
- 指數調整:用「後來才被納入指數」的公司,回推它被納入前的表現。
- 策略參數:看完整段歷史後才決定「跌 20% 就加碼」,這個 20% 本身就用了未來資訊。
過度配適:把雜訊當成規律
測試的條件越多,越容易找到一組「剛好在過去有效」的參數。我們做了一個簡單模擬:產生 100 個真實超額報酬為零的隨機策略,每個策略跑 10 年月報酬、年化波動 15%。
| 模擬結果 | 數值 |
|---|---|
| 表現最好的策略年化報酬 | 約 10.2% |
| 所有策略的中位數 | 約 -1.9% |
| 年化超過 3% 的策略數 | 18 個 |
| 最佳策略接下來 10 年(樣本外) | 約 -3.6% |
這 100 個策略沒有任何一個真的有效,但只要挑出回測最好的那個,就會看到亮眼的數字;拿到新資料一測,優勢立刻消失。實際投資研究中,測試過的組合往往遠多於 100 個,問題只會更嚴重。
其他常被忽略的細節
- 成本:有沒有扣除證交稅、手續費、內扣費用與匯兌成本?
- 起訖時間:從低點開始算、在高點結束,結果會大不相同。改變起點看看結果是否穩定。
- 稅負與配息:用的是含息報酬還是價格報酬?台灣投資人的配息還要考慮所得稅與補充保費。
- 匯率:投資海外資產時,是以美元還是新台幣計算?
看回測報告的檢查清單
- 資料是否包含已下市、清算的標的?
- 每個決策點使用的資料,當時是否已經公開?
- 策略規則是事前設定,還是看完歷史才調出來的?
- 換一段期間、換一個市場,結論是否仍成立?
- 是否扣除全部成本,並以新台幣計算?
- 結論是否有合理的經濟原因,而不只是數字好看?
通過越多項,回測越值得參考。即使全部通過,也應該把回測當成「風險的參考範圍」,而不是報酬的保證。想了解未來各種可能結果的分布,可以改用蒙地卡羅模擬。
常見問題
什麼是倖存者偏差?
倖存者偏差是指回測只使用目前仍存在的股票、基金或 ETF,排除了中途下市或清算的失敗者,導致結果被高估。檢查時要確認使用的是當時的成分股與標的清單。
前視偏差常見在哪裡?
最常見的是財報公布時間:回測在季末當天就使用該季財報,但實際上財報要等到期末之後才公布。另外,看完整段歷史才決定的策略參數,也屬於前視偏差。
為什麼回測最好的策略未來常常失效?
測試的版本越多,越容易找到剛好符合過去雜訊的組合。模擬 100 個沒有真實優勢的隨機策略,最佳者 10 年年化約 10.2%,但樣本外 10 年約為 -3.6%,顯示多半只是運氣。
回測到底有沒有用?
有用,但適合拿來了解一個配置的風險範圍,例如最大跌幅、再平衡次數與費用影響,而不適合用來預測哪個策略未來報酬最高。