◢ 回測 - 參數最佳化的迷思(附程式碼) ◣
找到「歷史報酬率」好的策略很簡單
但是找到「未來報酬率」好的策略非常難。
為什麼?
原因在於做了過多的參數枚舉與優化,當樣本數夠大,自然會有極端的數據產生,就像是夜路走多了會碰到鬼,人多必有白癡,樹多必有枯枝,就像是量子力學中,波函數坍縮成我們所處的現實,代表著均值,但在極端的多重宇宙樣本中,你也有可能是總統,代表著眾多巧合下的極端事件。
本文用口語的方式,帶你瞭解如何判斷過擬合的演算法
牛頓從蘋果落地的現象,發現了萬有引力,F=ma,因為實驗的雜訊很小(風、熱能散失等等),才能有經典、簡潔的公式,然而把牛頓的實驗,換到財經領域時,可能就不是這麼管用了,當我們在建模時,價格的雜訊遠大於規律
我們很有可能是優化雜訊,而非優化價格的規律!
要怎麼辨別這兩者的不同呢?
我們可以先從直觀的角度出發,究竟歷史上成功的偉人,Bill Gates、Steve Jobs、Elon Musk,這些科技巨擘,他們之所以能夠有今天的成就,是一連串的巧合,還是他們有一些人格特質,促使他們的成功?另一個極端的例子,假如今天某人中了樂透彩而一夕爆富,那很明顯,他很可能是多重宇宙中,非常成功的一個版本,但他的成功,可能並非來自他的人格特質,而是來自運氣。運氣跟命運,看似哲學,但跟策略過擬合有著極大的關連!
模型的過擬合,就像是簽樂透彩,只要參數夠多了,總會中獎。所以策略績效好,究竟是不是運氣好?最重要的關鍵,就是要確保「實驗是有效的」。如何定義實驗是有效的呢?
我們提供了兩篇文章,讓你瞭解防止 overfitting 的方法:
👉避免過擬合的演算法介紹:
https://pse.is/overfitting1
👉演算法的實驗以及程式碼:
https://pse.is/optimization2
深入淺出的介紹,
製作精良的代碼,
需要你多多按讚分享,好東西讓好朋友知道!
#python
#backtesting
#optimization
Search