用python在量化策略里判断趋势 (python量化交易股票策略)

点及财经,股票期货专业投机者。

python量化交易股票策略,用python在量化策略里判断趋势

前言

知名的公开的策略中,用k线数据来开发的有不少。比如r-breaker等等,都是基于K线的数据来计算关键价位,并根据关键价位制定交易逻辑。

python量化交易股票策略,用python在量化策略里判断趋势

今天分享的这个策略,交易逻辑是非常简单的。核心是将k线的收盘价,开盘价分别求均值,然后做差,得到一条上穿或下穿零轴的序列,并据此展开策略的交易逻辑。

python量化交易股票策略,用python在量化策略里判断趋势

接下来,作者将借助天勤量化交易平台-tqsdk,对该策略进行开发,具体细节请往下阅读!并且会提到天勤中开仓部分的一个小小的细节处理方法。

开收盘价格相对关系策略逻辑。

首先,公式会计算出k线的收盘价、开盘价序列的均值,并用做差后的值,通过上穿或下穿零轴的逻辑来判断多空趋势。

开盘、收盘价格均值。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

做差后的值。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

策略逻辑:(多头为例)。

1.开仓条件。

  • 价格突破差值上穿零轴时的最高价+N倍ATR。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

2.平仓条件。

  • 价格跌破差值上穿零轴时的最低价-N倍ATR。
  • 两条均线的差值下穿0轴。
  • 满足上述其中一个条件,平仓。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

小结。

这样的策略,可以说是相当简单的了,不过其中值得学习的是,在原始开仓位置增加了N倍ATR作为开仓过滤。

可以减少假突破!

Python 策略代码实现。

1.初始化设置、开收价格的均线差值、与零轴的交叉情况和ATR指标。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

其中:

红色箭头是作者通过使用copy(),拷贝了k线数据,避免修改kline造成其他问题。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

2.控制开仓开关和开仓价、平仓价的计算。

每次k线更新后,都将开平仓的开关打开,避免开仓后立刻平仓或平仓后立刻开仓。

python量化交易股票策略,用python在量化策略里判断趋势

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

3.策略开仓和平仓。

(1)策略的开仓。在得到k线更新这个信号后,立刻执行开平仓代码部分。

也就是当flag被修改成True的时候,说明k线已经走过了开仓或平仓bar的位置,就避免了在当根bar开仓。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

其中:

有一个比较重要的技巧就是,t这个变量。虽然整个开平仓的控制流是正常的,但是你在web上看以及发单的时间还是与代码的逻辑对不上。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

交易记录:

python量化交易股票策略,用python在量化策略里判断趋势

在上图中,经过检查后发现,程序会在k线结束的一瞬间,认为k线已经更新了。所以导致在平仓后瞬间开仓。

解决办法:获取行情快照的时间-秒,判断当前的秒是否是整点,如果是就不进行操作,等待秒超过0以后再启动开平仓。比如:14:19:01,21:44:01,不会在14:19:00开平仓。

正确的效果。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

(2)策略平仓。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

4.启动交易策略。

如下图所示:

python量化交易股票策略,用python在量化策略里判断趋势

run:

python量化交易股票策略,用python在量化策略里判断趋势

小结。

策略中,如果没有在开平仓部分限制秒这个细节,开平仓会混乱的。

最后

整个策略的开仓,还是有点意思。不过,策略的平仓就有点鸡肋了,读者可以根据作者以前分享的跟踪止盈算法和过滤技巧盘它,看看效果如何吧!

文章及策略代码仅供学习,切勿直接实盘。

文章系原创,未经授权,不得转载,后果自负!