回測是一個在量化投資界很重要但也容易被誤解的概念。很多人把它當作一種研究工具,但其實這很危險。大多數學術論文裡面的回測通常有錯誤,主要是因為選擇性偏見和多次測試。
回測其實就是用過去的數據來模擬一個投資策略會有什麼表現。但它只是一個模擬,並不能保證未來會有同樣的結果。不像在物理實驗室,我們不能重複實驗來確定因果關係。
假設你的回測做得非常好!即使你設定了非常保守的條件,比如付出比別人更高的交易價格,或者在大家都知道某個訊息後才執行交易,你還是賺了不少錢。但即使這樣,你的回測結果也可能是錯的。
為什麼呢?因為做出完美回測通常需要專家大師國寶青眼究極的經驗,而這代表你很可能已經做過很多次回測。問題是,當你多次測試相同的數據集,有可能會偶然地得到一個看似成功但實際上是錯誤的結果。這種現象叫做「偽發現」。
更糟糕的是,越是精通回測,越有可能出現這種偽發現。即使是專業人士也會犯一些常見的錯誤,比如多重測試、選擇偏見或過度擬合數據,這些都可能讓你的回測結果看似成功,但實際上是不準確的。
在機器學習和投資領域,很多人會誤以為模型中特徵很重要就意味著能賺錢。其實不是這樣,特徵重要性主要是用來研究和理解機器學習模型是怎麼運作的,而不一定能幫你賺錢。
另一方面,很多人也用回測來試著找出賺錢的方法。但實際上,回測並不能告訴你為什麼某個策略會賺錢,它只是告訴你在過去某個時間段裡,這個策略有沒有賺錢。就像中樂透的人通常會覺得自己很幸運,但其實那只是偶然。
用回測來調整你的投資模型不只是浪費時間,還可能是危險的。因為你可能會誤以為找到了一個有效的方法,但實際上那只是偶然。所以,最好是先確定你的模型的所有其他方面都是對的,包括數據、標籤、權重等等,然後再進行回測。如果回測結果不好,那就得從頭再來,而不是試圖修改現有的模型。
回測過擬合是一個問題,這種情況下你的投資策略在過去的數據上看起來表現得特別好,但實際上卻可能失敗。因為你可能只是不小心抓住了一些隨機的、不會再次出現的模式。
幾個建議來避免這個問題:
多元化策略:不要只專注於一種特定的投資(比如某一支股票);嘗試應用你的策略於一個更廣泛的市場。
使用裝袋法bagging:這是一種統計手法,用來減少模型的不穩定性。如果用了這個方法後策略表現變差,那可能是因為你的模型過於依賴一些極端的、不常見的數據。
先研究後回測:在你對所有可用的資料進行研究之後,再進行回測。
記錄所有回測:這樣你就能更準確地評估你的策略是否真的可靠,或者只是碰巧在過去的數據上表現得好。
模擬不同情境:不要只依賴過去的數據來測試你的策略。嘗試在不同的模擬情境下進行測試,以確保你的策略真的具有普遍的有效性。