本文主要是介绍CTA策略01_dualThrust,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
## dualThrust介绍
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)当价格向下突破下轨时,如果当时持有多仓,泽县平川,再开空仓;如果没有仓位,则直接开空仓;
## 回测图
参数 :
```
平台:vnpy
滑点手续费等均采用vnpy默认配置.(0.2滑点,0.3/万手续费)
测试标的:if0000
时间:2010418-20100818
k1=0.5
k2=0.5
```
回测图:
图示说明:
从上到下
第一张:交易次数和盈亏关系
第二张:基准行情
第三张:总资金图(如果每日都交易那么基本和第一张形态一样)
第四张:仓位图
第五张:每日的多空仓线
综合盈亏信息:
~~~~```
第一笔交易: 2010-04-29 14:56:00
最后一笔交易: 2010-08-18 14:56:00
总交易次数: 55.0
总盈亏: 20,105,684.34
最大回撤: -3,332,557.8
平均每笔盈利: 365,557.9
平均每笔滑点: 12,000.0
平均每笔佣金: 5,023.92
胜率 61.82%
盈利交易平均值 1,093,843.81
亏损交易平均值 -813,571.67
盈亏比: 1.34
总交易日: 77
盈利交易日 30
亏损交易日: 20
起始资金: 1000000
结束资金: 21,105,684.34
总收益率: 2,010.57%
年化收益: 2,527.52%
总盈亏: 20,105,684.34
最大回撤: -3,043,602.3
百分比最大回撤: -84.48%
总手续费: 276,315.66
总滑点: 660,000.0
总成交金额: 9,210,522,000.0
总成交笔数: 110.0
日均盈亏: 261,112.78
日均手续费: 3,588.52
日均滑点: 8,571.43
日均成交金额: 119,617,168.83
日均成交笔数: 1.43
日均收益率: 10.53%
收益标准差: 52.68%
Sharpe Ratio: 3.1
```
可见在2010年这个效果还是非常惊人的,
谁有2018到2019的股指期货的mongo分钟数据,求分享,谢谢啦,很多策略很久前可以,现在可能失效,所以能用近期数据回测最为准确,
这篇关于CTA策略01_dualThrust的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!