matlab海龟交易策略,海龟交易策略

本文选择讲述的是经典的海龟交易法,这一次让我们来看看海龟策略在商品期货中的应用吧!

海龟交易是什么作为经典的交易策略,相信很多人都已经很清楚什么是海龟交易法了,如果你已经清楚明白的知道了什么是唐奇安通道、真实波幅、N值(ATR)和Unit,也能够熟练地掌握他们的算法,那你大可直接跳过这一部分,进入策略实现的部分。

如果你想快速认识什么是海龟交易策略,或是想重新回顾一下,那就让我们开始吧!唐奇安通道先让我们上一张图!

blog_c2dd131c0102z3j3.htmla4c26d1e5885305701be709a3d33442f.png

图中这个完全将K线包裹在内的通道线就是唐奇安通道,它的上线与下线分别取的是20日最高价与最低价,因此当当前价格突破上线或者下线的时候,都能作为很好的突破信号。

就像上图图中所示,当价格突破上线的时候,往往意味着一轮向上行情的开启,我们在这个时候进行多仓买入操作。

类似的,当价格突破下线的时候,往往意味着一轮向下行情的开启,我们在这个时候进行卖空操作。

a4c26d1e5885305701be709a3d33442f.png

blog_c2dd131c0102z3j3.html

这就是海龟交易法的基础,当然,作为一个成熟的交易法则,我们还需要一些指标来判断加仓点、止损点与每次买入卖出的数量。而用来判断的依据,我们叫做真实波幅与N值。

真实波幅话不多说先上公式!

a4c26d1e5885305701be709a3d33442f.png

blog_c2dd131c0102z3j3.html其中:High是指当日最高价,Low为当日最低价,pre_close是指前一日收盘价。

公式看上去很复杂,其实它要表达的就是昨日收盘以后股票的最大波幅,让我们来看看K线图里真实波幅具体指哪一部分。

blog_c2dd131c0102z3j3.html

a4c26d1e5885305701be709a3d33442f.png

从图片中我们可以很容易的看出,真实波幅就是昨天收盘后股票的最大振幅,也就是图片中最长的那一根箭头所表示的位置。N值(ATR)N值是海龟交易法当中非常重要的一个概念,它还有一个名字,那就是ATR(Average True Range),也就是平均真实波幅的意思,话不多说,老规矩上公式先!

blog_c2dd131c0102z3j3.html

a4c26d1e5885305701be709a3d33442f.png

或者用滑动平均的方法:

a4c26d1e5885305701be709a3d33442f.png

blog_c2dd131c0102z3j3.html其中:days是取平均的天数,比如我们要取真实波幅20日的平均,days就取20;TrueRange是真实波幅。

从公式可以看出,N(ATR)值其实就是标的days日内的平均真实波幅,当这个值大的时候,就说明这段时间股票每一天的波动率都很大,当这个值小的时候,就说明这段时间每一天的波动率都很小。

因此在海龟交易法中,每当标的价格上涨(下跌)0.5个N(ATR)时,我们就加仓1个Unit的多头(空头)仓位;当标的价格上涨(下跌)2个N(ATR)时,我们就对空头(多头)仓位进行平仓止损。

让我们举一个例子来看看N值究竟怎么算~为了方便起见,我们就令days=5,由于TrueRange计算时用的是前一日的收盘价,因此我们自己计算时收盘价要取前一日的数据而不是当天的:

1)收盘价: 35190., 35490., 36060., 35840., 35710.

2)最高价: 35700., 36080., 36210., 36060., 35990.

3)最低价: 35280., 35640., 35610., 35630., 35640.

用以上三行价格中的最大值减去最小值便能得到真实波幅数据:TrueRange: 510., 590., 600., 430., 350.计算这五个数的平均值有(510+590+600+430+350)÷5=548 (510+590+600+430+350)÷5=548 因此5日N(ATR)便为548。Unit知道了买点、卖点、止损点与加仓点,我们就需要知道每一次建仓与加仓都需要购买多少数量,老规矩,看公式!

a4c26d1e5885305701be709a3d33442f.png

blog_c2dd131c0102z3j3.html其中:Account表示账户中的总资金,coef为该商品期货一手的数量,如铜为5吨一手,则对铜的商品期货来说,coef就等于5。下面是一些常见商品期货的coef表格:

a4c26d1e5885305701be709a3d33442f.png

blog_c2dd131c0102z3j3.html我们接着用之前那个例子来看看Unit的计算。之前的数据小编取的是期货铜的价格,则coef应该为5,假设我们的账户当中有1,000,000的现金。

blog_c2dd131c0102z3j3.html

a4c26d1e5885305701be709a3d33442f.png

可以得到每一次购买、加仓,我们都需要购买4手的期货铜。策略实现到这里,相信你已经知道什么是海龟交易法了,让我们来总结一下这个策略究竟是怎样的吧!1)计算期货标的的N(ATR)与Unit;2)判断价格是否突破了唐奇安通道,若是向上突破则多头仓位开仓,空头仓位平仓;向下突破则空头仓位开仓,多头仓位平仓;3)若期货价格高于(低于)上次买入价格0.5个ATR,则加仓一个Unit的多头(空头)仓位;4)若期货价格低于(高于)上次买入价格2个ATR,则平仓多头(空头)仓位止损。

回测构建好策略以后,小编便用沪铜期货“CU”作为标的来试验了一下大名鼎鼎的海龟交易法:结果还不错哦~大家可以克隆代码以后自己改标的尝试一下,还可以根据自己以往海龟交易的经验优化一下买点卖点与止损函数。

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

作者:JoinQuant聚宽

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值