公众号致力于分享量化策略,培训视频,Python,程序化交易等相关内容
一、Dual Thrust策略介绍Dual Thrust,由Michael Chalek在20世纪80年代开发,曾被FutureTrust杂志评为最赚钱的策略之一。Dual Thrust系统策略十分简单,思路简明,但正所谓大道至简,该策略适用于股票、期货、外汇等多类型市场,如果配合上良好的资金管理和策略择时,可以为投资者带来长期稳定的收益。
Dual Thrust是典型的区间突破型策略,以今日开盘价加减一定比例的N周期内的价格振幅(Range),确定上下轨;
Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1和K2来确定。
具体计算过程如下:N日High的最高价HH, N日Close的最低价LC;
N日Close的最高价HC,N日Low的最低价LL;
Range = Max(HH-LC,HC-LL)
上轨(upperLine )= Open + K1*Range
下轨(lowerLine )= Open + K2*Range
(1)当价格向上突破上轨时,如果当时持有空仓,则先平仓,再开多仓;如果没有仓位,则直接开多仓;
(2)当价格向下突破下轨时,如果当时持有多仓,泽县平川,再开空仓;如果没有仓位,则直接开空仓;
二、CTA策略改进默认的Dual Thrust策略是一个收盘清仓的交易模式,这种模式在国内商品上的表现并不佳,所以还是要以抓住大趋势为主。我们对Dual Thrust策略加工改进一下看看结果如何。
趋势判断
Dual Thrust策略本身不具备趋势判断的功能,只是计算日内的区间。为了让它可以判断方向,抓住主要趋势,我们需要写一个趋势判断的代码:
condRHL=HLHL[1];
If(condRHL)
{
R_HL=HL[1];
X=X+1;
sumAG=sumAG+HL[1];
If(X>2)
{
HLAverage=sumAG/X;
sumAG=0;
X=0;
}
}
图中的红色线就是我们的趋势线,在HLAverage之上做多,之下做空;
然后在加入移动止盈和止损。
没了,就是这么简单。
我们来看看绩效:
螺纹:
焦炭:
铁矿:
PP:
甲醇:
动力煤:
苹果:
其他平台_螺纹:
MC:
文华8:
提供源码:
本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。