想知道一套交易規則有沒有效,最直接的方法之一就是拿過去的價格資料來試試看:如果過去照著這套規則操作,結果會如何?這個過程稱為回測(backtesting)。回測能在投入真實資金之前,幫助交易者了解規則的特性與可能的風險,但它也有許多容易被忽略的陷阱。本文說明回測的基本步驟、能提供哪些資訊,以及解讀結果時需要特別小心的地方。
回測的基本概念
回測就是把一套明確的交易規則,套用在過去一段時間的歷史資料上,模擬每一筆進出場,最後統計整體表現。要進行回測,規則必須寫得夠清楚,例如「收盤價站上某條均線就買進、跌破就賣出」,才能被一致地套用。模糊的規則,例如「感覺要反彈時進場」,則無法回測。
回測的基本步驟
- 定義規則:寫清楚進場條件、出場條件、停損方式與部位大小。
- 選擇資料與期間:決定要測試哪些標的、使用日線或其他週期,以及涵蓋的時間範圍。
- 模擬交易:依時間順序逐筆套用規則,可以手動在圖表上逐根檢視,也可以使用試算表或程式工具。
- 納入成本:每筆交易都要扣除手續費、交易稅與可能的滑價。
- 統計結果:計算總報酬、勝率、平均盈虧、最大回撤與交易次數等指標。
回測能提供哪些資訊
回測的價值不只是看「最後賺多少」。更重要的是了解規則的特性,例如:
- 大約多久會出現一次交易機會。
- 最長可能連續虧損幾次,帳戶最大回撤有多深。
- 在什麼樣的市場環境下表現較好,什麼環境下表現較差。
這些資訊能幫助交易者事先建立合理的心理預期。例如知道某套規則過去曾連續虧損多次,真正遇到時就比較不會因為慌張而放棄。
陷阱一:過度最佳化
回測時很容易不斷調整參數,直到找到「過去表現最好」的組合,例如把均線天數從 20 改成 23、再改成 27,只因為某個數字的回測結果最漂亮。這種做法可能只是讓規則剛好符合過去的資料,而不是真的抓到市場的規律。過度最佳化的規則,換到新的時間段往往表現大幅下滑。一般建議規則與參數盡量簡單,並觀察參數稍微改變時,結果是否仍大致穩定。
陷阱二:使用了當時還不知道的資訊
回測時必須確保每個決定只使用「當時已經知道」的資訊。例如用當天收盤價判斷是否進場,卻假設以當天開盤價成交,就等於偷看了未來。這類錯誤稱為前視偏差,會讓回測結果看起來遠比實際可能達到的好。
陷阱三:只測試存活下來的標的
如果只拿目前仍在市場上交易的股票來回測,就忽略了過去曾經下市或被淘汰的公司,結果可能過度樂觀。這種現象稱為存活者偏差。測試時應盡量了解資料的完整性,並對結果保持保守態度。
陷阱四:忽略成本與流動性
回測中假設每筆都能以理想價格成交,但實際交易會有價差、滑價與成交量限制。對交易頻率高或標的流動性低的規則來說,這些因素可能讓回測中的獲利大幅縮水甚至消失。
回測之後的下一步
回測結果再好,也只代表過去。較穩健的做法是保留一段沒有用來調整參數的資料做驗證,觀察規則在「沒看過」的期間表現如何;接著可以用模擬交易或很小的部位實際執行一段時間,確認自己能確實遵守規則,並比較實際結果與回測的差距。
結語
回測是檢驗交易規則的重要工具,能幫助交易者了解規則的頻率、回撤與適用環境,建立合理的預期。但過度最佳化、前視偏差、存活者偏差與忽略成本等陷阱,都可能讓結果過度樂觀。過去績效不代表未來表現,任何規則在實際使用前,都應以保守態度驗證,並依自身財務狀況控制風險。
本文內容僅供一般財經知識參考,不構成任何投資或保險建議。投資有風險,請依自身財務狀況審慎評估,必要時諮詢合格的專業人士。