海龟交易法则的原理及其在量化平台的实现

海龟交易法则的原理及其在量化平台的实现

  • 1 海龟交易法则的简述
    • 1.1 唐奇安通道
    • 1.2 ATR(真实波幅均值)
    • 1.3 unit(增减仓单位)
  • 2 在量化平台的实现

1 海龟交易法则的简述

海龟交易法则是著名的公开交易系统,由著名的商品投机家理查德. 丹尼斯在1983年的一个交易员培训班上推广而闻名于世,它涵盖了交易系统的各个方面,并且不给交易员留下一点主观想象决策的余地。它具备一个完整的交易系统的所有成分。海龟交易策略,利用唐安奇通道来跟踪趋势产生买卖信号,利用ATR(真实波幅均值)分批加仓或者减仓,并且动态进行止盈和止损。
海龟策略本质上来讲是一个趋势跟随模型,通过唐安奇通道突破方法确定入场离场信号。原版的海龟交易法则需要决定的决策有:

1、市场:买卖什么;
2、头寸规模:买卖多少;
3、入市:什么时候买卖;
4、止损:什么时候放弃一个亏损的头寸;
5、退出:什么时候退出一个盈利的头寸;
6、战术:怎么买卖。

1.1 唐奇安通道

唐奇安通道,作为一个通道必定有上线和下线,上线就是前 N1 日内的最高价,下线就是前 N2 日内的最低价,常用的是 N 1 = 20 , N 2 = 10 N1=20,N2=10 N1=20N2=10(另一种是 N 1 = 55 , N 2 = 20 N1=55,N2=20 N1=55N2=20),价格突破上轨线就买入,突破下轨线就卖出。其计算方法如下:

上轨线 = Max(最高低,N1), N1 日最高价的最大值
下轨 = Min(最低价,N2), N2 日最低价的最小值

1.2 ATR(真实波幅均值)

真实波幅的计算公式如下:

T r u e R a n g e = M a x ( H i g h − L o w , ∣ p r e c l o s e − H i g h ∣ , ∣ p r e c l o s e − L o w ∣ ) TrueRange=Max(High−Low, |pre_close−High|,|pre_close−Low|) TrueRange=Max(HighLow,precloseHigh,precloseLow)

其中:High 是指当日最高价,Low 为当日最低价,pre_close 是指前一日收盘价。公式看上去很复杂,其实它要表达的就是昨日收盘以后标的的最大波幅
真实波幅均值的计算公式如下:

A T R = 1 N ∑ T r u e R a n g e ATR = \frac{1}{N}\sum{TrueRange} ATR=N1TrueRange

或者用滑动的方法计算:

A T R t = ( N − 1 ) A T R t − 1 + T r u e R a n g e t N ATR_{t} = \frac{(N-1)ATR_{t-1}+TrueRange_{t}}{N} ATRt=N(N1)ATRt1+TrueRanget

一般情况下取 N=N1,N(ATR)值其实就是标的 N 日内的平均真实波幅,当这个值大的时候,就说明这段时间股票每一天的波动率都很大,当这个值小的时候,就说明这段时间每一天的波动率都很小。

1.3 unit(增减仓单位)

海龟交易法则的增加仓规则如下:

1 突破唐奇安通道的上轨线,就产生了一个买的建仓信号,突破下轨线,就产生了一个卖空的建仓信号,建仓数量为 1 个 unit;
2 当标的价格上涨(下跌)0.5 个 ATR 时,就加仓 1 个 Unit 的多头(空头)仓位;
3 止盈止损: 持仓为多头,当标的价格下跌 2 个 ATR 时,进行平仓止损;持仓为空头,当标的价格上涨 2 个 ATR 时,进行平仓止损。

Unit 的计算如下:

U n i t = 1 % ∗ A c c o u n t A T R Unit=\frac{1\%*Account}{ATR} Unit=ATR1%Account

其中:Account 表示账户中的总资金,ATR 为真实波幅均值。若标的资产为某一期货品种,因期货的下单量为手数,真实波幅均值通过单位价格计算,需要转换成一手真实的波幅(一般为 ATR一手品种的数量最小变动值)。

2 在量化平台的实现

万矿与聚宽的量化平台有构建好的回测框架,可以较方便的进行回测,具体的海龟策略实现可以参考如下两篇文章的代码示例:

1 聚宽量化平台海龟策略的实现
2 万矿量化平台海龟策略的实现

你可能感兴趣的:(量化投资)