最佳化??? - 財經
By Susan
at 2016-06-05T04:29
at 2016-06-05T04:29
Table of Contents
有修文章過 建議從頭開始看比較容易瞭解
※ 引述《gfee1 (fjijfsiodj)》之銘言:
: ※ [本文轉錄自 Stock 看板 #1NKXuGhB ]
: 作者: gfee1 (fjijfsiodj) 看板: Stock
: 標題: [請益] 最佳化???
: 時間: Sat Jun 4 08:17:17 2016
: 1.程式交易有提到不應該過度追求參數最佳化
: 2.1
: 但如果發現
: 禮拜一適合做多,就只做多
if f(x)=ax^3+bx^2+cx+d and f(D)=E
: 禮拜三適合放空,就只做空
if f(F)=G
please find f(x)
: 2.2
: 或者是今日出手兩次皆失敗
: 代表今日不適合作單的模型
: 就停止作單
on the other hand, you find that
if f(H)=I
also please find f(x)
: 依據第二點的"特性"下去作單
: 是否也犯了第一點的最佳化的陷阱?
: 還是這兩者有差異?
moreover, the market is not only on deg f(x)=3
it cloud be on deg f(x)=n
※ 編輯: harry901 (36.231.227.104), 06/05/2016 04:31:15
如果把市場比喻成函數f(x)
我們現有的資料集合k:f(Ak)=Bk
但是deg(f)=n 市場機制必然產生n>k 或n<k
最佳化的過程 就是讓我們頂多只能盡量讓k接近n
但不可能等於n 因為這是不可能發生的 市場的混沌比我們想像中複雜
以下以n>k為例子探討
由於n>>k trader只是在動態市場上的某個時點(區間)內
最佳化使得f(x)有一定資料
因此原文問的作法 沒有一定對錯
因為原文問的部份比較不算在"過度參數最佳化"的範疇之內
能扯上關係的只是過度條件最佳化(文末有解釋)
所謂過度最佳化 乃是指 太過依賴最佳化進而造成交易系統失真的過程
目前的程式交易必定是由過去的資料去推算未來的資料
當如上述的例子 對於每一個k 使得f(Ak)=Bk 這些k的集合都是過去的參數
因此若某人有交易系統做正常最佳化
必當可得到一條相近的f(x)=ax^n+bx^(n-1)+cx^(n-2)+d....+
則此f(x)是正常最佳化後的結果 其中可能有混沌參數n,a,b...這些未知
也有可能得到確定的數據c,d....
但若過度最佳化 則猶如上述對於每一個K,則f(AK)=BK
其中K>k, 表示資料過度依賴的部份為K-k
同理也可得到一條相近的F(x)=Ax^n+Bx^(n-1)+.....
這時由於K>k, 必然使得(n,a,b...)的量<(n,A,B....) 且(C,D...)的量>(c,d...)
因此F(x)會比f(x)更具體 或者說 f(x)比F(x)還要混沌複雜
但是因為K是過度依賴過去數據的部份造成F(x) 會產生與市場失真的現象
這個就是過度最佳化的弊端
如果說上面看得有點抽象 下面的例子比較好懂
假若真實市場f(x)是10次函數
某人測得市場上四個數據找到h(x)=3x^4-2x-1 (四個數據只能假設多項方程式為四次
最佳化的目的就是希望找到真實f(x)
然而另一人以相同數據再做最佳化,
他比上一個人還多了一些假設(比如市場必通過原點),而這些假設通常沒有標準答案
因此得到g(x)=x^5-3x^2-2
同樣的市場 一個是h, 一個是g來描述
g很明顯比h更精確 但是卻不是更具體 反而增加了原本的混沌
因為市場f(x)是10次 是比g,h還要混沌的系統
回到原文 有些最佳化是有利系統找出一個h接近f
有些最佳化則是相反會讓不利於系統 而找出一個g接近f
而這個g就是過度最佳化產生的結果 他雖然明確 但是他失真了
因此如果說原文的疑惑要用過度最佳化解釋
""星期一作多 星期三空 外加條件失敗兩次就不作""
上面是三個條件 拿去跑最佳化 可能得到h
(情況一)
""回測資料區間由60天拉長至90天""
""回測資料區間由60天縮短至30天""
加上上面任何一條件 拿去跑最佳化 可能得到h' 也可能得到g
因為日線是系統的參數
如果得到g 觀察系統如果有些特定資料有問題 表示對系統過度參數最佳化
如果得到h' 同理觀察系統 在合理範圍的部份 則表示還沒有過度參數最佳化
通常如何判斷過度最佳化 一般都是看MaxDD, 最大payoff等合不合理
每個人判斷的準則不一 這部份沒有一定答案
(情況二)
而若是
""前一天交易量>前前一天交易量且前一天股價>前前一天 則作多""
如果只考慮這個條件加上去原本假設 同理也會產生g,h'
一樣的分析可得到底有沒有過度最佳化
這部份因為跟參數無關因此一般都叫做系統條件過度最佳化
通常由於策略產生的過度最佳化 大部分都是因策略彼此的相依性而產生
這種情況發生的次數比較少 (前提是資料量夠大)
因為策略產生的最佳化資料就像濾鏡一樣會過濾掉不少資料
過濾的過程只是把最佳化的幾個解再過濾而已
參數的過度最佳化反而是最常見的
因為系統最依賴參數 參數有任何變動其實影響很大
※ 編輯: harry901 (36.231.227.173), 06/07/2016 03:53:24
※ 編輯: harry901 (36.231.227.173), 06/07/2016 04:00:55
※ 引述《gfee1 (fjijfsiodj)》之銘言:
: ※ [本文轉錄自 Stock 看板 #1NKXuGhB ]
: 作者: gfee1 (fjijfsiodj) 看板: Stock
: 標題: [請益] 最佳化???
: 時間: Sat Jun 4 08:17:17 2016
: 1.程式交易有提到不應該過度追求參數最佳化
: 2.1
: 但如果發現
: 禮拜一適合做多,就只做多
if f(x)=ax^3+bx^2+cx+d and f(D)=E
: 禮拜三適合放空,就只做空
if f(F)=G
please find f(x)
: 2.2
: 或者是今日出手兩次皆失敗
: 代表今日不適合作單的模型
: 就停止作單
on the other hand, you find that
if f(H)=I
also please find f(x)
: 依據第二點的"特性"下去作單
: 是否也犯了第一點的最佳化的陷阱?
: 還是這兩者有差異?
moreover, the market is not only on deg f(x)=3
it cloud be on deg f(x)=n
※ 編輯: harry901 (36.231.227.104), 06/05/2016 04:31:15
推 ETHZ: 請問哈利你在幹嘛? 06/06 00:26
推 Genki626: 哈利大的意思應該是說市場沒有想像中簡單 觀察到的只是 06/06 06:39
推 Genki626: 一個點而已嗎? 06/06 06:39
→ piss: function changes everyday 哭哭 06/06 17:09
推 nds3ds: 深奧! 06/07 00:19
其實就是簡單的求函數的一種概念而已 如果把市場比喻成函數f(x)
我們現有的資料集合k:f(Ak)=Bk
但是deg(f)=n 市場機制必然產生n>k 或n<k
最佳化的過程 就是讓我們頂多只能盡量讓k接近n
但不可能等於n 因為這是不可能發生的 市場的混沌比我們想像中複雜
以下以n>k為例子探討
由於n>>k trader只是在動態市場上的某個時點(區間)內
最佳化使得f(x)有一定資料
因此原文問的作法 沒有一定對錯
因為原文問的部份比較不算在"過度參數最佳化"的範疇之內
能扯上關係的只是過度條件最佳化(文末有解釋)
所謂過度最佳化 乃是指 太過依賴最佳化進而造成交易系統失真的過程
目前的程式交易必定是由過去的資料去推算未來的資料
當如上述的例子 對於每一個k 使得f(Ak)=Bk 這些k的集合都是過去的參數
因此若某人有交易系統做正常最佳化
必當可得到一條相近的f(x)=ax^n+bx^(n-1)+cx^(n-2)+d....+
則此f(x)是正常最佳化後的結果 其中可能有混沌參數n,a,b...這些未知
也有可能得到確定的數據c,d....
但若過度最佳化 則猶如上述對於每一個K,則f(AK)=BK
其中K>k, 表示資料過度依賴的部份為K-k
同理也可得到一條相近的F(x)=Ax^n+Bx^(n-1)+.....
這時由於K>k, 必然使得(n,a,b...)的量<(n,A,B....) 且(C,D...)的量>(c,d...)
因此F(x)會比f(x)更具體 或者說 f(x)比F(x)還要混沌複雜
但是因為K是過度依賴過去數據的部份造成F(x) 會產生與市場失真的現象
這個就是過度最佳化的弊端
如果說上面看得有點抽象 下面的例子比較好懂
假若真實市場f(x)是10次函數
某人測得市場上四個數據找到h(x)=3x^4-2x-1 (四個數據只能假設多項方程式為四次
最佳化的目的就是希望找到真實f(x)
然而另一人以相同數據再做最佳化,
他比上一個人還多了一些假設(比如市場必通過原點),而這些假設通常沒有標準答案
因此得到g(x)=x^5-3x^2-2
同樣的市場 一個是h, 一個是g來描述
g很明顯比h更精確 但是卻不是更具體 反而增加了原本的混沌
因為市場f(x)是10次 是比g,h還要混沌的系統
回到原文 有些最佳化是有利系統找出一個h接近f
有些最佳化則是相反會讓不利於系統 而找出一個g接近f
而這個g就是過度最佳化產生的結果 他雖然明確 但是他失真了
因此如果說原文的疑惑要用過度最佳化解釋
""星期一作多 星期三空 外加條件失敗兩次就不作""
上面是三個條件 拿去跑最佳化 可能得到h
(情況一)
""回測資料區間由60天拉長至90天""
""回測資料區間由60天縮短至30天""
加上上面任何一條件 拿去跑最佳化 可能得到h' 也可能得到g
因為日線是系統的參數
如果得到g 觀察系統如果有些特定資料有問題 表示對系統過度參數最佳化
如果得到h' 同理觀察系統 在合理範圍的部份 則表示還沒有過度參數最佳化
通常如何判斷過度最佳化 一般都是看MaxDD, 最大payoff等合不合理
每個人判斷的準則不一 這部份沒有一定答案
(情況二)
而若是
""前一天交易量>前前一天交易量且前一天股價>前前一天 則作多""
如果只考慮這個條件加上去原本假設 同理也會產生g,h'
一樣的分析可得到底有沒有過度最佳化
這部份因為跟參數無關因此一般都叫做系統條件過度最佳化
通常由於策略產生的過度最佳化 大部分都是因策略彼此的相依性而產生
這種情況發生的次數比較少 (前提是資料量夠大)
因為策略產生的最佳化資料就像濾鏡一樣會過濾掉不少資料
過濾的過程只是把最佳化的幾個解再過濾而已
參數的過度最佳化反而是最常見的
因為系統最依賴參數 參數有任何變動其實影響很大
※ 編輯: harry901 (36.231.227.173), 06/07/2016 03:53:24
※ 編輯: harry901 (36.231.227.173), 06/07/2016 04:00:55
推 dodo222kimo: 這篇可以M起來嗎 還蠻不錯的 有很多啟發點 06/07 04:16
推 Genki626: 感謝harry大的分享 06/07 08:20
※ 編輯: harry901 (36.231.227.173), 06/07/2016 08:48:54 推 ETHZ: 應觀眾要求,已脫...不是,是已M.... 06/07 09:06
推 Sueo: 感謝 06/07 09:23
推 vbnwei: 推一下~ 06/09 12:31
推 Justisaac: 這篇得推 講得觀念不錯~ 06/10 17:54
推 bab7171: 最佳化可以說參數間相依性過高嗎? 06/14 07:50
→ harry901: 過度相依是原因 但結果非全然過度相依 06/14 09:25
Tags:
財經
All Comments
By Zanna
at 2016-06-07T03:03
at 2016-06-07T03:03
By Tom
at 2016-06-09T15:25
at 2016-06-09T15:25
By Caitlin
at 2016-06-13T06:58
at 2016-06-13T06:58
By Joseph
at 2016-06-16T16:40
at 2016-06-16T16:40
By Hedda
at 2016-06-18T18:38
at 2016-06-18T18:38
By Rachel
at 2016-06-19T17:51
at 2016-06-19T17:51
By Queena
at 2016-06-24T11:22
at 2016-06-24T11:22
By Robert
at 2016-06-29T10:15
at 2016-06-29T10:15
By Enid
at 2016-07-04T09:20
at 2016-07-04T09:20
By Franklin
at 2016-07-07T11:55
at 2016-07-07T11:55
By Skylar DavisLinda
at 2016-07-11T00:38
at 2016-07-11T00:38
By Kyle
at 2016-07-13T12:03
at 2016-07-13T12:03
Related Posts
2016/05/30~2016/06/04 週閒聊
By Edith
at 2016-05-30T08:17
at 2016-05-30T08:17
精神差的時候真的不要做單
By Elvira
at 2016-05-25T08:22
at 2016-05-25T08:22
永豐全新一代走獨立主機線路api大戶專屬
By Kristin
at 2016-05-24T22:09
at 2016-05-24T22:09
請問eleader時間設定語法
By Hardy
at 2016-05-24T22:04
at 2016-05-24T22:04
徵求OP當沖高手10名
By George
at 2016-05-24T21:24
at 2016-05-24T21:24