来源:mc官网

Dual Thrust策略是一个很经典的策略。常年排在国外前10大流行策略之一!

绩效测试(橡胶期货,2016/1/1~2018/1/4,主图1分K,子图30分K,回测换月跳空有处理些)
2017年策略陷入瓶颈,2016年的趋势年,策略表现非常良好!

策略代码说明
1.模型体现的基本思想:

首先,HH到LL这个范围框出了过去N天中价格的移动区间。HC和LC表示的是过去N天内价格的波动情况。如果HC和LC都在中间位置,那么表示价格在N天内的高低波动只是一种偶然情况。其余时间波动都很小,而且市场呈现出不明朗的趋势。在HH和LL范围固定的情况下,突破需要的点数相对较少。

如果过去N天内价格都在上涨或下跌,呈现单边趋势,那么则表现为HH和LL的范围较大,HC和LC都趋近于箱体的上/下沿,则表现为较大的buyrange 和 sellrange,于是乎,价格产生突破的话需要的点数也就更多一些。

这样的设计,体现了突破策略的一个基本思路,即“大行情大突破,小行情小突破”。

2.我们进一步研究一下策略在不同行情中的表现情况:

(1)行情连续走强。例如,前日大涨,昨日大涨,今日也大涨。这时,策略会一直向上突破,死死扣住持有的多仓。

(2)行情由强转弱,进入平台期。例如,前日大涨,昨日小涨,今日微涨或微跌。这时,策略仍然会一直持有多仓,不产生任何有效突破。

(3)行情由弱转强。例如,前日小涨,昨日中涨,今日大涨。这时,策略会针对之前持有的仓位采取进一步的措施。如果之前持有的是反向仓位,则会反手。如果之前持有的是同向仓位,则会一直抱住。

(4)行情持续保持弱势,波动越来越弱。但温和同向变动。这时,如果持有的是同向仓位,那么不会有什么问题。但如果持有的是反向仓位,问题就来了。可能价格一直不突破,从而导致连续亏损。这种亏损可能持续时间不会很长,因为随着短K棒的逐渐增加,突破所需要的点数也就越来越小,很容易突破做反手。

(5)行情急速反转。这时,要取决于k线长度的相对大小。如果反转的幅度远小于之前的幅度,且幅度逐渐缩小,那么策略要承受较大的利润回吐或亏损。如果反转幅度大于之前的幅度,那么会直接反手。所以,为了保险起见,作者引入了小于1的参数K1和K2,保证突破区间逐渐收敛,使得投资人不至于长时间一直持有一个亏损仓位。

(6)策略最大的风险来自于隔日风险。如果连续出现两根阳线,但后一根阳线远低于前一根,这时的问题在于

,策略会一直持有这样的亏损仓位而不采取任何动作。

3.由于没有止损止盈模块,模型的表现实际上并不是十分稳定。

这可以说是模型的一个缺陷。模型是一个永远在市的策略,碰到信号以后就反手。但是,进一步设定固定止损位后,发现模型的盈利状况反而下降了。我进一步调试止损位,发现只有当止损位大于1000跳,也就是对应橡胶的5000个点时,策略的盈利才不会受到止损位的影响。也就是说,最大回撤高达保证金账户的300%,也就是说,如果全部资金投入这样的策略的话,已经爆仓无数次了。策略风险极大。所以,看上去很美的策略并不一定真的敢用。

1000跳的波动已经远远超过了涨跌停板的限制,说明策略在某一时间段连续持有巨额亏损仓位达数日之久。而当初的突破信号可能已经与当前的行情不再有任何关联,说明这样的盈利很有可能存在运气的成分。

另一方面,策略缺少止盈部分,所以,也不会锁住任何利润。当然,止盈止损要结合在一起看,如果只有止损,没有止盈,那么策略很可能就是一直止损出场,没有盈利。

4.可以借鉴和提升之处

一是这个策略用一个很简单的逻辑,融入了顺势突破的精髓和一定的止损功能,在不同的行情内体现出不同的变化。设计人思维之独特令人叹服。二是该策略如果转变成日内策略,也许会有一定的效果改善。具体有待各位朋友去挖掘。三是该策略突破区域的设置和参数的运用,似乎缺少一个令人信服的理由。未来的盈利能力值得怀疑。

策略使用注意事项
策略插入时会出现如下错误,因为本策略需搭配子图商品,可以在主图商品上右键-〉插入商品,选择不同周期的商品。

代码:

//Use data2 as day bar.

//Use data1 as minute bar.

Inputs:k1( 0.5),k2 (0.5);

inputs:Mday(1 ),Nday (1),lots(1), daystart(900 ), dayend(1500 ),freq_min (10);//10 min bars, you may chance to other frequency

vars: dayclose(0 ), dayhigh(0 ),daylow (0);

vars: sellrange(0 ),buyrange (0),buytrig(0), selltrig(0 );

Vars: HH( 0),HC (0),LC(0), LL( 0);

vars: buyposition(0 ),sellposition (0);

vars: opentoday(0 );

//give a start value for open price of today(data1)

if time >=daystart and time <=daystart+ freq_min then begin

opentoday=open ;

end;

HH=highest (high ,Mday ) of data2 ;

HC=highest (close ,Mday ) of data2 ;

LL=lowest (low ,Mday ) of data2 ;

LC=lowest (close ,Mday ) of data2 ;

if (HH-LC)>=( HC- LL) then sellrange=HH -LC

else sellrange =HC -LL ;

HH = Highest (High ,Nday ) of data2 ;

HC = Highest (Close ,Nday ) of data2 ;

LL = Lowest (Low ,Nday ) of data2 ;

LC = Lowest (Close ,Nday ) of data2 ;

If((HH - LC) >= ( HC - LL ))then buyrange = HH - LC

Else buyrange = HC - LL;

buytrig = k1* buyrange;

selltrig = k2* sellrange;

buyposition = opentoday +buytrig ;

sellposition = opentoday -selltrig ;

If(MarketPosition = 0) then

begin

If High >=buyposition then

Buy lots shares next bar at buyposition stop ;

If Low <=sellposition then

SellShort lots shares next bar at sellposition stop;

end;

if marketposition =-1 then

begin

if high >=buyposition then

buy lots shares next bar at buyposition stop ;

end;

if marketposition =1 then

begin

if low <=sellposition then

sellshort lots shares next bar at sellposition stop ;

end;

//setstoploss(minmove*30);

//draw trendlines

if (time>= dayend-3 *freq_min and time<=dayend ) then begin

tl_new(date ,0900,buyposition, date,time ,buyposition );

tl_new(date ,0900,sellposition, date,time ,sellposition );

end;

Dual Thrust 策略相关推荐

  1. python量化外汇交易_用Python实现一个Dual Thrust数字货币量化交易策略

    Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...

  2. python 用while输出数字金字塔_用Python实现一个Dual Thrust数字货币量化交易策略

    Dual Thrust交易算法介绍 Dual Thrust交易算法是由Michael Chalek开发的著名量化交易策略.它通常用于期货,外汇和股票市场.Dual Thrust的概念属于典型的突破交易 ...

  3. 第四章:经典量化策略集锦(第四篇:进军交易系统,从 Dual Thrust 中学“趋势”)

    导语: "趋势"这个字眼,大家肯定不陌生,炒股票的老股民天天口里说着 "趋势为王", 那么今天我们向大家介绍一个趋势跟踪交易系统:Dual Thrust ,其简 ...

  4. 经典的期货量化交易策略大全

    1.双均线策略(期货) 双均线策略是简单移动平均线策略的加强版.移动平均线目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势.它以滞后性的代价获得了平滑性,比如,在一轮牛市行情后,只有当价格出现大幅 ...

  5. 经典的期货量化交易策略大全(含源代码)

    1.双均线策略(期货) 双均线策略是简单移动平均线策略的加强版.移动平均线目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势.它以滞后性的代价获得了平滑性,比如,在一轮牛市行情后,只有当价格出现大幅 ...

  6. 国内4种常用日内CTA策略介绍及实现

    本文首发于微信公众号:优矿量化实验室.文章内容属作者个人观点,不代表和讯网立场.投资者据此操作,风险请自担. 本文将向大家介绍四种常见的CTA策略(Dual Thrust.R-Breaker.菲阿里四 ...

  7. 那些CTA策略的表现如何(一)

    致力于量化策略开发,高质量社群,交易思路分享等相关内容 『正文』 ˇ 大家好,我是乌克兰剑圣. 今天我们盘点一下从年初到现在,松鼠CTA策略表现如何(样本外跟踪). 由于策略较多,我选了5个周期长短不 ...

  8. 商品cta策略_《衍生品系列研究之三》:国内商品期货常用日内CTA策略测试

    研究结论 本报告主要在国内10个成交活跃的商品期货品种上测试了几种常见日内CTA 交易策略的效果,具体包括Dual Thrust 策略.ATR 策略.R-Breaker策略.菲阿里四价策略和空中花园策 ...

  9. 用Dual-Thrust策略回测CTA

    以下是小哥用Dual-Thrust策略回测CTA的代码和结果,错误的地方还请大家提出来. 标的是螺纹钢的主力连续合约 #%% Dual Thrust策略 # 导入包 import pandas as ...

  10. 商品期货CTA策略系列文章 -- 主流量化CTA策略之趋势跟踪策略

    2016年之前,大宗商品市场一直低迷,南华商品指数年涨跌幅在2014年为-16.54%,在2015年为-14.52%,这两年间股票市场不断创造历史新高而整个商品市场却持续下跌,在2015年股市一波&q ...

最新文章

  1. HDU - 4866 Shooting(主席树+扫描线)
  2. 如何解决Win11开始菜单无法固定的问题
  3. 20个正则表达式必知(前端开发)
  4. finereport与finebi差别_Finereport和Finebi的区别
  5. sublime后缀_提高数据分析工作效率-Sublime如何设置默认打开文件格式
  6. hadoopsdk使用_Hadoop的一些基本操作
  7. ueditor编辑器图片自定义存放目录及路径修改
  8. Android开发案例 点击按钮出现 简易的消息提示框
  9. 【微机原理与接口技术学习实践】汇编语言程序设计实现——.ASM文件、.OBJ文件、.EXE文件综合
  10. 第三次收获微软MVP
  11. CSS3-3D变换 transform-style:preserve-3d
  12. Android 设备在Play Store无法搜索下载Netflix软件
  13. 系统的频域分析法-----Chap4_5-8
  14. 全屏滚动fullpage.js
  15. cocos2dx入门2:安装及基本介绍
  16. 广西省桂林市永福县,县城游记
  17. JFinal解决IE浏览器下载问题
  18. 【Golang实战】——XPath解析网页
  19. 「科技农人」,可能是未来的当红职业
  20. 电力系统非线性控制_电抗器在电力系统中的应用

热门文章

  1. win10专业版开机画面模糊_教你Win10系统电脑显示器显示模糊不清晰如何解决
  2. 腾达u6无线网卡 linux,腾达u6免驱版驱动下载
  3. at24c08 E2PROM的I2C设备驱动实例——基于mini2440
  4. 简单的jsp代码(登录界面)
  5. 如何把Netflix数据集转换成Movielens格式?
  6. 工业4.0智能电批扭力输出异常问题
  7. lumion自动保存_全是踩过的坑,20条新人必看的Lumion良好操作习惯
  8. ubuntu 安装pyqt IDE使用eric 辛酸史
  9. ResNet网络结构解析
  10. oracle如何做定时任务,oracle实现定时任务