量化交易策略之Dual Thrust策略

Dual Thrust策略全称Dual Thrust Trading Algorithm。

Dual Thrust策略是一种趋势跟踪系统,属于日内交易策略。该策略由Michael Chalek 在20世纪80年代开发,曾被Future Thruth杂志评为最赚钱的策略之一。Dual Thrust系统具有简单易用和适用度广的特点,其思路简单且参数少,配合不同的参数、止盈止损和仓位管理可以为投资者带来长期稳定的收益。(点评:简单说就是你要有自己的判断,优化,但是策略是一个正期望的策略。)

Dual Thrust在Range的设置上,引入前N日的四个价位,Range = Max(HH-LC,HC-LL)来描述震荡区间的大小。

其中HH 是N日High的最高价,LC是N日Close的最低价,HC是N日Close的最高价,LL是N日Low的最低价。这种方法使得一定时期内的Range相对稳定,可以适用于日间的趋势跟踪。Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1和K2来确定。具体分为两步来实现:

第一步:计算相关参数,得到上轨Buyline 和下轨Sellline:

N日High的最高价HH, N日Close的最低价LC

N日Close的最高价HC,N日Low的最低价LL

Range = Max(HH-LC,HC-LL)

BuyLine = Open + K1*Range

SellLine = Open - K2*Range

第二步:交易逻辑:

当价格向上突破上轨时,如果当时持有空仓,则先平仓,再开多仓;如果没有仓位,则直接开多仓;

当价格向下突破下轨时,如果当时持有多仓,则先平仓,再开空仓;如果没有仓位,则直接开空仓;

逻辑

当K1时,多头相对容易被触发,当K1>K2时,空头相对容易被触发。因此,投资者在使用该策略时,一方面可以参考历史数据测试的最优参数,另一方面,则可以根据自己对后势的判断,或从其他大周期的技术指标入手,阶段性地动态调整K1和K2的值。

思考优化

目前其实有现成的Python的程序和平台可以修改调试,但是,我不想偷懒。所以现在前面说的Visual Jforex平台跑跑看。

下面是需要测试的一些优化想法。

但是,要注重一个原则:

因为是一个趋势跟踪,可以引入ADX指标来在大概率出现趋势的时候缩小K值,在震荡环境下扩大K值,来减少开仓。

减少同一天的二次开仓。(目前在想Jforex如何)

亏损不加仓,盈利加仓,但是不超过5个仓位。

设置保护性止损。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。