程式交易者通常會面對一個很煩人的問題
為什麼一支原本會賺錢的EA,使用一段時間之後,它就不再賺錢了?
(不一定,也有可能持續穩定輸出)
就是策略的「失效」
當然,前提是我們已經做過檢驗,你的策略不是「過度最佳化的策略」
那不是過度最佳化的策略,為什麼也會面臨失效的可能呢?
我們在做交易的時候,都習慣去預測行情說:接下來是要多(漲)還是要空(跌)
但其實像外匯保證金或期貨這樣多空都可以交易的商品,如果你的策略又是多空對稱
實在不用太去管它接下來是要漲還是要跌
我們比較在意的是:行情的波動大不大?
下面這張圖(紅色是做空/藍色是做多),我們可以看到
在行情整體波動大的時候,我很遲鈍的去進多或進空單,我都有利潤空間
但是在行情波動小的時候,就很容易漲上去做多,結果被巴;跌下去做空,又繼續被巴
所以在行情波動大的時候,我可以賺到大段的利潤;而波動變小,就會出現「連續虧損」
當然大波動的行情裡面,也會是包含小波動的行情
就要看你的策略是在什麼樣的交易時框下去開發的
如果你要吃的是像上圖這樣的波動,那中間的小波動(橘色行情)你可以無視,因為不至於影響到你的進出場
波動的大或不大,要依照你個別的交易策略去看
所以每個策略,都會有【適合的波動】與【不適合的波動】
你要清楚知道,你在什麼波動下會賺錢,什麼波動下會賠錢
當行情走出適合你的波動,你要去看你的EA有沒有獲利,如果沒有,那你就要去檢討一下原因
而在面對不適合波動所產生的虧損,你就可以以平常心去面對,因為你知道這種行情你就是會吃損阿
而在行情的波動轉換處
如果你的策略是帶有「追蹤止損」或是「保藍」的
你的單子很有可能就會打移動止損出場(可能小賠或小賺)
那如果你只有單純的獲利線TP與止損線SL,你的出場速度就會變得很慢,就是你的單會在場上飄很久
我們用更多更長期的行情來看
適合策略波動能賺錢的 與 不適合波動會賠錢的行情會輪著出現
所以你會有時賺錢,有時賠錢
(長期下來能不能賺錢,要去做驗證)
那當然這部分你在開發EA的時候,就會去測試長期、包含各種不同波動行情
通過測試的EA我們才會去做使用
那如同我們無法預測後續行情的漲或跌
我們也很難去預測之後行情的波動率適不適合你
某個商品的特性(波動率與波動率的改變),理論上會在長時間上維持相同
但還是有可能因為政治、社會、經濟,或是市場參與者改變的等等因素
造成一個商品的特性被「長期的」大幅度改變
而這樣長期的改變,就是讓EA策略失效的原因
像是下圖,如果未來行情(黃色)長期都處於不適合你策略的波動率
那你就會面臨長期的連續虧損,甚至是超過你開發策略時所顯示的最大虧損(金額或時間)
你的EA就宣告掛掉啦!
所以你的策略如果「適合的行情波動」很特定,那行情波動率只要稍微改變,你的策略就很容易掛
相反的,你的策略如果可以包容較多種波動率的行情,它失效的機率就相對低
我們在做避免過度最佳化的驗證時,其實有部份也是在檢測,是否我們的EA太過度的適合某種波動
所以艾比一直強調,策略最好是盡量簡單,簡單的策略包容度比較大
但就算再嚴格的通過多種驗證
未來都還是有商品特性改變的機率存在
即使機率很小,但如果發生了,你就必須去開發新的策略
新的適合改變後波動率的策略EA
所以,自己會開發EA真的非常重要啊!
很多人購買別人的EA,但之後如果面臨失效,就完全沒轍
只能選擇放棄EA,或是再繼續去買新的EA,沒辦法靠原本的EA交易下去
當然也存在一定的機率,就是失效的EA之後又會變得有效
就是代表適合你的波動率回來了
所以定期檢視EA的表現,也是程式交易者重要的功課喔
有研究表明现在深度学习预测波动率比传统计量模型要好 可以尝试下https://mp.weixin.qq.com/s/Lg5xT9Fc4gX68ytJM3fm3Q