海龟策略(Turtle Strategy)是一种经典的投资和交易策略。

它的内容是这样的:在股价超过过去 N 个交易日的股价最高点时买入,在股价低于过去 N 个交易日的股价最低点时卖出(N 通常设为 20)。上述的若干个最高点和最低点会组成一个通道,称为“唐奇安通道 (Donchian Channel)”。原始的唐奇安通道有两条线,过去 N 天最高价的最大值形成的线叫做上阻力线,过去 N 天最低价的最小值形成线叫做下支撑线。

..

唐奇安通道的主要作用是帮助交易者确定买入和卖出时机。因为唐奇安通道是根据最高价和最低价计算出来的,通道的宽窄又随着价格的变化自动调整,所以大多数时候价格是在通道之内运行,很少突破其上下轨道的。

也就是说,价格并不会随意突破阻力线和支撑线,但如果有效突破,那就预示着大行情可能将会出现。此时交易者可以根据支撑和阻力线,确定买进或卖出的具体时机。比如:当价格向上突破阻力线就买入,当价格跌破支撑线就卖出。

我们把突破“唐奇安通道”上阻力线时设为买入信号(1),低于下支撑线时设为卖出信号(-1),其他时间为不操作(0)。

根据这个原理我们用 SPL 量化工作台实现这个策略。

打开工作台页面(SPL量化工作台),在左上角输入 "002466"(天齐锂业),可以看到日 K 线数据:

..

海龟策略需要计算 20 日最高价和最低价,需要用到前 20 交易日的数据,所以还要设置提前读 20 天的数据:

..

然后,在指标类型中选择 SPL 公式:

  1. 输出列类型为普通,输出列名为 don_up(上轨线),表达式为最高 [-20:-1].max()

..

  1. 输出列类型为普通,输出列名为 don_down(下轨线),表达式为最低 [-20:-1].min()

..

这个中括号 [-20:-1] 表示从当前行往前数 20 个交易日到昨日,共 20 天的最高价 / 最低价。

用统计图来观察唐奇安通道,左轴选择 don_up,don_down, 收盘,点画图按钮:

..

图上可以看到大约从 4 月到 8 月,有一波明显的上涨行情,且在 4 月底部的时候收盘价有突破上阻力线。

再来生成买卖信号,SPL 量化工具台的买卖信号规则是这样:

  • 1 表示第二天执行买入

  • -1 表示第二天执行卖出

  • 0 表示不操作

选择 SPL 公式,输出列类型选择买卖信号,输出列名 DC,表达式 if(收盘 >don_up:1, 收盘 <don_down:-1; 0):

..

点提交后,数据显示框中可以看到 DC 的值:

..

这个表达式的意思是:

  • 当收盘价突破上轨时买入 (1)

  • 当收盘价跌破下轨时卖出 (-1)

  • 其他情况不操作 (0)

用画图功能把价格通道和信号指标放在一起看:

..

从图上看,抓住箭头处的买入时机,可以赚一波大行情。

现在可以回测了,设置回测参数:

  • 买卖信号列选择 DC

  • 买卖价格用 "昨日收盘价"(更符合实际)

  • 每次买 100 股

  • 最大持仓数 1

..

提交后立即看到回测结果:

..

整个执行时间仅 1 秒左右。这个回测结果还能和上证指数做对比,选择沪深 300

..

点击指标比较按钮:

..

即可看到如下对比图:

..

可以看到天齐锂业使用海龟策略,在 2021 年跑赢了沪深 300指数。

还可以进一步的优化这个策略:

  1. 参数优化:可以尝试不同的通道周期(如 15 日或 30 日)

// 15日通道版本

don_up: 最高 [-15:-1].max()

don_down: 最低 [-15:-1].min()

  1. 增加过滤条件:可以结合波动率或成交量过滤假突破

// 增加波动率条件

if(收盘 > don_up && var@rs( 收盘 [-20:-1])>0.02:1, 收盘 <don_down && var@rs(收盘 [-20:-1])>0.02:-1; 0)

3. 增加仓位管理:可以分 3-4 次加仓,降低风险,这里可以用最大持仓数 + 买入股数的配置

..

假设总资金够买 400 股的,那么如果买入股数配置为 400,最大持仓数配置为 1,就表示一次性买入;如果买入股数配置为 100,最大持仓数配置为 4,则表示分四次加仓。

最后总结一下使用这个工作台实现量化策略的体验:

优点

  1. 零编码实现复杂策略,只需理解简单 SPL 表达式

  2. 即时反馈,每一步设置都能立即看到效果

  3. 内置丰富的历史数据,省去数据收集烦恼

注意事项

  1. 海龟策略在震荡市中可能产生多次假信号

  2. 建议结合止损策略使用

  3. 实际交易时需考虑滑点影响

新手建议

  1. 先用画图功能观察通道突破的历史表现

  2. 回测时测试不同参数组合

  3. 从少量资金开始实盘测试

海龟策略作为一种经典趋势跟踪策略,通过 SPL 量化工作台可以轻松实现和验证。工作台的简洁设计让复杂策略的开发变得异常简单,是量化交易入门的绝佳工具。

Logo

专业量化交易与投资者大本营

更多推荐