→ rcwang: 糟糕, 我前半段文章少掉, 我編輯一下 XD 09/30 22:37
※ 編輯: rcwang (123.194.177.141), 09/30/2018 22:38:34
推 willchen: 實在是太感恩您的建議了!整個超專業的!我會再按照您提的 09/30 22:49
→ willchen: 再下去進一步研究學習,畢竟很多東西自學亂學的,很多基 09/30 22:50
→ willchen: 礎都不太扎實!謝謝您的建議!我會再努力謙卑的學習下去! 09/30 22:51
→ rcwang: 我可能烙太多術語... 不過你仔細思考就會漸漸明白我的意思 09/30 22:57
→ rcwang: 就是一些邏輯推論, 像看醫生一樣 09/30 22:58
推 micbrimac: 大大好認真 雖然我都懂您舉的這些參數分析意思 09/30 23:04
→ micbrimac: 但綜合起來 真的不知道怎麼去考量這些參數 來評估一個 09/30 23:04
→ micbrimac: 策略的好壞 以及要不要用@@ 09/30 23:04
→ ProTrader: MC的回測教學應該有相關的內容可以參考 09/30 23:26
回復 micbrimac 的提問
每一種不同建構策略的方式,他的參數優化方式和軌跡都不太一樣
包含你回測的時間尺度,回測的長度,你交易的標的數量等...
不過硬要給一個「拋磚引玉」讓大家能自己發展優化方法的框架的話
我底下提供一個簡單的方法,但是實際上絕對要根據你需求調整
1. 先看獲利因子 Profit Fator
1.1. 獲利因子沒有超過 0.5 :
基本上很可能是輸交易成本
這種情況你要畫一條 Alpha Loss 的線出來,如下:
https://i.imgur.com/8IiBvEV.png
這條線的斜率就是負的單位交易成本,先看你的 payoff
如果你的線低於 Alpha Loss 很多,你可以考慮 策略倒置
也就是買變賣,賣變買,否則的話你應該還是會得到 Alpha Loss
一般來說 PF 小於 0.5 應該會優先 調整參數、修改策略訊號
或是觀察策略進出場和 ATR / ADX 這種波動指標的關係
是不是都在波動太大的時候進場,在波動太小的時候出場
可能被市場噪音造成策略的無妄之災,機率很低啦
1.2. 獲利因子介在 0.5 到 2 之間:
通常情況獲利因子能有 0.5 以上,我們就可以進到第二階段
觀察勝率 (Win Ratio)
1.3. 獲利因子在 2-5 之間:
通常獲利因子能到 2-5 ,我首先會做的是延長我的回測期間
固定參數來回測累積每一個區間的獲利因子 (尚未Rolling)
如果都能在 2-5 左右的話,我會考慮進一步考慮資金管理穩定到 3
1.4. 獲利因子在 5 以上:
獲利因子在 5 以上很有可能交易數量不夠
我不太喜歡獲利因子太高的情況,我會先看夏普值
夏普值如果太高,超過 0.3 的話
我會猜測交易數量不到這個策略該有的水準
我會更激進的想要提高勝率,多輸一點小 Trade 沒關係
當然凡事都有例外(笑)
2. 觀察勝率 Win Ratio
2.1. PF 在 0.5 ~ 2 ,但勝率在 40% - 60%
這個階段你應該優先提升勝率到 60%
當然你說 53% 不行嗎? 55% 不行嗎?當然也可以
你會發現你在優化的時候,你優化的策略會有個接近 50% 的勝率瓶頸
這邊只是要先確定,整個策略的體質是好的
一個策略在還沒有使用資金管理之前,勝率是他基本的體質
如果你能做到 40% ,嘗試看看在同樣的回測區間優化到 60%
假設勝率可以提高到 60% 接下來就是 Recovery Factor
2.2. PF 在 0.5 ~ 2 或 2 ~ 5,但勝率低於 40%
這是很好玩的問題,你的 PF 有一咪咪,但你勝率極低
這個狀況你的整個損益可能是透過期望驅動
所以這時候我會去看 Expected Payoff (期望報酬)
也就是 Win Ratio ×Avg. Gain + (1 - Win Ratio) × Avg. Loss
然後我會去嘗試提高勝率,但每次都監察 Expected Payoff
只要 Expected Payoff 掉的太誇張,代表說這可能就是勝率頻頸
我會看 Total Net Profit / Expected Payoff ,但我沒辦法給具體數字
一樣,嘗試提高勝率到一個階段,我就會看 Recovery Factor
2.3. PF 在 2 ~ 5 且勝率也有 60%
這是最理想的情形,接著觀察 Recovery Factor
這邊要特別留意你不能使用到任何加減碼
因為我會拿資金管理來優化 Recovery Factor
這個階段你只能使用到 Stop Loss 及 Take Profit 而已
3. 觀察 Recovery Factor
※底下開始礙於表達能力,很多東西可能很難懂※
3.1. Recovery Factor 低於 8
A. 使用延遲進場
我會嘗試使用 MAE / MFE 分析,來調整 Stop Loss 及 Take Profit
以及透過延遲進場 (Delay Entry) 化部分 MAE 變成 MFE
也就是說進場買進 X 元,就改成在 X - 10 的位置放限價單
然後重新跑一次回測,看看 MAE 是否能減少
另外一種方式,就是考慮輸手的 MFE (Lose Trade MFE)
也就是輸手的 MFE 如果都不超過 10 單位
那我就進場在 X+10 以上的位置,這些輸手就絕對不會進場
但換過來就是所有交易都會被 -10 的損益
Trade 太多的時候可以用
另外,有時候我也會把延遲進場的參數和策略參數上下加減一個範圍
下去一起做優化,目的就是調出一個類似的參數,但搭配延遲進場更好
B. 使用加減碼
透過 MAE / MFE 分析,我會知道怎麼加減碼
這部分有點複雜,簡單來說就是價格不利時攤平加碼 (Anti Martingale)
然後價格有利時提前減碼 (Partial Close),大概是這樣
C. 使用兩平停損(Breakeven Stop) 及移動停損 (Trailing Stop)
透過 Mximal Higher Low (MHL) 找到最佳的移動停損方式
以及透過前面提到的輸手 MFE (Lose Trade MFE) 位置放 Breakeven Stop
也就是說超過這個價格以上的交易,我認為他都應該要贏
所以把停損移動到進場價格
透過 A, B, C 原則上就會把部分的策略篩選出來
使得 Recovery Factor 達到 8 以上,到目前為止我都沒有處理 MDD
我隱含在 Recovery Factor 的處理裡面
如果是一般交易人,接下來就是開始滾動回測
然後各種可用性測試,觀察參數微調影響幅度大小(敏感度分析)
模擬歷史價格波動幅度放大 1.5x 2x 看策略反應情況
搭配選擇權,搭配極小 TP 的 避險單(Sure-and-Fire)
基本上到這邊能上場就上場了...
如果是機構交易人,還需要處理 Recovery Period
也就是多久能 Recovery 到前一個 Peak
因為機構每個月都要攤報表出去,對於 P&L 的要求會比較高
這部分的解法只能透過組合多個策略來達成,很難在單一策略優化 Recovery Period
以上,回復在此僅做留念 XD
※ 編輯: rcwang (123.194.177.141), 10/01/2018 00:13:52
推 TwBuffett: 推專業文!!! 10/01 06:48
→ TwBuffett: 有些策略常輸,但輸很少,一次贏很大.有些策略,常贏,但 10/01 07:05
→ TwBuffett: 贏很少,偶而輸一次大的.前題都要有足夠大量的交易,要 10/01 07:07
→ TwBuffett: 不然,某幾次落入極限值,會很容易懷疑和放棄. 10/01 07:07
→ TwBuffett: 另外程式交易把它當做基金來看,會比較平常心 10/01 07:08
→ TwBuffett: 市場多變只要帳戶餘額,"穩定"保持退二進三節奏就是ok的 10/01 07:11
推 vesta9: 推文 1.1 Profit Fator 小於零? 10/01 08:04
推 vesta9: Factor 10/01 08:05
推 yuiop0929: 10/01 09:25
推 gdm0037: 推 10/01 09:38
推 micbrimac: 感謝回覆! 好文推! 10/01 10:41
推 willchen: 專業好文!感恩提點! 10/01 11:25
感謝 mvesta9 以及特地來信的一個朋友
Profit Factor 部分寫錯了, 應該是 0.5
我那時候在打的時候應該是想成 Expected Payoff ....
基本上 Profit Factor < 0.5 加上 Expected Payoff < 0
大概是我認為策略需要再修正的一個條件
有沒有可能 Profit Factor < 0.5 但 Expected Payoff > 0 ?
有可能,就是你的賺錢幅度非常大,但是每次賺的次數都非常少
這有時候是有救,因為你如果有辦法讓輸的幅度相對小的情況去避免
你就會剩下只贏很大,然後贏率接近 50% 的策略
這種策略有時候能用,但還需要再進一步調整...
感謝大家發現錯誤! 我的疏失,抱歉!
※ 編輯: rcwang (123.194.177.141), 10/01/2018 11:54:03
推 sma1033: 推用心文解釋詳細 10/01 13:37
推 nds3ds: 推專業好文 10/01 16:12
推 Genki626: 感謝大大無私分享 10/01 16:33
推 softpoal: 高手! 10/02 16:18
推 cory8249: 推 值得研究 10/02 22:38
→ interactive: 哇塞...感覺很專業 10/03 08:32
推 harry901: 好文 10/03 21:19
推 Clemens71: 推版大用心,謝謝 10/09 01:23
推 gtyyxoxo: 專業推 10/15 06:52
推 a78998042a: 推專業 10/19 23:29
→ appleball200: 猛猛 10/22 14:04
推 Lio41: 非常棒的分享 11/19 16:57
推 PoBErLo: 推爆 02/10 03:23
推 pillowkiller: 推 09/09 19:31