返回資訊
PRODUCT UPDATE2025年12月3日
歷史資料品質如何影響回測結果的可信度
做量化交易系統開發時,很多人把精力都放在策略邏輯和回測引擎的實作上,卻容易忽略一個更基礎的問題:資料本身的品質。事實上,回測系統的可信度是由「最差的那部分資料」決定的,邏輯再嚴謹,底層資料有問題,結論照樣站不住腳。
第一類問題是資料缺失與錯誤值。停牌、交易所維護、資料來源故障都可能導致某些時間點的資料缺失或出現異常值(例如價格瞬間跳到明顯不合理的水準)。如果回測引擎對缺失值做簡單的前值填補或線性插值,而沒有識別出這是「真實缺失」還是「資料錯誤」,可能會讓策略在回測中「學到」一些根本不存在的規律。
第二類是除權息處理。涉及配息、股票分割等公司行動的商品,價格序列需要做除權息調整,否則會在價格走勢裡產生虛假的跳空,直接影響依賴價格突破或動量類訊號的判斷。前復權與後復權的選擇,也會影響報酬率計算的口徑,需要在系統中保持一致。
第三類是時間戳對齊問題。當策略需要用到多個資料來源(例如不同市場、不同頻率的資料)時,各資料來源的時間戳基準、時區、更新延遲都可能不一樣,如果沒有統一對齊,回測引擎可能會在不知不覺中把還沒發生的資料「提前」用上,這其實是前視偏誤的常見來源之一。
第四類是倖存者偏誤。如果歷史資料庫裡只保留了現在還存在的標的,那些已經下市、摘牌或被清算的商品就會從歷史樣本裡消失,用這樣的資料做出來的策略回測,往往會系統性地高估報酬,因為它「看不到」那些失敗的案例。
第五類是資料來源之間的不一致。不同資料供應商對同一商品、同一時間點給出的資料可能有細微差異,尤其在極端行情下,這種差異可能被放大,需要做交叉校驗來發現異常。
從系統設計的角度,比較穩妥的做法是在資料接入層就建立專門的資料品質檢測模組,對缺失率、跳動幅度、跨資料來源一致性做自動化校驗,並把檢測結果作為回測報告的一部分呈現出來,而不是假設資料「理所當然是對的」。
