量化交易回測入門:如何驗證你的策略是否有效

量化交易回測入門:如何驗證你的策略是否有效

2026-08-30

「回測曲線很漂亮,策略是否就代表有效?」這是我最常被問到的問題。很多人以為回測等於驗證,只要歷史表現亮眼,策略就經得起考驗。實際上,回測只是把策略放上歷史數據的考場,而考卷有兩種:一種是策略見過的題目,一種是從未見過的題目。只考前者、不考後者,成績再好也說明不了實力。理解這個分別,正是 量化交易 入門最重要的一課。

過擬合是回測最大的陷阱:把參數調到完美契合歷史數據,回測成績自然漂亮,但這種成績來自背答案,不是懂原理。我在 USIC 全美投資大賽見過不少參賽者,回測年化回報超過三成,實盤幾個月就大幅虧損,原因幾乎都是過擬合。這裡要先澄清一個重要觀念:一條看起來完美的回測曲線,往往不是策略太優秀,而是模型記住了太多歷史細節。要避開這個陷阱,需要完整掌握四件事:回測的基本原理、樣本內外的設計、過擬合的識別方法,以及解讀報告的四大指標。

double-exposure-hands-making-notes-with-digital-coding-icons-computer-learning-concept

回測是什麼:把策略放上歷史數據的考場

回測指用歷史數據模擬策略的執行過程,逐筆記錄買入、賣出、持倉與盈虧,最後統計勝率、回撤等數字。它回答一個核心問題:如果過去十年用這套規則交易,結果會如何。答案不能保證未來,卻能淘汰大量想當然的規則。沒有經過回測的策略,只是主觀猜測的另一種形式。

量化交易 的完整流程中,回測位於假設與實盤之間,是承上啟下的關卡。假設提供方向,回測提供證據,實盤提供最終考驗。對香港投資者而言,近年不少零售平台內建回測功能,門檻大幅下降,但工具普及不代表方法普及,多數人仍然只按一下執行回測,然後對著漂亮的曲線發呆。

宏觀環境本身也在改變。金管局的基本利率跟隨美國利率調整,可參考金管局基本利率機制的說明;利率週期轉換會令舊策略失效,這正是回測除了要涵蓋不同市況,也必須定期重新檢討的原因。

回測還有一個常被忽略的前提:歷史數據本身要乾淨。除息、拆股、停牌都要正確調整,否則價格上會出現虛假的跳空,策略在這種數據上回測出來的是幻覺。更重要的是倖存者偏差:如果只用目前仍在交易的股票回看歷史,等於拋棄了早已倒閉或退市的標的,過去表現自然被大幅高估。要得出可信結論,必須先檢視數據清洗與樣本完整性,再談其他的數字。

樣本內與樣本外:回測設計的分水嶺

嚴謹的回測必須把歷史數據切成兩部分。樣本內用於開發與調參,樣本外用於驗證。標準做法是先保留最後兩至三年數據完全不碰,只在前面數據上測試;策略定型後,才把樣本外數據拿出來跑一次,看看成績是否仍然成立。

這個設計的邏輯很簡單:策略如果在見過的題目上得高分,可能只是記性好;只有在沒見過的題目上仍然穩定,才稱得上真正理解市場。樣本外成績明顯遜於樣本內,是最常見的過擬合訊號。我自己的開發流程中,樣本外測試不合格的策略,一律不會進入下一步。

更嚴謹的做法是滾動驗證,也有人稱之為走步驗證。做法是把回測視窗向前滾動,每推進一段時間就用新的數據重新測試一次,而不是只在一個固定的樣本外區間賭一次。連續多輪都維持相近表現的策略,可信度才會真正建立起來;單靠一次樣本外測試就下結論,仍然可能被運氣矇騙。

過擬合陷阱:參數尋優如何製造虛假神話

過擬合指策略過度貼合歷史數據的雜訊,把偶然當成規律。最常見的來源是參數尋優:把均線週期、止蝕距離、持倉時間等參數逐個試,直到回測曲線最漂亮。參數愈多、試的組合愈多,過擬合風險愈高。組合試得夠多,總能找到一組完美成績,但那只是數據挖掘的必然結果。

識別過擬合有幾個實用方法。第一,樣本外測試,前面已說明。第二,穩健性測試:把參數輕微改動,例如均線從 20 日改成 21 日,如果成績大幅走樣,代表策略對參數過度敏感。第三,交易次數合理性:真正有效的策略,交易次數通常足夠多,靠三、五次交易撐起的高勝率沒有統計意義。

想從源頭壓低過擬合風險,最有效的方法是控制參數數量。一個需要七八個參數同時成立才見效的策略,在有限的歷史數據上幾乎必然過擬合。正確的順序是先確立策略邏輯與合理的參數範圍,再讓回測去驗證;而不是在大量參數組合中反覆搜尋最亮眼的一組。順序一倒轉,就墮入曲線擬合的漩渦,成績再漂亮也只是自欺。

我在 USIC 比賽中看過一個典型案例:某參賽者的回測勝率接近八成,實盤卻連續虧損。拆解後發現,他的策略在十年數據上只交易了 11 次,其中兩次大賺撐起全部成績,正是過擬合的典型形態。真正值得信賴的策略,邏輯必須能解釋為什麼有效,而不只是數字好看。這份判斷力,正是 量化交易 與亂試式投機的最大分別。

四大指標:勝率、盈虧比、最大回撤與夏普比率

一份合格的回測報告,至少要看四個數字,缺一不可。

勝率是盈利交易佔總交易的比例。勝率 60% 看似不錯,但如果平均每次賺 1 元、蝕 2 元,長期仍然虧損。因此勝率必須與盈虧比一起看:平均盈利與平均虧損的比例為 1.5 時,配合勝率 50%,期望值已為正;勝率再高、盈虧比不足 1,系統長期仍然蝕錢。

最大回撤指帳戶從高峰跌落的幅度,是最重要的風險指標。年化回報 20% 很吸引,但若中間經歷 40% 回撤,實盤中大部分人都會中途放棄,心理承受力必須計入策略設計。槓桿會進一步放大回撤,正如投委會 IFEC 對槓桿式外匯的風險教育所提醒,按金交易下虧損可以遠超本金比例。所以回測報告一定要標明最大回撤發生的時間段,讓你知道那段最難捱的日子到底有多深。

夏普比率衡量每承受一單位波動換取多少回報,一般高於 1 屬於可接受,高於 2 已屬優秀。它的好處是把回報與波動放在同一把尺上量度:兩個策略年化回報同樣是 15%,波動較小那個夏普比率更高,實盤中也更容易被堅持執行。

我見過不少投資者只看勝率,忽略回撤與盈虧比,結果被高勝率誤導。四個指標要一起讀:勝率與盈虧比看期望值,回撤看風險,夏普看效率。回測報告如果只列勝率不列回撤,這份報告本身就要打問號。學會讀懂這四個數字,是 量化交易 的基本功。

實戰操作:五步完成一次嚴謹回測

理論講完,落到操作層面。一次嚴謹的回測可以拆成五步,每一步都有容易犯的錯誤。

第一步,確立假設。先想清楚策略背後的邏輯,例如趨勢形成後會延續,再決定用甚麼規則捕捉它。沒有邏輯、純粹從數據中拼湊的規則,是過擬合的溫床。

第二步,準備數據。歷史數據要夠長、品質要高,最好包含不同市況,例如牛市、熊市與橫盤。除息、拆細要正確調整,否則回測會被虛假價格波動污染。開戶前亦應查證服務提供者是否持牌,正如證監會 SFC 的無牌公司警示名單所示,市場上確有無牌機構以 AI 交易之名招攬客戶。

第三步,設定規則。把買賣條件、倉位大小、止蝕止賺寫成明確規則,一次只測試一個變數,不要同時改動多個參數。

第四步,執行回測並記錄。用樣本內數據測試,記錄每一筆交易的入場、出場與盈虧,統計四大指標。

第五步,樣本外驗證與檢討。用未參與開發的數據重跑一次,對比兩組指標;若樣本外明顯遜色,回到第一步重新思考假設,而不是繼續微調參數。這五步循環往復,就是 量化交易 開發的真實節奏。

整個流程中,還有一件事要在每一步都記住:交易成本。真實市場存在買賣價差、佣金與滑點,回測若假設可以永遠按理想價格成交,利潤會被明顯高估。穩健的做法是把來回成本按 0.1% 至 0.2% 計入每一筆交易,再觀察策略是否仍然賺錢。成本對短線策略的殺傷力尤其大,一次疏忽就可能令整套系統由盈轉虧。

完整算例:均線交叉策略十年回測的樣本內外對比

用一個具體例子說明整套流程。假設我想驗證一個簡單的均線交叉策略:20 日均線上穿 60 日均線時買入盈富基金(2800.HK),下穿時賣出,全程不設槓桿。我取得 2009 至 2019 年共十年的日線數據,保留最後三年作為樣本外,其餘七年作為樣本內。

樣本內的回測結果:七年共交易 57 次,勝率 58%,平均盈利與平均虧損比例為 1.4,年化回報 11.2%,最大回撤 18%,表面成績不俗。接著用樣本外三年數據重跑同一套規則:交易 22 次,勝率跌至 47%,盈虧比降至 0.9,年化回報只有 3.8%,最大回撤擴大至 26%。同一套規則,在未見過的市場中表現明顯遜色。

如果此時選擇優化,把均線參數從 20/60 微調至 18/57,樣本內年化回報可以升到 15.6%,看似解決了問題。但用樣本外數據再測一次,年化回報反而跌到 1.2%。這就是過擬合的完整證據:參數在樣本內越貼合,樣本外越脆弱。回測的真正價值不在證明策略有效,而在及早發現策略無效,省下實盤的虧損學費,這正是 量化交易 最核心的紀律。

這個算例還帶出一個務實的結論:樣本外表現下滑,不代表策略要馬上丟棄,而是提醒你要調低倉位、加入濾網,或縮短持倉時間。回測提供的不是一個「可行」或「不可行」的答案,而是一組可供判斷的證據。把樣本內外兩組數字並排比較,再對照自己的風險承受能力,決定才不會憑感覺。這套比較的思維,比起任何一次性的漂亮成績都更值得保存。

行動清單:五個具體步驟

想開始驗證自己的策略,可以按以下五步行動。

1. 選一個簡單策略,例如雙均線交叉,先跑通整個流程,不要一開始追求複雜模型。 2. 準備最少五年歷史數據,確保涵蓋升市、跌市與橫盤市況。 3. 預留最後兩至三年作樣本外,開發期間完全不碰。 4. 回測後記錄四大指標,並做參數穩健性測試,確認策略不依賴特定數值。 5. 樣本外成績與樣本內明顯落差時,回頭檢討假設,不要繼續微調參數。

常見問題

問:回測曲線很漂亮,為什麼實盤卻虧錢?

答:最常見的原因是過擬合:參數過度貼合歷史數據,把偶然當成規律。其次,回測往往忽略交易成本與滑點,令利潤虛高。分辨方法很簡單:看樣本外成績,再看實盤起步階段與回測預期是否接近。若兩者落差明顯,多數情況下是回測本身有漏洞,而不是實盤運氣差。

問:回測勝率要多少才算合格?

答:沒有絕對標準,勝率必須與盈虧比一起看。勝率 40%、盈虧比 2 的策略,長期期望值為正;勝率 70%、盈虧比 0.5 反而蝕錢。實務上我會先用一個簡潔的公式估算期望值:勝率乘平均盈利,減去失敗率乘平均虧損,結果為正才算有立足點。與其追求勝率,不如確認整套系統期望值為正,並做好回撤控制。

問:不懂編程可以做回測嗎?

答:可以。不少平台內建回測功能,只要會設定買賣條件就能起步,進階再用 Python 配合數據庫做更複雜的分析。重點是先掌握樣本內外與過擬合這些概念,工具反而是次要的。

問:回測需要多少歷史數據才夠?

答:一般建議最少五至十年,並涵蓋不同市況。數據太短,統計樣本不足,結論不可靠;數據太舊,市場結構已變,參考價值下降。十年日線數據是較平衡的起點。

問:回測和模擬交易有什麼分別?

答:回測是讓策略在歷史數據上重跑,速度快、成本低,但無法反映真實滑點與執行環境;模擬交易用即時行情測試,環境較接近實盤,但需要較長時間才累積到足夠的交易樣本。兩者互補:先回測淘汰明顯無效的規則,再用模擬交易驗證執行細節。我的建議是回測與模擬各跑一段時間,兩者的結果都偏離預期時,就應回到源頭檢討策略本身,而不是一味調整參數。

準備好以量化方法系統化你的交易?立即 WhatsApp 聯繫小風團隊免費諮詢:+852 5378 5383

網站:https://aitrading.ace-fortune.com/quantitative-trading/

投資涉及風險,過往表現不代表未來回報。本內容僅供教育參考,不構成任何投資建議。

分享到:
null

Ace Fortune 2018年成立於香港,原隸屬證券行。
主力開發大數據智能指標及選股器,予PI (個人專業投資者),以量化模型制定交易策略。

null
© 2026 Weber All Right Reserved