用 SPL 量化工作台实现海龟策略
海龟策略是一种趋势跟踪交易策略,基于唐奇安通道确定买卖信号。策略核心是在股价突破20日最高价时买入,跌破20日最低价时卖出。通过SPL量化工作台可快速实现该策略,并进行回测优化,结果显示该策略在天齐锂业2021年表现优于沪深300指数。策略优势在于自动调整通道宽度,适合趋势行情,但在震荡市中可能出现假信号。使用者可通过调整参数周期、加入过滤条件或分步加仓等方式优化策略。该工具无需编码,即时反馈,是
海龟策略(Turtle Strategy)是一种经典的投资和交易策略。
它的内容是这样的:在股价超过过去 N 个交易日的股价最高点时买入,在股价低于过去 N 个交易日的股价最低点时卖出(N 通常设为 20)。上述的若干个最高点和最低点会组成一个通道,称为“唐奇安通道 (Donchian Channel)”。原始的唐奇安通道有两条线,过去 N 天最高价的最大值形成的线叫做上阻力线,过去 N 天最低价的最小值形成线叫做下支撑线。
唐奇安通道的主要作用是帮助交易者确定买入和卖出时机。因为唐奇安通道是根据最高价和最低价计算出来的,通道的宽窄又随着价格的变化自动调整,所以大多数时候价格是在通道之内运行,很少突破其上下轨道的。
也就是说,价格并不会随意突破阻力线和支撑线,但如果有效突破,那就预示着大行情可能将会出现。此时交易者可以根据支撑和阻力线,确定买进或卖出的具体时机。比如:当价格向上突破阻力线就买入,当价格跌破支撑线就卖出。
我们把突破“唐奇安通道”上阻力线时设为买入信号(1),低于下支撑线时设为卖出信号(-1),其他时间为不操作(0)。
根据这个原理我们用 SPL 量化工作台实现这个策略。
打开工作台页面(SPL量化工作台),在左上角输入 "002466"(天齐锂业),可以看到日 K 线数据:
海龟策略需要计算 20 日最高价和最低价,需要用到前 20 交易日的数据,所以还要设置提前读 20 天的数据:
然后,在指标类型中选择 SPL 公式:
-
输出列类型为普通,输出列名为 don_up(上轨线),表达式为最高 [-20:-1].max()
-
输出列类型为普通,输出列名为 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指数。
还可以进一步的优化这个策略:
-
参数优化:可以尝试不同的通道周期(如 15 日或 30 日)
// 15日通道版本
don_up: 最高 [-15:-1].max()
don_down: 最低 [-15:-1].min()
-
增加过滤条件:可以结合波动率或成交量过滤假突破
// 增加波动率条件
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,则表示分四次加仓。
最后总结一下使用这个工作台实现量化策略的体验:
优点:
-
零编码实现复杂策略,只需理解简单 SPL 表达式
-
即时反馈,每一步设置都能立即看到效果
-
内置丰富的历史数据,省去数据收集烦恼
注意事项:
-
海龟策略在震荡市中可能产生多次假信号
-
建议结合止损策略使用
-
实际交易时需考虑滑点影响
新手建议:
-
先用画图功能观察通道突破的历史表现
-
回测时测试不同参数组合
-
从少量资金开始实盘测试
海龟策略作为一种经典趋势跟踪策略,通过 SPL 量化工作台可以轻松实现和验证。工作台的简洁设计让复杂策略的开发变得异常简单,是量化交易入门的绝佳工具。
更多推荐
所有评论(0)