海龟交易法则 matlab,【干货】经典的期货策略——海龟交易法则
廢話不多說,下面就讓我們直接來看看海龜交易法則(后面簡稱“海龜”)的原理~
如何選擇市場
由于“海龜”起源于美國,要求高流動性,因此小編選擇了國內商品期貨作為交易標的,但是,要注意品種之間的相關性不要太強!
如何確定頭寸
對于頭寸,一定要進行波動性標準化處理。
簡單點說就是要根據一個市場的絕對波動幅度來調整頭寸的規模,也就是將頭寸的絕對波動幅度標準化。
額,好像有點繞,算了,直接上算法吧。
為了確定波動性標準化處理后的頭寸規模單位PsnLimit,首先必須知道幾個變量:
真實波動幅度TR:
(備注:H表示當日最高價,L表示當日最低價,LPC表示前一日收盤價)
真實波動幅度均值N值:
(備注: ATR = 前一日的平均真實波動幅度,TR = 當日的真實波動幅度)
絕對波動幅度M值:
(備注:contractMulti表示合約乘數)
然后,波幅調整后的頭寸規模單位 PsnLimit (Position Limit)就可以確定啦~
此外,我們對每個持倉頭寸做限制如下:不超過4個頭寸規模單位。
如何確定買賣點
一句話概括就是:以55日通道突破作為入市信號,以20日通道突破作為退出信號。
1、入市信號:
所謂“55日通道”是以55日的最高價和最低價為界,即以55日的最高價和最低價作為開倉突破點,當突破過去55日的最高點或最低點,立即入市交易(價格高于55日最高點則開多倉,低于55日最低點則開空倉)。
2、逐步建倉:
一旦信號產生,首先在突破點建立1個單位的頭寸,然后按1/2×N的價格間隔一步一步擴大頭寸逐步建倉。
3、退出信號:
同樣的,“20日通道”是以20日的最高價和最低價為界。在建倉之后,以20日的最高價和最低價作為退市突破點。對于多頭來說,當價格低于20日最低價(向下突破),或對于空頭來說,當價格高于20日最高價(向上突破)時,將所有頭寸單位清倉,退出市場。
如何確定止損
“海龜”根據頭寸風險來設定止損標準。任何一筆交易的風險程度都不得超過2%。
由前面計算頭寸的公式,我們可以知道,1N的價格變動代表賬戶凈值的1%,那么,在2%的風險控制下,價格變動的上限就是2N,即“海龜”的止損標準為:
1、對于多頭頭寸來說,止損價比(最新)入市價低2N;
2、對于空頭頭寸來說,止損價比(最新)入市價高2N;
當市場價格達到這個價格時,“海龜”將清倉退出市場;
以上就是“海龜系統二”的內容啦。那下面就讓我們來扒一扒源代碼吧!
這次小編使用的海龜交易法則策略,訂閱了8個相關度不是太高的商品期貨主力連續合約,分別是:甲醇、雞蛋、玉米、聚丙烯、熱軋卷板、螺紋鋼、黃金和銅。
使用了日收盤價、日最高價、日最低價、15分鐘收盤價、15分鐘最高價、15分鐘最低價以及每個品種的合約乘數。
策略總資金設為2百萬,但是策略只使用一半(1百萬)資金。
依據之前說到的“海龜”原理編寫策略,啥?你又忘了。。。記性不行啊,策略流程圖,上!
看完了策略流程圖,我們再來說一說平臺吧。
朋友,你聽說過安利么?咳,呸,重來。朋友,你聽說過Quantrader么?
是的,“海龜”原理講完了,公式也寫出來了,但是,怎么能不說一下小編寫策略的平臺Quantrader呢?!輕松調用各種數據,一鍵策略回測,無縫對接模擬盤和實盤,更有各種策略API直接調用,結合數學界的神器Matlab,用起來不要太舒爽~
言歸正傳,在正式寫代碼之前,我們要把策略用到的參數先配置好。
小編的這個“海龜”策略每15分鐘會調倉一次,根據之前提到的訂閱的交易代碼和數據,使用Quantrader可以直接配置如下:
數據準備好了之后,我們就可以開始碼代碼啦。
1、計算頭寸單位。
2、突破55日通道開倉。
3、突破20日通道平倉。
4、考慮逐步加倉并且更新止損點。
代碼當然不止這么多啦,要看完整版代碼?下載地址在最后面哦~
策略寫完了當然要用歷史數據回測看看績效。同樣的,使用Quantrader,刷一下就回測完啦。
從績效報告中可以看出,從13年1月到15年10月,這個“海龜“策略的收益都非常好而且很穩定,年化收益率接近50%。
每一個經典策略的背后,都有它值得被人稱道的地方,因此才會讓后人一直不斷地去研究,海龜交易法則就是一個很好的例子。小編的這個“海龜系統二”策略到這里就全部講完啦,趕緊在左下角點擊“閱讀原文”,下載源代碼,然后導入Quantrader自己跑跑看吧~
戳原文,下載源代碼!
總結
以上是生活随笔為你收集整理的海龟交易法则 matlab,【干货】经典的期货策略——海龟交易法则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 用cout输出数字正负号的方法
- 下一篇: 使用Joern处理大量文件,生成PDG速