0%

【live笔记】带你重新认识海龟交易策略

知乎live:带你重新认识海龟交易策略, by 用Python的交易员

海龟的传奇

  • 起源于 1983 年两位交易员的赌约,“海龟”并没有特殊的含义
  • 最经典的量化交易策略,属于 CTA 策略,中低频趋势跟踪,策略包含投资组合管理
  • 柯蒂斯,19岁加入海龟计划,没有做过交易,没有先入为主的观念,效果反而最好,四年狂赚 3000 万美元
  • 意识到量化分析的重要性,通过表格卡纸手动计算交易信号,到了盘中通过打电话跟场内 Broker 交易,系统化交易

完整的海龟交易策略

交易品种

一般选择期货,也可以 CFD、杠杆外汇、数字币期货

  1. 流动性足够
  2. 带杠杆 —— 最好是期货,股票可能不太适合,股指期货可以
  3. 可以做空,做空成本不大,融券做空不合适
  4. 波动足够大,足够追涨杀跌

单位持仓

  1. 单位持仓 = (总资本 * 1%) / (N * 合约乘数),合约乘数即一个指数跳动对应的钱
  2. N = TR 的 20 日 EMA,可以用 ATR 代替(SMA)
  3. ATR 衡量风险,单位持仓和风险反向相关

风险分配

  1. 强制分散风险,限制同向持仓,有效管理 CTA 策略风险
  2. 同向风险:单一品种上,不能超过 4 单位持仓;高度相关的,不能超过 6 单位;低关联的,不超过 10 单位;整个投资组合,不超过 12 单位

策略入场

  1. 信号:唐奇安通道
  2. 长周期通道:55 日通道,突破上轨就做多,突破下轨就做空
  3. 短周期通道:20 日通道,突破上轨做多/空;但是如果上一次短周期信号赚了钱,就要过滤这一次的信号;原因是趋势追踪短周期连续出现两次赚钱的情况比较少

顺势加仓

  1. 逆市加仓非常危险,只在持有仓位盈利的时候才加仓
  2. 交易入场的时候立即记录当时 ATR
  3. 价格顺着建仓方向增加 0.5 * ATR 时,加 1 单位持仓,直到达到上限

出场信号

  1. 短周期信号:反向突破 10 日通道
  2. 长周期信号:反向突破 20 日通道
  3. 本质上是一种移动止损

交易止损

  1. 从入场价格算起,最多允许亏 2 * ATR,即每次亏最多亏 2%
  2. 每次加仓之后,将整体入场价格调到最新入场价,而不是平均数,强制锁定一部分利润
  3. 同向风险:单合约4,高关联6,低关联10,整体12

海龟回测的逻辑拆分

策略信号

单合约

  1. 策略入场
  2. 策略出场
  3. 交易止损
  4. 顺势加仓

策略组合

整个投资组合

  1. 单位持仓,最大12
  2. 风险分配
  3. 短周期过滤

回测引擎

  1. 品种选择
  2. 数据回放
  3. 成交记录
  4. 统计分析

难点

K线内部成交

  1. 无论长短周期,要求在突破通道的瞬间,立即执行交易,而非等到收盘
  2. Tick 数据量太大,只能用 K 线数据回测(?)
  3. ZipLine or 三大矿无法回测

实现逻辑(Stop Order):

  1. T-1 时刻 K 线走完后,计算 T 时刻上下轨(可以用 TA-lib),买入价 M
  2. T 时刻 K 线,如果开盘价 O 高于 M,以 O 成交;否则,如果最高价高于 M,以 M 成交;实际回测时还要考虑滑点
  3. 绝不能以 T 时刻的收盘价成交,否则会错过巨大的 Alpha

短周期信号的过滤

  1. 短周期通道,容易被频繁触发
  2. 为避免假突破,上次盈利时,要放弃本次指令
  3. 需要在信号中统计,多次加仓(顺势)&一次平仓要算为一次开平

实现逻辑:vnpy1.9.2 examples/TurtleStrategy/turtleStrategy.py TurtleResult

多空仓位限制

  1. 单位持仓是由 ATR 计算出来的,是动态的
  2. 策略组合需要将单位持仓,转化为实际持仓

实现逻辑:vnpy1.9.2 examples/TurtleStrategy/turtleStrategy.py TurtlePortfolio.newSignal

回测

准备数据

  1. 海龟基于日线,主力合约存在换月跳空
  2. 跳空可能给出错误的信号,需要进行平滑或者指数合成
  3. 可以使用 RQData

回测参数

  1. 上期所热门品种:RB ZN CU AL RU
  2. 原始海龟参数:由上世纪美国市场确定,可视为全样本外数据
  3. 2014-2018日线数据:使用产品指数数据
  4. 交易成本:交易所手续费 +10%,滑点 1tick
  5. 起始资金 1000 万,单位仓位使用固定 1000 万

结果

  1. 5 年时间,收益回测比 10
  2. sharpe 接近 1