量化交易數據基本功:數據源、清洗與回測判讀

量化交易數據基本功:數據源、清洗與回測判讀

2026-09-04

量化交易數據基本功:數據源、清洗與回測判讀

作者:小風|Ace Fortune 領財智庫首席交易員兼 AI Trading Academy 專業導師

「我用五年數據做回測,年化回報 18%,為什麼實盤三個月就虧掉一成?」這是我最常收到的問題之一。問的人往往第一時間懷疑策略,但答案常常藏在數據裡。回測的每一條曲線、每一個數字,可信度都只等同於輸入數據的品質。數據錯了,回測的結論就全錯,這是 量化交易 新手最容易忽略、卻影響最深的一環。

很多初學者把精力花在調參數、換指標,卻從不追問數據從哪裡來、有沒有被正確清洗。結果回測報表越漂亮,實盤落差越大。這篇文章我會從四件事講起:數據從哪裡來、數據清洗要注意什麼、兩大常見數據坑(前視偏差與倖存者偏差)、回測指標怎麼讀,並附上一張回測結果判讀表,幫你把基本功一次補齊。

交易員坐在電腦前,看著螢幕上兩條走勢相反的回測與實盤曲線,神情困惑。

數據從哪來:四類來源與選擇

回測數據大致來自四個方向,成本與品質差異極大,選擇之前先搞清楚差別。

第一類是交易所官方或授權數據供應商。港股可經由 HKEX 的數據服務取得,美股可向專業數據商訂購。這類數據最可靠,亦最貴,適合嚴肅開發實盤策略時使用。

第二類是免費公開數據源,例如 Yahoo Finance 與 Google Finance 的歷史價格。方便起步,但普遍存在調整不一致、時區錯位、缺失值等問題。免費數據適合練手與理解流程,不宜直接當作實盤決策的唯一依據。

第三類是平台或券商提供的程式化數據介面(API)。可自動下載日線至分鐘級數據,更新穩定,但各家對除息、拆股的調整方式不同。同一段歷史,從不同來源下載,數字可能並不一致。

第四類是付費第三方數據庫。機構級回測多用此類,數據經過統一清洗,並附有完整的企業行動紀錄,例如股息、拆股、合股與私有化。

我在教學中常被問「應該選哪一種」,我的建議是分階段:起步先用免費數據把流程跑通,理解每一欄位的含義;當策略進入實盤驗證階段,再改用交易所級或付費數據,重跑一次回測對比。不少人用免費數據開發,上線後才發現真實成交價與回測假設差距甚遠,這種教訓在 量化交易 的實戰中屢見不鮮。

電腦螢幕上有多個數據視窗與資料庫圖示,數據正被集中整理。

為方便對照,四類來源整理如下:

來源 成本 數據品質 適合階段
交易所官方/授權供應商 最高 實盤策略開發
免費公開數據源 中低 新手練手、流程練習
平台 API 視平台而定 自動化數據流程
付費第三方數據庫 中高 機構級回測

數據清洗:四步把髒數據變成可用歷史

拿到數據之後,不能直接丟進回測引擎。至少要過四關,數據才稱得上乾淨。

第一步,除息與拆股調整。股票除息當日,價格會自然下調,若不做還原,圖表上會出現虛假的向下跳空,均線、突破訊號全部失真。正確做法是使用前復權或後復權數據,或自己處理企業行動紀錄。

第二步,處理缺失值與異常值。停牌、交易時段差異會造成數據缺口;常見異常值包括錯誤報價、單位出錯、時間戳重複等。我在實戰中見過一筆「單日升幅超過九成」的數據,核實後只是原始檔案的小數點錯位。異常值不除,回測的統計指標會被嚴重扭曲。

第三步,統一時間軸與時區。港股、美股與外匯市場的開收市時間不同,跨市場策略若混用日線,必須先對齊交易時段,否則連「同日」的定義都不一致。以日線為單位回測,應標明以哪個時區的收盤價為準,例如港股用 16:00 收盤價。

第四步,計入交易成本與滑點。真實市場存在買賣差價、佣金與滑點,回測若假設永遠可以按理想價格成交,利潤必然被高估。務實做法是把來回成本計入每筆交易,例如按 0.1% 至 0.2% 計算,再觀察策略是否仍然成立。成本對短線策略的殺傷力尤其大。

這四步做完,數據才勉強可用。跳過清洗直接回測,等於拿一把沒有刻度的尺去量距離。數據清洗投入的時間,往往比反覆調參更能提升回測可信度,這是 量化交易 基本功中最樸素、也最被低估的一步。

電腦螢幕上的數據表格被橡皮擦清理,表格欄位整齊有序。

兩大數據坑:前視偏差與倖存者偏差

即使數據來源正確、清洗到位,兩個「看不見的坑」仍會悄悄扭曲回測結果:前視偏差與倖存者偏差。

前視偏差(look-ahead bias)指回測使用了當時根本還拿不到的資訊。最典型的例子,是用當日收盤價計算買入訊號,卻假設當天一早就能以開盤價成交;又或者使用日後才公布、經修訂的財務數據,去預測修訂前的價格。這類偏差令回測成績虛高,而且不易一眼看出。

我在幫學員檢視策略時,最常抓到的前視偏差正是「收盤訊號、開盤成交」的錯位——程式用收市價計算訊號,成交價卻設在當日開盤,等於偷看了未來半天的行情。修正方法很簡單:訊號計算與成交時點,必須使用同一時刻或更早的數據。

倖存者偏差(survivorship bias)指回測只用了「至今仍然存在」的標的,遺漏了期間內退市、倒閉的股票。例如回測港股十年選股策略,若只下載今日仍在上市的股票,等於事前已知哪些公司活到今天,回測自然偏樂觀。退市股票的跌幅往往極大,漏掉它們,等於把最差的成績悄悄移出考卷。

要排除倖存者偏差,必須使用包含歷史成分股的完整列表,包括已退市標的;同時只能使用「當時已知」的資訊,修訂後的數據應以首次公布版本為準。

這裡要澄清一個常見誤解:有人把漂亮回測當成策略能力的證明。CFTC 在防範外匯詐騙的官方警示中明確指出,自動交易軟體或 AI 機器人無法預測未來市場條件,亦沒有任何技術能持續預測未來。一份避開了前視與倖存者偏差的回測,才有資格作為決策參考;否則它只是在為錯覺背書。懂得分辨這兩個坑,是 量化交易 與盲目跟單的最大分別。

順帶一提,選擇數據供應商或交易平台時,可以到證監會(SFC)的無牌公司及可疑網站警示名單查證對方是否持牌。市場上確有機構打著「AI 量化」旗號招攬客戶,數據與交易撮合是否真實,同樣值得先查清楚。

回測指標怎麼讀:勝率、盈虧比、最大回撤與夏普比率

回測報告動輒列出十多個數字,真正值得讀的其實只有四個。以下逐一說明。

勝率是盈利交易佔總交易的比例。它單獨存在時意義有限:勝率 65% 的策略,若平均每次賺 1 元、蝕 2 元,長期仍然蝕錢;勝率 45% 的策略,若盈虧比達到 2,反而有正期望。判斷期望值用一條簡單公式即可:勝率乘平均盈利,減去失敗率乘平均虧損,結果為正才值得繼續研究。

盈虧比是平均盈利對平均虧損的比例,決定每筆交易賺蝕的結構。一般來說,盈虧比 1.5 以上、勝率 50% 左右的組合已屬健康;低勝率策略則需要更高的盈虧比支撐。把勝率與盈虧比放在一起看,勝過單看任何一個數字。

最大回撤指帳戶由高峰回落的最大幅度,是風險最重要的單一指標。年化回報 20% 的系統,若中途經歷 45% 回撤,實盤中大部分人都撐不過那段時間,心理承受力必須計入設計。槓桿會進一步放大回撤,正如投委會(IFEC)在槓桿式外匯的風險教育中提醒,開倉按金最低僅為合約價值的 5%、槓桿最高 20 倍,極端波動下損失可能超過開倉按金。回測報告必須標明最大回撤出現的時段與深度。

資產曲線從高峰陡降形成深谷,圖表旁放著一把小梯子,象徵回撤後難以回升。

夏普比率衡量每承受一單位波動換取多少回報,把收益與風險放在同一把尺上量度。一般高於 1 屬可接受,高於 2 屬優秀;同一回報水平下,夏普比率較高者,實盤更容易被堅持執行。

國際交易教育機構如 Moneta Markets 的回測教學亦指出,除了總報酬率,回測還要關注最大回檔、勝率與夏普比率,並以獲利因子(總盈利除以總虧損)大於 1.5 作為策略具備優勢的參考線。這些指標配合使用,才能完整評估一個策略。

下表是一張通用的回測結果判讀表,量化交易 新手可以列印出來,回測後逐一對照:

指標 參考數值 判讀重點
勝率 40% 至 60% 必須與盈虧比合看,單看勝率容易誤判
盈虧比 1.5 以上 越高越能承受低勝率,與勝率相輔
期望值 必須為正 勝率乘平均盈利,減失敗率乘平均虧損
最大回撤 不宜超過帳戶 30% 超過承受範圍,實盤必然中途放棄
夏普比率 1 以上可接受 2 以上屬優秀,衡量風險調整後效率
獲利因子 1.5 以上 總盈利除以總虧損,越低越接近無優勢

完整算例:同一策略,兩套數據,兩個故事

用一個具體例子說明數據品質的殺傷力。假設我開發一個簡單的移動平均線策略:恒指成份股中,股價升破 50 日均線時買入,跌破時賣出,全程不設槓桿,持有期以日線收盤為準。

第一套數據只下載「目前仍在上市的股份」,回測十年:共交易 340 次,勝率 55%,盈虧比 1.3,最大回撤 22%,年化回報 14.5%。報表看起來很理想,幾乎可以直接上線。

第二套數據補回「期間被剔除出指數的股份」,包括多隻曾經大漲、其後長期下跌的股票。同一套規則重跑:勝率跌至 47%,盈虧比降至 0.9,最大回撤擴大至 38%,年化回報跌至 6.8%。兩套數據的唯一差別,在於有沒有包含退場的標的。

如果再引入前視偏差——用當日收盤價計算訊號,卻假設以當日開盤價成交——年化回報會從 6.8% 再次「回升」到 11.9%。兩次人為污染,足以把一個平庸的策略包裝成明星策略。

電腦螢幕上兩條回測曲線,一條虛線明顯高於另一條實線,形成鮮明對比。

這個算例說明三件事。第一,倖存者偏差會系統性高估回報。第二,前視偏差會製造不存在的優勢。第三,回測的真正價值在於及早發現問題,而不是證明策略有效。剔除兩個偏差後數字仍然吸引的策略,才值得進入模擬盤與小資金實盤。

總結與行動:五步建立數據基本功

回到開頭的問題:為什麼回測漂亮、實盤卻虧損?多數情況下,答案在數據。把數據基本功補起來,再回頭看報表,很多「好策略」會自動現形。以下是五個可以立即行動的步驟。

第一步,選定單一數據源,下載最少五年的日線數據,確保涵蓋升市、跌市與橫盤。

第二步,做完整清洗:檢查除息、拆股、缺失值與時區,並記下每一步的處理方式,方便日後覆核。

第三步,檢查兩個偏差:訊號與成交時點是否一致,標的列表是否包含已退市股份。

第四步,回測後記錄勝率、盈虧比、最大回撤與夏普比率,用判讀表逐一對照。

第五步,成本假設保持保守:把 0.1% 至 0.2% 的來回成本計入每筆交易,再看策略是否仍然成立。

養成這五步習慣,你的回測才會開始講真話。想系統化掌握數據與回測的方法框架,可參考 量化交易 服務頁的說明。

常見問題

問:免費數據做回測夠用嗎?

答:夠用於學習與流程練習,但免費數據常有調整不一致、缺失值與時區錯位等問題。策略進入實盤驗證階段,建議改用交易所級或付費數據重跑一次,確認結論沒有被數據品質扭曲。

問:前視偏差和倖存者偏差有什麼分別?

答:前視偏差是回測用了當時還未公開的資訊,例如以收盤價訊號假設開盤價成交;倖存者偏差是漏掉已退市或倒閉的標的,令過往回報被高估。前者偷看未來,後者遺忘過去,兩者都會令回測虛假樂觀。

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

答:沒有絕對標準,勝率必須與盈虧比一起讀。可先計算期望值:勝率乘平均盈利,減失敗率乘平均虧損,結果為正才值得考慮。與其追求高勝率,不如確認整套系統的期望值為正。

問:回測數據要回多久才夠?

答:一般建議最少五年至十年,並涵蓋不同市況。數據太短,統計樣本不足;數據太舊,市場結構已變。另外要確認標的列表包含該期間的退市股份,否則數據再長也有倖存者偏差。

問:數據清洗是不是一定要自己寫程式?

答:不一定。不少平台提供內建回測與前復權數據,會自動處理大部分企業行動。但要理解每步處理的含義,懂得檢查訊號時點與標的完整性,才能判斷結果是否可信。

問:回測表現好,實盤卻虧錢,問題通常出在哪?

答:最常見是數據問題,包括前視偏差、倖存者偏差與成本假設太樂觀;其次是過擬合,即參數過度貼合歷史。建議逐一排除:先檢查數據與成本,再看樣本外表現,兩者都通過才考慮策略本身。

準備好為自己的回測打穩數據基礎?立即 WhatsApp 聯繫小風團隊免費諮詢:+852 5378 5383

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

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

分享到:
null

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

null
© 2026 Weber All Right Reserved