关注他
65 人赞同了该文章
看到头图,很多朋友可能会有点懵,放一只龟在这里作甚?
因为我今天要讲的是大名鼎鼎的海龟策略!
海龟交易法是著名的公开交易系统,1983年著名的商品投机家理查德. 丹尼斯在一个交易员培训班上推广而闻名于世,它涵盖了交易系统的各个方面。其法则覆盖了交易的各个方面,并且不给交易员留下一点主观想象决策的余地。它具备一个完整的交易系统的所有成分。
海龟交易策略,利用唐安奇通道来跟踪趋势产生买卖信号,利用ATR(真实波幅均值)分批加仓或者减仓,并且动态进行止盈和止损。
在趋势信号的扑捉上,海龟交易法则使用了一个非常重要的技术指标—唐奇安通道(Donchian channel)。这个通道很类似我们熟悉的布林通道(Bollinger Bands),只是在具体计算方式上有些不一样。
唐奇安通道指标是Richard Donchian发明的,由3条不同颜色的曲线组成,该指标用周期(一般都是20,有的平台系统设置时可以改变的,有的则设置的不可以)内的最高价和最低价来显示市场价格的波动性,当其通道窄时表示市场波动较小,反之通道宽则表示市场波动比较大。
当价格冲破该通道的上轨道时,就是可能的买入信号;反之,冲破下轨时就是可能的卖出信号。
- 唐奇安通道的各项指标的计算方法为:
上轨 = Max(最高低,n), n日最高价的最大值
下轨 = Min(最低价,n), n日最低价的最小值
中轨 = (上轨+下轨)/2
在金融领域的多因子分析框架内,这个策略对突破后的价格走势预测就是基于动量因子(momentum)的有效性假设。当然,这个因子的有效性也确实被严格地验证过,并作为Fama-French三因素模型的补充,被广泛地应用于金融市场。
当然,我们可以进行优化,使用更合理的趋势突破型指标。
那么,既然动量因子是已经公开并普遍使用的因子,那么海龟交易法则是凭什么能够脱颖而出呢?答案很简单,海龟交易法则定义了一整套非常严谨的仓位控制、止盈止损的规则。下面我们来一一剖析。
1. 仓位的基本单位N
海龟法则的加仓原则是定义好一个小单位(Unit),使得该仓位的预期价值波动与总净资产的1%对应。也就是说,如果买入了这1个小单位的资产,那当天该仓位的市值变动幅度不会超过总净资产的1%。
那么,如何定义这个小单位?又如何预估这个小单位能带来的价值波动呢?首先,在预估这个小单位带来的价值波动(该价值波动被称为N)上,海龟策略使用了对历史的价格波动进行统计的方法。具体计算公式如下:
TrueRange = Max(High−Low, High−PreClose, PreClose−Low)
N = (前19日的N值之和+当时的TrueRange)/20
其中,High表示当日最高价,Low表示当日最低价,PreClose表示前一日收盘价。我们可以从定义上看出,N值确实能很恰当地表达该资产在价格上的最近波动幅度。
这样,一个Unit就应该是这样计算出来的:
Unit = (1%*Total_net)/N, Total_net就是总资产净值
可以看出,一个Unit的资产的价格波动幅度 = 总净资产的1%
2. 什么时候建仓
建仓的动作来自于趋势突破信号的产生。如果当前价格冲破上轨,就产生了一个买的建仓信号,如果当前价格跌破下轨,就产生了一个卖空的建仓信号(比特币市场是支持借币卖空的!)
初始建仓的大小 = 1个Unit
3. 什么时候加仓
如果开的底仓是多仓且资产的价格在上一次建仓(或者加仓)的基础上又上涨了0.5N,就再加一个Unit的多仓;
如果开的底仓是空仓且资产的价格在上一次建仓(或者加仓)的基础上又下跌了0.5N,就再加一个Unit的空仓。
我们看到,海龟策略其实是一个追涨杀跌的策略。
4. 怎么做动态止损
如果开的底仓是多仓且资产的价格在上一次建仓(或者加仓)的基础上又下跌了2N,就卖出全部头寸止损;
如果开的底仓是空仓且资产的价格在上一次建仓(或者加仓)的基础上又上涨了2N,就平掉全部的头寸止损。
当然,用户可以自定义动态止损方案,比如下跌了0.5N就开始部分平仓,而不用等到下跌了2N后才匆忙一次性清仓,毕竟冲击成本摆在那里。
5. 怎么做止盈,可以自定义动态止盈吗
海龟法则里面,止盈信号是这样产生的:
如果开的底仓是多仓且当前资产价格跌破了10日唐奇安通道的下轨,就清空所有头寸结束策略;
如果开的底仓是空仓且当前资产价格升破了10日唐奇安通道的上轨,就清空所有头寸结束策略。
当然,用户可以自定义动态止盈方案,比如总净资产/初始净资产>1.5, 就止盈离场。
海龟交易法的最大优点是帮助我们建立一套有效的头寸规模的控制方法。
海龟交易系统有一个趋势跟踪策略共有的问题,就是浮盈回吐。追涨得到的浮盈,很有可能会由于随之而来的一波大跌而全部吐出。在大趋势中十分强劲,在震荡市中表现不如人意。
- 参数设置如下:
以天来做回测,同时使用常见的回看20天的时间窗口来计算ATR值。
- 回测结果如下:
海龟交易策略跑出了一定的超额收益,同时,相比于基准,它的波动率也更小,更稳定。由于加入了动态止损的机制,使得策略即使在14和15年的大熊市中,亏损也也相对较小。同时,也没有错过15年底和16年的牛市。
从收益曲线中可以看出,海龟策略在面对快速的连续的暴涨暴跌时,表现不是很好,不能及时作出反应,发生收益回吐的现象。数字货币这种暴涨暴跌较多,所以在使用唐奇安通道和计算ATR时,应该适当缩短回看时间,以使得策略可以更为及时的对行情的变化做出反应。
下面,我们将回看窗口调为5天,回测结果如下:
由于将回看时间缩短,现在的策略能够更及时的对市场变化做出反应,在暴涨之后的暴跌中快速止盈退出,锁定收益,避免了继续下跌,收益回吐。(回测平台使用https://wequant.io)
海龟交易策略是一个完整的系统,更改一个参数,就可能带来很多的连带效应。除了更改回看时间窗口,有能力的小伙伴,还可以更改其他一些参数,比如唐奇安通道的回看时间窗口,止损线等等。
海龟交易策略结合了分批建仓、动态止盈止损以及对行情的趋势跟随,是一套完整而又有效的交易系统。尤其是ATR值的使用以及头寸管理的理念,十分值得大家学习。