0人回應 |
2207人瀏覽 |
0人收藏 |
0人追蹤
程式交易教學,自動反向訊號操作設置介紹
程式交易就是透過科學化驗證交易邏輯在過去是否可行,再將訊號透過自動化下單,但一支程式開發完成後,過去賺錢並不代表未來也會賺錢。以台灣指數期貨為例,一大點200元,如下圖,一百多次交易可以損失40萬,也就是單口台指期賠2000點,這…有很大的機會在策略開發上線後發生,但…應該不會是我們所樂見的。
科學化驗證除了驗證過去會不會賺錢之外,換個角度思考,如果1支策略長時間都已經無法帶來獲利,那是否可以透過訊號反轉的方式,替自己帶來獲利的可能呢?但這似乎也違背了當初開發策略的邏輯,但沒有關係,既然都是程式交易,我們就來回測看看,把上面那支陣亡的策略反著做,會得到什麼結果,如下圖,當我們1:1的把訊號反轉,價格都不變的情況下,實際上得到的結果並非直接變成45度往上,但確實有降低不少虧損。能夠得知反轉訊號的績效後,接下來應該要面對的問題就是,什麼時候該反轉訊號?這類牽涉到交易層面的問題,就留給使用者去鑽研囉。
程式交易的優勢,就是能夠將各種方式快速的得到驗證,因為沒有一個方法可以永遠不會失效的。這邊我們並非支持大家在策略表現不好時將訊號反著做,我們只是提供MR可以怎麼做,讓使用者方便達到這個目的,所有方式還是建議大家做一個妥善的規劃及配置。
如下圖,開啟MR文字輸出檔*_OutputByTick,假設我們簡單的取一個值,他可以是任何評價策略的數值,為求單純說明這邊用策略目前最大虧損當作訊號反轉的依據,當策略最大虧損到達-800點的時候,我們將倉位做一個反轉動作,所以先把LD[1]的值賦予EVA1,最後再拿EVA1的值來進行判斷,達到條件時後將訊號反轉。當然這邊還是要說明一下,這只是一個範例,對於MR這個高度自由的平台,所有的決定權都在使用者手上,如果使用者想要將訊號反著輸出給MR,只要設計好條件,條件達成時,將cp這個值*-1,就可以達到囉。