把單一股票策略應用到不同股票 如何避免過度吻合陷阱 | 經一專欄
撰文:蔡嘉民 |圖片:unsplash、photoAC、新傳媒資料室
以上方法除了增加統計顯著性,亦正是在測試策略的統一應用性。 因為好策略不應只在單一股票或產品發揮,而是應該在其他相類近的環境下也能表現;不過這只是其中一個證明好策略的方法。
在繼續講述其他方法前,我們先來了解為何需要證明策略是否能有效獲利。 量化分析一直都相信,歷史數據某程度上能幫助我們預測未來的走向,因此分析師們需要進行回溯測試,以找出能獲利的策略。
回溯測試後便能得出大量表現數據,例如該策略過往10年的回報、風險、獲利穩定性等,這便可初步知道策略是否值得執行。
減少參數數目
但執行一個歷史表現不錯的策略,也不代表能在未來獲利,因為統計中有機會出現過度吻合(Over-fitting)的情況,即策略的設定或參數(Parameter)只適用於該段歷史數據,若把該策略應用於其他時間的歷史數據上,便會打回原形。
因此,即使看到一個回測數據不錯的策略,分析者也須先抱懷疑態度應對,畢竟放棄一個獲利的策略,總比執行一個無效策略而虧損好。
增加測試的產品數目,正是其中一個方法去防止出現過度吻合的情況;此外,減少參數數目亦是一個好方法。
有一個例子,筆者經常用來解釋過度吻合的概念。多年前曾經測試一個長揸美股的策略,測試中打算加入一些條件以避過歷史中的大型回調及波動,於是便放進電腦去進行優化(Optimization),經過一輪測試後,電腦發現在某些特定日子平倉,能有效避過回撤(Drawdown)。
細看日期,分別是6月24日、9月11日及11月9日。心水清的讀者應知道這三個日子正是「脫歐」公投日、「911事件」以及總統選舉日。
微調附近參數
優化後的策略回報穩定得多,但問題是未來的大事件發生日期,不會與過往的發生事件的日子相同;因此,若把這些參數加入策略中,並不會有效讓交易者避過未來的回撤。
所以,無意義的參數愈多,只是增加策略過度吻合的機會。 除此之外,若果測試出來的策略參數真的有效,在它附近的參數也應有相類近的表現。
再以上述例子說明,分析者可嘗試微調參數,把6月24日改前一天,變成6月23日;把9月11日改前一天,變成9月10日,餘此類推,若果附近參數也能顯示出類近的表現,那這些參數就有意義。
再舉個常見的例子,例如在一個測試中發現恒生指數若於前五天上升超過1,000點的話,趨勢便會延續。
如果這個策略及參數真的具意義,那把參數調整到950點或1,050點,相信策略表現不會大打折扣;若果面目全非,便有很大機會相信,測試出現了過度吻合的情況。
編按:作者蔡嘉民為香港程式交易研究中心(HKPTRC) 聯合創辦人,擅長發掘金融市場數據,尋找有利的交易機會。
免責聲明:本專頁刊載的所有投資分析技巧,只可作參考用途。市場瞬息萬變,讀者在作出投資決定前理應審慎,並主動掌握市場最新狀況。若不幸招致任何損失,概與本刊及相關作者無關。而本集團旗下網站或社交平台的網誌內容及觀點,僅屬筆者個人意見,與新傳媒立場無關。本集團旗下網站對因上述人士張貼之資訊內容所帶來之損失或損害概不負責。