曲線套入curve fitting和 過度最佳化over fitting是什麼意思?

最後更新:2021-06-02

曲線套入curve fitting和 過度最佳化over fitting是什麼意思?

今天市場先生要介紹 2個常被搞混的專有名詞:

1. 曲線套入 curve fitting
2. 過度最佳化 over fitting

曲線套入和 過度最佳化會用在哪?

這兩個詞會出現在程式交易或量化統計,在設計一套交易系統時,

「如何決定參數?」這個環節使用。

先從「如何決定參數」這件事開始說起

什麼是”參數”呢?

舉個簡單的例子,
如果想泡一杯鮮奶茶,要加多少牛奶?
加的數量不同,鮮奶茶口味也不一樣,
例如:這次可以放1/2鮮奶,下次可以放1/3鮮奶。

其中,1/2或1/3的數字高低,就可以稱為「參數」。
下次也許可以改成3/5,總之它可以被改變。
舉投資裡的例子,我想用 移動平均線 代表”長期”市場參與者的成本,作為投資時的參考依據。
例如:120日的移動平均線這”120日”,又稱為”參數”,因為它是可以變的。
可以是60日或150日。

(可否變動,根據策略而定,如果你認為它不可以變動,它就不算參數。)

決定要用哪個參數有2種方法:

方法1. 根據你的經驗和邏輯,判斷出一個範圍,然後選一個數字

例如,根據經驗,我覺得鮮奶茶的牛奶,放 1/2~1/4比較適合。

方法2. 用把所有數字的效果都測試一次,根據成效選一個數字

例如,我把每增加 10cc牛奶的差別都試一次,再重新決定好壞。

參數不會只有 1個要決定,有時少則 5個多則 10個以上,
例如:影響鮮奶茶的味道,除了鮮奶的比例,還有鮮奶的牌子、使用的茶、溫度…等等。

設計交易系統時,因為我們希望交易的方式能長期穩定,
需要把參數定下來,不然一天到晚改來改去,這就稱不上系統了。

市場先生提示:有些策略設計可以做到無參數、極少參數,其實這種是最理想的狀況。

方法1很靠經驗和觀察,這其實是比較好的參數設定方法,但很多時候你也會發現經驗是錯的。

方法2,把所有數字測一次看效果,是個不錯的方式,也可以驗證一下經驗是否正確。

但無論是方法1或方法2,尤其方法2,只要有你有設參數,就會衍生2個問題,
也就是 「曲線套入curve fitting」和「過度最佳化over fitting」這兩個問題。

這兩個問題都會導致交易系統在過去有用,但在未來都沒用

1. 曲線套入 curve fitting:

以下盡可能舉比較好懂的例子,雖然無法完全相似,但可以理解它的意思。

在考試前,有個學生每堂課都翹課,
但他天資聰穎,看了10年的考古題的題目和答案後,
他發現,選擇題有ABCD,但每次考古題有個神奇的現象,
如果每次出現A之後下題就選B,出現C之後就選D,就能輕鬆考到70分以上。

這個學生就犯了 曲線套入curve fitting 的錯誤,
也許那些答案都只是無心的結果,
換了個出題老師,他錯誤的邏輯可能就會在未來犯下一連串的錯誤。

曲線套入,指的是用過去的資料,建立了一套脈絡、模式,
但這套模式根據過去資料過度優化,不見得適用在未來。

曲線套入,就是指在用電腦做參數測試時,讓它對過去的歷史資料過度的優化,
導致未來的股票如果有和過去都不同的變化,它可能就會損失慘重。

它的特色是,這套策略在過去是神兵利器,買最高賣最低,賺到每次的大漲大跌,
但實際用在未來就失效了。

當使用的參數過多,或策略方程式太複雜,很容易就發生曲線套入,

曲線套入發生原因:用無邏輯的黑盒子方程式、過多參數,去建立策略,而恰巧結果不錯。

曲線套入解決方法:讓策略單純、少參數,就可以避開。

2. 過度最佳化 over fitting:

舉個例子:

有一位考生,念書完全沒有理解,
但他發現,有6題考古題,過去每一年都有出,
把這6題背下來,只要題目與過去一模一樣,他這次就至少能考60分。

這個學生則是犯了 過度最佳化over fitting 的錯誤。
只要出題的範圍或類型有變化,例如換了個老師出題,
他就完全無法回答。

過度最佳化,是指根據過去最好的狀況去決定參數,
去預期未來最好的參數也是同一個,但…不可能嘛

過度最佳化,是指選了一個參數,
剛好在過去非常好,甚至最好。

但今天最佳的參數,不一定是明天最佳的參數,
甚是有可能是明天最糟的參數。

例如:
某個參數,剛好讓你在過去金融海嘯可以大賺一票,
但未來發生了一個類似的大跌,
卻反而害你大幅虧損。
歷史會重演,
但市場從來不會在未來出現100%一模一樣的走勢,
因此過度最佳化注定失敗。

「歷史會重演;但歷史不會100%重演。」- 俗諺

過度最佳化發生原因:選擇了歷史績效最好的參數,讓策略在過去的報酬/風險表現最佳,但卻不見得能用於未來。

過度最佳化解決方法:同策略用多個參數運作、用rolling方式對參數做測試;選擇成效相對平滑的參數區間,而不是最佳的參數。

複習一下:曲線套入與過度最佳化

這兩個名詞,都是對過去的資料進行過度的優化,
導致在未來無法發揮作用,差別在於,

「曲線套入curve fitting」:
是指用過於複雜的方程式,或過多參數,造成交易系統過度適應過去的走勢,造成在未來很容易失效。

「過度最佳化over fitting」:
是指選了一個在過去太完美的參數數字,但它在未來卻可能表現得很極端。

除了自己設計策略的時候要小心,
可能偶而你會看到一些廣告:程式交易,過去績效X年賺XXX%。

千萬不要跳下去,它就算不是造假,也有可能它有曲線套入與過度最佳化問題。

如果真的這麼神,應該留著自己賺就好,對吧?

相關文章:

1. 更多量化分析相關文章

2. 如果美股昨天收高,台股隔天有 87%的機率上漲,但問題是….

3. 如何用Google Trends 找到股價高點?

4. 一個 撲克專家 遇到 專業賭徒,兩個人比賽誰能在賭場賺得多。結果獲勝的是…

5. 當沖交易不適合用順勢策略進場,原因是…

最近市場先生開了一堂的「用美股ETF創造穩定現金流」教學課程,
這堂課程會從基礎入門、資料查詢到實際操作,
教你學會建立一個穩定的全球ETF投資組合,目前累積已經有將近1100位同學上課。

線上課程》美股ETF創造穩定現金流線上課程連結

加入市場先生FB社團,充實更多理財好知識

50歲之前想退休一定要懂理財,
解決投資的煩惱!


如果覺得這篇文章有幫助,
幫我按個讚,分享給更多人看到,謝謝!

上 / 下一篇文章

一般留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *