Board logo

标题: Dual Thrust策略 [MC模型源码] [打印本页]

作者: 龙听    时间: 2017-12-24 14:25     标题: Dual Thrust策略 [MC模型源码]

  1. [LegacyColorValue = TRUE];

  2. Inputs: K1(.5),K2(.5),Mday(1),Nday(1);
  3. Vars: BuyRange(0), SellRange(0);
  4. Vars: BuyTrig(0),SellTrig(0);
  5. Vars: HH(0),LL(0),HC(0),LC(0);

  6. If CurrentBar > 1 Then Begin
  7. HH = Highest(High,Mday);
  8. HC = Highest(Close,Mday);
  9. LL = Lowest(Low,Mday);
  10. LC = Lowest(Close,Mday);

  11. If (HH - LC) >= (HC - LL) Then Begin
  12. SellRange = HH - LC;
  13. End Else Begin
  14. SellRange = HC - LL;
  15. End;

  16. HH = Highest(High,Nday);
  17. HC = Highest(Close,Nday);
  18. LL = Lowest(Low,Nday);
  19. LC = Lowest(Close,Nday);

  20. If (HH - LC) >= (HC - LL) Then Begin
  21. BuyRange = HH - LC;
  22. End Else Begin
  23. BuyRange = HC - LL;
  24. End;

  25. BuyTrig = K1*BuyRange;
  26. SellTrig = K2*SellRange;

  27. If MarketPosition = 0 Then Begin

  28. Buy at next bar Open of next bar + BuyTrig Stop;
  29. Sell at next bar Open of next bar - SellTrig Stop;
  30. End;

  31. If MarketPosition = -1 Then Begin
  32. Buy at next bar Open of next bar + Buytrig Stop;
  33. End;

  34. If MarketPosition = 1 Then Begin
  35. Sell at next bar Open of next bar - SellTrig Stop;
  36. End;

  37. End;
复制代码

作者: 龙听    时间: 2017-12-25 22:40

Dual Thrust系统是 Michael Chalek 在80 年代开发的 Dual Thrust。在自动化交易排名中,目前为止,仍然排名第二左右。下表是我自己按5分钟周期跑回测的结果,效果非常好:



这是上表成绩最好的沪铜指数的成绩走势图:



通过几个关键数据的对比发现,该模型对于多品种还是有一定的普适性,模型中的参数也采用默认,未针对个别产品进行优化,虽然选出的四个产品都达到了正收益,但由于品种的差异性,区别还是较大的。
作者: 龙听    时间: 2017-12-25 22:44

短短几十行而已,难度并不大,但其背后的交易策略却是很厉害。

它的逻辑原型是较为常见的日内交易策略之一开盘区间突破策略,以今日开盘价加减一定比例的昨日振幅,确定上下轨。日内突破上轨时平空做多,突破下轨时平多做空。

开盘区间突破策略基本原理 1. 在今天的收盘,计算两个值:最高价-收盘价,和收盘价-最低价。然后取这两个值较大的那个,乘以k值0.7。把结果称为触发值。

2. 在明天的开盘,记录开盘价,然后在价格超过(开盘+触发值)时马上买入,或者价格低于(开盘-触发值)时马上卖空。 3. 没有明确止损。这个系统是反转系统,也就是说,如果在价格超过(开盘+触发值)时手头有一口空单,则买入两口。同理,如果在价格低于(开盘-触发值)时手上有一口多单,则卖出两口



Dual Thrust在开盘区间突破策略上进行了相关改进:
1、在范围(range)的设置上,引入前N日的四个价位,使得一定时期内的范围相对稳定,可以适用于日间的趋势跟踪;
2、Dual Thrust对于多头和空头的触发条件,考虑了非对称的幅度,做多和做空参考的Range可以选择不同的周期数,也可以通过参数K1和K2来确定。当K1时,多头相对容易被触发,当K1>K2时,空头相对容易被触发。

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

就是一个典型的观望、等待信号、进场、套利、离场的套路,却效果卓著。

因此对于学习程序化,一是对编程语言和工具的掌握,这个和所有的码农进阶之路一样,练是硬道理,技术要求与你的策略复杂程度成正相关。二就是对交易策略的领会,赚钱本身是体力活,赚钱的逻辑才是脑力活

作者:量化投资Quant
链接:https://xueqiu.com/5256769224/32429363
来源:雪球
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
作者: 瑋元    时间: 2018-5-5 02:28

下载 学习 谢谢大大
作者: 龙听    时间: 2018-5-5 06:46

回复 4# 瑋元

作者: 龙听小虎    时间: 2023-11-2 22:28






欢迎光临 龙听期货论坛 (http://www.qhlt.cn/) Powered by Discuz! 7.2