一、楔子
今天看到了Dual Thrust系统的介绍,具体参见详解程序化交易Dual Thrust策略-雪球。
改写了一下用于股票交易。
使用第n-1日(前天)以前N天的数据计算Range,第n-1日(昨天)的开盘价作为Open,第n-1日的收盘价或第n日(今天)的开盘价作为当前价与上界(BuyLine)进行比较。当股票突破上界,则认为该股票今天有较大行情,买入该股票。卖出与止损写的比较随意。
写的是日间交易,日内交易回测太慢了。
Just for fun!
二、Dual Thrust策略介绍
Dual Thrust是一个趋势跟踪系统,由Michael Chalek在20世纪80年代开发,曾被Future Thruth杂志评为最赚钱的策略之一。Dual Thrust系统具有简单易用、适用度广的特点,其思路简单、参数很少,配合不同的参数、止盈止损和仓位管理,可以为投资者带来长期稳定的收益,被投资者广泛应用于股票、货币、贵金属、债券、能源及股指期货市场等。
在Dual Thrust交易系统中,对于震荡区间的定义非常关键,这也是该交易系统的核心和精髓。Dual Thrust系统使用Range = Max(HH-LC,HC-LL)来描述震荡区间的大小。其中HH是N日High的最高价,LC是N日Close的最低价,HC是N日Close的最高价,LL是N日Low的最低价。
具体说:
1、首先计算:
(1)N日High的最高价HH, N日Close的最低价LC;
(2)N日Close的最高价HC,N日Low的最低价LL;
(3)Range = Max(HH-LC,HC-LL)
(4)BuyLine = Open K1*Range
(5)SellLine = Open K2*Range
2.构造系统
(1)当价格向上突破上轨时,如果当时持有空仓,则先平仓,再开多仓;如果没有仓位,则直接开多仓;
(2)当价格向下突破下轨时,如果当时持有多仓,泽县平川,再开空仓;如果没有仓位,则直接开空仓;
关键变量的意义如下图所示:
三、本策略思路
1.当股票突破上界(Buyline),则认为该股票今天有较大行情,买入该股票。
2.当股价两天内下跌6%,或者三天内下跌8%则卖出股票。
3.根据大盘止损。