请 [注册] 或 [登录]  | 返回主站

量化交易吧 /  量化平台 帖子:3121152 新帖:38

海龟交易法则升级版---(分钟级回测+合约变更移仓)

fx16820000发表于:8 月 13 日 20:00回复(1)

前一阵子学习了ScintiGimcki 同学写的商品期货策略——海龟交易法 ,颇有收获。在学习的基础上,自己对策略进行了升级,主要体现在以下三个方面:

  1. 上一个帖子中,对于主力合约变更时,策略将原主力合约平仓了结。本贴加入一个移仓选项g.shift(第17行)。如果为True则移仓,将原主力合约平仓,再对新主力合约进行相同数量相同方向开仓。为False则不移仓,对原主力合约平仓了结,不对新主力合约开仓。
  2. 海龟交易法则为日级别的回测,本贴升级为分钟级回测,修改g.frequency(第18行)为’1d’为日回测,’1m’为分钟级回测。 注意:别忘了右上边也跟着调整。
  3. 如果希望变更回测标的,修改g.symbol(第13行)即可。

如果有同学不了解海龟交易法则,可以拜读上述ScintiGimcki的帖子有详细的解释。我对海龟交易法则的交易规则进行一个简单的总结:

以多头为例,

【突破开仓】如果价格突破过去20日的最高价,则买入一个单位。值得注意有两点,一是如果已经持有多头头寸,则即使突破也不开仓。二是如果已经持有空头头寸,需要将原来的空头头寸平掉再开多仓。
【顺势加仓】如果股价相比于上一次多开的价格又上涨了0.5个ATR,那么则再买入一个单位,加仓有最多4次的限制。
【回调止损】如果股价相比于上一次多开的价格下降了2个ATR,那么则平掉所有持有的多仓。
【止盈止损】自持有头寸起,如果股价相比于期间最高价下跌5%,则平仓结束交易。
【ATR】A就是平均,TR是真实波幅。TR=max(h-l,abs(h-c0),abs(l-c0)),c0为昨日收盘价。
【一个单位】(total_value*0.01/ATR)/future_multiplier

1.png

问题:

策略有一个缺点,如果组合期初金额设置较小的话,则可能因为资金问题而导致开仓失败,但是日志中显示是理论开仓数量。只要策略资金够的话,这个问题不会发生。
如果大家在回测过程中发现其他什么问题,请留言。根据大家的问题汇总,有必要的话可以再写一版。

全部回复

0/140

达人推荐

量化课程

    移动端课程