最近在回測交易系統,一直採用的是同樣手數開倉的方式。回測的週期是1小時的,回測時間基本都是10年左右,測試了大概10多個品種,除了螺紋鋼有50%的年回報,其他品種的年回報平均只有20%不到。而且最大回撤都超過40%,我的交易策略很簡潔,可以用原生態形容,沒有過多的去最佳化,因為我知道最佳化多了會帶來負面影響,我就是想問一下,這種情況是不是由於我的頭寸一直是固定手數有關?如果是按照贏衝輸縮的方法來確定頭寸,是否會對收益率和最大回撤有改善?因為我的程式碼編寫能力有限,所以無法用贏衝輸說的方法做回測,還請大神指點!萬分感謝
回覆列表
-
1 # 夢方破紅顏沫
【1、固定手數和倉位管理優缺點對比】
題主換個說法提問是“固定手數和倉位管理優缺點對比”
其實,理論上來說,固定手數和倉位管理對基礎交易策略的兩種做法,固定手數的是基礎,倉位管理是錦上添花。
因為固定手數的情況下,交易策略都能盈利,那麼不管你怎麼倉位管理,最後無非是賺多賺少,賺快賺慢的問題。
所以,應該是在固定手數的情況下交易策略就盈利,然後在固定手數的基礎上做出一定的倉位管理,這種是最好的。
【2、最佳化是否就一定是負面的呢?】我這邊需要提及一個最佳化的問題,最佳化本身是沒錯的,不用被一些人帶偏,認為最佳化就是負面的。只要你不去過度最佳化,那麼最佳化其實對於你程式是有用的 。記住,“過度最佳化有害,適度最佳化有用”。
比如海龜交易,20個交易日為一個週期的突破開倉,其實20未必是最好的,但是一般都是在20左右,這邊最佳化以後可能是21可能是22,會有細微的差異,但是首先是你在沒有最佳化之前,你就已經知道引數是20了,適度的最佳化,並不會突然引數就是50、100,而是會在20左右偏差,這種最佳化,不僅僅證明了你引數在沒最佳化之前就是有道理的,同時還幫你找到了比你早前設定引數更科學精密的引數。
就好像,我在之前的文章中有說道過,1995年之前,工作日是每週6天,那麼中國的期貨市場應該是24個交易日作為突破更為科學,而現在的工作日是每週5天,那麼現在是20個交易日更為科學。所以海龜究竟是用20還是24的引數,和人們的生產生活習慣有關係的。但是具體是20還是21其實並沒有太大偏差,這都是在誤差範圍內,因為你設定20和24是依據人們的生產生活習慣定義的,而不是憑空捏造的,這是有道理的,所以你即使去最佳化,也基本在20附近。
【3、程式化測試的評價和總結】題主的測試報告可能不夠科學,因為你很可能沒有增加滑點等交易成本去測試,所以你的回撤報告才有50%,如果你加了的話,會降低不少的,甚至可能會出現虧損。商品的話,你做一個小時的週期,滑點我正常都加個4個以上,然後回撤我的要求是30%以內,你的沒加滑點都已經40%了,所以基礎策略基本上不是很樂觀。
至於題主所言的透過倉位管理來改善,確實是有作用的,只是你基礎策略都沒做好,那麼你如果真的打算用倉位管理的話,相當於是小學沒讀完,直接跳級讀初中了。畢竟如果你基礎策略做的好的話,固定手數應該是盈利的,那麼你怎麼加減倉,你幾乎都是盈利的,就算按照最基本的,回測盈利曲線的回撤了就加倉,你都是科學的。
所以,你不是要選擇固定手數還是選擇倉位管理的問題,而是要讀好小學,紮實基礎,把固定手數下的基礎策略做的較好,才有在期貨市場上摸爬滾打的資格,否則只能被淘汰。
在把基礎打好以後,你再倉位管理做好,那就非常優秀了。