python均线斜率_一根20日均线闯天下?——量化回测“压箱底指标”

  • Post author:
  • Post category:python


来源:雪球App,作者: 阿飞Deep,(https://xueqiu.com/7843605955/130162290)

前面回测基于券商涨停策略。为探索新策略,也为验证之前研发的指标。特开启新回测。

20日均线是常用指标。一般为突破的基准,站上20日线开仓。这样开仓符合逻辑。可会出现价格反复穿越均线的情况,比较难处理。为了解决这个问题。我开发了角度指标。角度就是20日均线的斜率。当斜率大于某值时开仓。回测对比(回测标的300ETF,全仓,设置亏损和追踪止损):

1、站上20日均线开仓:

55ecedc260598fdce22baca805606a0b.png

2、斜率大于0时开仓:

6a7a6e4ab3a6835f5d7a3073c26268ca.png

3、斜率大于10时开仓:

217d5139e92cfed3edbd7db878de2c7d.png

4、斜率大于20时开仓:

c6747b1b4537f8bdb56e4b339847f4cc.png

5、斜率大于30是开仓:

bc4276fa04ca9f3ccc056d02ceea262b.png

对比看出:基于突破20日均线开仓,信号频繁,无法避开调整。基于斜率开仓,可避开调整,获得较好的收益。斜率取值太小会频繁开仓,太大则无法抓住机会,经测试16-20之间合适。这个角度指标是三年前琢磨的。现在学了量化回测,验证了有效性。将分享代码,需要请自取。要不要凭借它“闯天下”,大家自己度量。

斜率计算,取当日20日均线的值,上一个20日均线的值,用atan公式求解,后转化为角度。

公式如下:

1、python环境下:

angle_norm = math.atan((ma20/ma20_last-1)100)180/3.1415926

2、交易软件环境下:

MA20:=MA(C,20);

MA19:=REF(MA20,1);

角度:ATAN((MA20/MA19-1)100)180/3.1415926;

STICKLINE(角度>20,角度,0,6,1),colorred;

STICKLINE(角度<20,角度,0,6,1), color009100;



版权声明:本文为weixin_39956558原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。