Python量化策略:Dual Thrust日内交易策略

免责声明:本文所有内容‬仅用于交流学习‬,不构成任何投资建议!投资有风险,入市需谨慎!

策略介绍


Dual Thrust(双重推力)是一种经典且广泛使用的日内趋势跟踪交易策略,由Michael Chalek在20世纪80年代开发。其核心思想是通过动态计算价格波动区间,设定上下两个触发轨道,捕捉市场在交易日内的突破行情,实现“追涨杀跌”。该策略不预设多空方向,完全根据开盘后价格相对于波动区间的突破来决定交易信号,具有系统化、规则清晰的优点。


策略核心逻辑与计算步骤如下:


1、计算关键价格:首先取前N个交易日(如5-20日)的数据,计算四个关键价:最高价(H)、最低价(L)、收盘价(C)和前一个交易日的开盘价(O)。通常使用前一日的收盘价作为当前交易日的重要参考。


2、确定波动区间:


计算两个范围值:

  • 范围1:H - C (昨日最高价减收盘价)

  • 范围2:C - L (昨日收盘价减最低价)


取两者中的较大值,再与 H - L(昨日全日波幅)进行比较,最终确定一个“波动值”(Range)。Range = Max( H - C, C - L, H - L )。更常见的简化公式是:Range = Max( H - C, C - L )。


3、设定多空触发线:


  • 上轨(多头触发线):今日开盘价 + K1 * Range

  • 下轨(空头触发线):今日开盘价 - K2 * Range


其中,K1和K2是两个核心参数,由交易者根据市场波动性和交易风格自行设定(常见范围在0.5-0.8之间)。K1和K2可以相等,也可以不等(例如K1稍小于K2以使做多条件更严格)。这两条轨道在开盘时即确定,日内保持不变。


4、生成交易信号:


  • 买入做多:当盘中价格向上突破上轨时,立即买入开仓。

  • 卖出做空:当盘中价格向下跌破下轨时,立即卖出开仓。


策略通常附带简单的出场规则,例如在当日收盘前平仓(纯日内),或设置固定的止损止盈点。


策略特点与评价:


  • 趋势跟随性:在单边趋势明显的交易日,策略能有效抓住突破动能,获利潜力大。

  • 参数敏感:K1和K2的取值至关重要,直接影响交易频率和胜率。较小的参数会导致信号频繁、易受噪音干扰;较大的参数则信号稀少,可能错过机会。

  • 市场适应性:在震荡市中,价格频繁上下假突破轨道,会导致连续的小额亏损(“拉锯”现象)。因此,该策略并非万能,需结合市场状态判断使用。

  • 风险控制:作为日内策略,隔夜风险被规避,但仍需设置严格的日内止损。


总之,Dual Thrust是一个结构优美、逻辑简单的定量突破策略。它的效力高度依赖于参数的优化、交易品种的波动特性以及交易者严格的执行力。在实际应用中,常作为多策略组合的一部分,或需结合其他过滤器(如开盘后等待时段、量能确认)来提高胜率。


策略实现


【 扫描文末二维码加入星球获取完整源码 】


源码


图片图片


策略参数


图片


回测效果


IMG

IMG

IMG



图片

▌关于我们

我们致力于人工智能、量化交易领域前沿研究,分享前沿论文、模型代码、策略实现。如有相关需求,请私信与我们联系。

▌商务合作

请加微信“LingDuTech163”,或公众号后台私信“联系方式”。

关注【灵度智能】公众号,获取更多AI资讯。

举报/反馈
分享到: 微博 QQ 空间
对本文内容有合作意向?
我们将在 1 个工作日内与您联系
留言咨询