1. 策略概述
DualThrustStrategy 是 Michael Chalek 在 20 世纪 80 年代开发的著名策略,曾被 Future Truth 杂志评为最赚钱的策略之一。 它是一个典型的 日内突破策略。核心逻辑是利用前 N 日(这里简化为前 1 日)的最高价、最低价、收盘价计算出一个“波动区间 (Range)”,然后以今日开盘价为锚点,加上/减去这个区间的倍数,形成上轨和下轨。
- 基类:
CtaTemplate - 核心逻辑:Range Breakout (区间突破)
- 交易时段:日内交易,收盘前强制平仓
2. 核心参数
| 参数名 | 默认值 | 含义 |
|---|---|---|
k1 | 0.4 | 上轨系数 (用于做多) |
k2 | 0.6 | 下轨系数 (用于做空) |
fixed_size | 1 | 每次下单手数 |
注意:
k1和k2可以不对称。如果k1 < k2,说明做多更容易触发,适合多头市场;反之适合空头市场。
3. 策略逻辑详解
3.1 计算 Range (波动区间)
策略在每天开盘时(检测到日期变化),利用前一日的数据计算 Range。
| |
- 上轨 (Long Entry) = 今日开盘价 + K1 * 昨日振幅
- 下轨 (Short Entry) = 今日开盘价 - K2 * 昨日振幅
3.2 盘中突破交易
在收盘时间 (exit_time, 14:55) 之前,策略持续监控价格是否突破上下轨。
- 做多:价格突破上轨,且未开过多单。
- 做空:价格跌破下轨,且未开过空单。
- 反手:如果持有多单时跌破下轨,则平多并反手做空;反之亦然。
| |
这里使用了
stop=True挂停止单,确保只有价格真的触及轨道才成交。
3.3 收盘强平 (EOD Exit)
作为日内策略,必须在收盘前平掉所有仓位,规避隔夜风险。
| |
4. 总结
Dual Thrust 的精髓在于不对称性和日内波幅适应。
- 它不需要复杂的指标,只看价格本身。
- 它自动适应市场波动率:昨日波动大,今日轨道就宽;昨日波动小,今日轨道就窄。
- 它是日内 CTA 策略的必修课。