iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0
AI & Data

從零到英雄:用GCP建立AI交易體系系列 第 20

Day20 回測的風險與誤區

  • 分享至 

  • xImage
  •  

為什麼要談回測風險?

回測是一個在量化投資界很重要但也容易被誤解的概念。很多人把它當作一種研究工具,但其實這很危險。大多數學術論文裡面的回測通常有錯誤,主要是因為選擇性偏見和多次測試。

找不到完美的回測

回測其實就是用過去的數據來模擬一個投資策略會有什麼表現。但它只是一個模擬,並不能保證未來會有同樣的結果。不像在物理實驗室,我們不能重複實驗來確定因果關係。

常見的回測錯誤

  1. 生存偏差: 只考慮現在還存在的公司,忽略了已經破產或退市的公司。
  2. 展望偏差: 使用了當時還不公開的信息。
  3. 故事編造: 用事後的解釋來合理化數據。
  4. 數據挖掘: 在同一組數據上過度訓練模型。
  5. 交易成本: 未能準確模擬實際交易成本。
  6. 異常值: 根據不常見的極端情況來制定策略。
  7. 做空問題: 忽視了實際做空交易的限制和成本。

其他需要注意的點

  • 使用錯誤的計算方法。
  • 只看回報,忽視其他重要指標。
  • 混淆了相關性和因果關係。
  • 選擇了不代表性的時間段。
  • 忽視突發事件和融資成本。

假設你的回測做得非常好!即使你設定了非常保守的條件,比如付出比別人更高的交易價格,或者在大家都知道某個訊息後才執行交易,你還是賺了不少錢。但即使這樣,你的回測結果也可能是錯的。

為什麼呢?因為做出完美回測通常需要專家大師國寶青眼究極的經驗,而這代表你很可能已經做過很多次回測。問題是,當你多次測試相同的數據集,有可能會偶然地得到一個看似成功但實際上是錯誤的結果。這種現象叫做「偽發現」。

更糟糕的是,越是精通回測,越有可能出現這種偽發現。即使是專業人士也會犯一些常見的錯誤,比如多重測試、選擇偏見或過度擬合數據,這些都可能讓你的回測結果看似成功,但實際上是不準確的。

在機器學習和投資領域,很多人會誤以為模型中特徵很重要就意味著能賺錢。其實不是這樣,特徵重要性主要是用來研究和理解機器學習模型是怎麼運作的,而不一定能幫你賺錢。

另一方面,很多人也用回測來試著找出賺錢的方法。但實際上,回測並不能告訴你為什麼某個策略會賺錢,它只是告訴你在過去某個時間段裡,這個策略有沒有賺錢。就像中樂透的人通常會覺得自己很幸運,但其實那只是偶然。

用回測來調整你的投資模型不只是浪費時間,還可能是危險的。因為你可能會誤以為找到了一個有效的方法,但實際上那只是偶然。所以,最好是先確定你的模型的所有其他方面都是對的,包括數據、標籤、權重等等,然後再進行回測。如果回測結果不好,那就得從頭再來,而不是試圖修改現有的模型。

建議

回測過擬合是一個問題,這種情況下你的投資策略在過去的數據上看起來表現得特別好,但實際上卻可能失敗。因為你可能只是不小心抓住了一些隨機的、不會再次出現的模式。

幾個建議來避免這個問題:

  1. 多元化策略:不要只專注於一種特定的投資(比如某一支股票);嘗試應用你的策略於一個更廣泛的市場。

  2. 使用裝袋法bagging:這是一種統計手法,用來減少模型的不穩定性。如果用了這個方法後策略表現變差,那可能是因為你的模型過於依賴一些極端的、不常見的數據。

  3. 先研究後回測:在你對所有可用的資料進行研究之後,再進行回測。

  4. 記錄所有回測:這樣你就能更準確地評估你的策略是否真的可靠,或者只是碰巧在過去的數據上表現得好。

  5. 模擬不同情境:不要只依賴過去的數據來測試你的策略。嘗試在不同的模擬情境下進行測試,以確保你的策略真的具有普遍的有效性。


上一篇
Day19 每次下單大小
下一篇
Day 21 詳細的交叉驗證回測討論_CPCV組合式清洗交叉驗證法(上)
系列文
從零到英雄:用GCP建立AI交易體系34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言