回測一個均線策略 Backtesting
把規則交給歷史資料檢驗:報酬、勝率、最大回撤,一個都不能少。
還沒想好?先看看第一課(免註冊)「多指標共振」。
文字版講解 · 指標實戰與回測 第 3 課「回測一個均線策略」
把規則交給歷史資料檢驗:報酬、勝率、最大回撤,一個都不能少。
把規則交給歷史檢驗
回測就是用歷史資料模擬「如果當時嚴格按規則交易,會怎樣」。成績單要看報酬,也要看最大回撤、勝率、交易次數,並和「買入持有」比較。
不能用你當時還不知道的資訊
收盤價算出的訊號,只能在下一根開盤成交。用當天收盤訊號按當天開盤價成交,就是未來函數——回測會好看得離譜。
別忘了交易成本
每次買賣都要付手續費,還會有滑價。交易越頻繁,成本吃掉的越多:一個毛報酬不錯的策略,扣掉成本可能就不賺錢了。
本課要點
- 回測 = 用歷史資料模擬嚴格按規則交易的結果。
- 看報酬的同時,一定要看最大回撤和交易次數,並與「買入持有」比較。
- 計入手續費和滑價;訊號用收盤價算出,就只能在下一根開盤成交,避免使用「未來資料」。
- 回測好看不代表未來能賺錢,它只是排除壞主意的第一道關卡。
動手試試
下面這些練習可以在本課的互動模擬裡完成:
- 保持「趨勢市」和 5 / 20,點「執行回測」:策略報酬跑贏買入持有了嗎?最大回撤誰更小?
- 看下方例題卡:A 報酬 30% 但回撤 50%,B 報酬 20%、回撤 10%。按「報酬 ÷ 回撤」,哪個更好?
- 開啟「未來函數」:作弊版多賺了多少?游標移到一筆交易,看看它在哪一根「偷看」了收盤價。
- 切到「震盪市」再回測,並把手續費拉到 0.3%:來回交易的成本如何吃掉報酬?
小測驗與解析
- 1. 策略 A 報酬 30%、最大回撤 50%;策略 B 報酬 20%、最大回撤 10%。風險調整後通常哪個更好?
- 答案:B。B 每承受 1 份回撤換來的報酬高得多。
- 2. 回測中用當天收盤價算出訊號,卻按當天開盤價成交,犯了什麼錯誤?
- 答案:使用了未來資料。開盤時你還不知道收盤價。
- 3. 單邊手續費 0.1%,策略一年完成 200 筆交易(每筆一買一賣)。把手續費簡單相加,大約會吃掉多少報酬?
- 答案:約 40%。200 筆 × 2 次單邊 × 0.1% ≈ 40%。回測裡忽略成本,頻繁交易的策略會被嚴重高估。
本課術語
- 回測 (Backtest):用歷史資料模擬按規則交易的過程,用來評估策略表現。
- 佣金 / 手續費 (Commission):每次買賣時付給券商的費用,會直接減少你的利潤。
- 死亡交叉 (Death Cross):短期均線(或指標快線)從上向下穿過長期均線(慢線)。
- 淨值曲線 (Equity Curve):帳戶資金隨時間變化的曲線。
- 黃金交叉 (Golden Cross):短期均線(或指標快線)從下向上穿過長期均線(慢線)。
- 未來函數 (Look-Ahead Bias):回測時不小心用到了當時還不可能知道的資料,會讓結果虛高。
- 最大回撤 (Max Drawdown):淨值從歷史最高點到之後最低點的最大跌幅。
- 賺賠比 (Profit Factor):全部獲利交易之和 ÷ 全部虧損交易之和。
- 滑價 (Slippage):預期成交價與實際平均成交價之間的差。大市價單吃掉多檔掛單時產生。
- 停損 (Stop Loss):價格朝不利方向走到預設位置時自動平倉,用來限制最大虧損。
- 勝率 (Win Rate):獲利交易次數佔全部交易次數的比例。