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

前言

股票或期货的价格波动,总会有一些可以规律可以遵循的。其中,"背离"也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号。

通常情况下,我们所说的"背离"是指价格与技术指标的运动方向发生相反方向的运动的情形。正如下面的MACD顶背离技术形态,仔细观察价格与MACD两者的走势。

如下图所示:

从上图中可以看到,价格的波峰一个比一个高,而MACD指标的波峰一浪比一浪低。这就是MACD顶背离!

而MACD底背离,如下图所示:

其主要特征与顶背离完全相反!

价格的波谷一个比一个低,而MACD指标的波谷一浪比一浪高。这就是MACD底背离!

一旦价格产生背离,说明价格的原上涨或下跌趋势的动能减弱,预示着趋势可能发生反转或震荡。

至于为什么会产生背离,它的内在运行机理是什么。作者在往期的文章中有专门的一篇文章有非常详细的讲解。

而作者在这期文章中,只分享如何利用Python对MACD顶底背离进行量化,并加入简单的开平仓指令。

Python 语言中"背离"的量化逻辑

背离的量化,不管是什么语言它的思路都是相同的。唯一的区别是实现这个功能的表达方式!

在Python中我用了两个函数分别量化"顶背离"和底背离。下面我以"MACD底背离"为例,下面是图解实现过程:

作者通过记录MACD的金叉死叉时的id,然后通过前后蓝色id与红色id相减,得到计算MACD波谷所需要往前移动的k线数量(从金叉起往前数 n根k线)。

然后利用Python中的max()、min()方法,求出价格及MACD的波谷位置。

当我们量化出第一个后,第二个,第三个的思路是一样的。同时,计算MACD波谷区间的价格波谷也是这样的思路。

最后通过条件判断,找出顶背离或底背离的形态,并发出开仓指令。

Python tqsdk 实现MACD顶底"背离"

在上述中,作者分享了关于顶底背离的量化思路。接下来,作者将用五个步骤完成背离的量化。

一、首先,导入相应的包并设置参数变量。

作者用于回测的品种是螺纹钢指数15分钟。其中self._lowest_md 和self._highest_md 、self.lowest和self.highest 。

分别表示MACD的波谷值和波峰值、MACD波峰波谷对应的价格波峰波谷值。

二、计算MACD指标以及记录金叉死叉位置。

作者直接使用天勤量化内置的MACD、金叉和死叉函数进行相应计算,并将结果存入kline中。

作者打印出采用天勤内置的上穿函数的计算结果。当遇到MACD金叉时,值为1,其他为0。

并且,天勤的下穿函数crossdown(a,b)的返回值和上穿一致,只有1或0。

如下图所示:

代码中的trend_long、trend_short,只记录MACD上穿或下穿0轴的位置,同样返回值为1或0。

上述,作者分享了MACD指标的计算以及金叉死叉位置的标注方法。

下面,作者将利用指标及标注的金叉死叉的位置来计算MACD及对应价格的波峰及波谷。

三、计算出用于判断顶底"背离"所需要的"波峰波谷"数据

在上个一步骤中,作者已经计算出了MACD金死叉的位置。

因此我们就可以通过这个位置所对应的K线id,推算出死叉到金叉之间经过了多少(n)根k线,并从当前倒推n根k线,得到计算波谷的区间。

作者以“底背离为例”。

代码:

其中,核心的计算部分是:self._lowest_md、self.lowest这两个列表存储着用于判断底背离的指标及价格的波谷数据。

而这段代码的最后一部分,当指标在零轴之上时,重置列表及记录的金叉死叉的id,以便于在新一轮0轴以下再记录。

同时,顶背离的计算结构与底背离是一致的。

如下图所示:

四、判断顶底背离并加入简单的开平仓指令

这一部分,作者按照开篇所讲的“顶背离”和“底背离”的判断标准来判断并加入开平仓指令。

1.开仓部分:

2.平仓部分:当平仓后,使用del 删除列表中已经使用过的波峰波谷值的前一值。

最主要的部分是这段代码:第一个If是判断是否是“底背离”,第二个If判断是否是“顶背离”。如果条件满足,则开仓1手。

五、调用main() 函数,启动策略。

验证代码的正确性:底背离为例。

1.金叉:

2.底背离:

小结。

上述是用Python语言借助天勤量化平台,量化MACD背离的整个过程。

其中重点在于波峰波谷值的计算和背离的判断,难点在于如何通过控制代码的运行顺序进行计算。

最后

"背离",仅判断趋势的动能减弱,而不一定预示着趋势会反转。因为,很有可能是原趋势的阶段性调整,也有可能进入长期的震荡之中。

很有可能,在价格突破或跌破顶背离或底背离区域后,一飞冲天或是一泻千里!

macd底背离的python_Python量化交易之MACD#39;顶底背离#39;形态的实现,自动化交易!...相关推荐

  1. python抓取股票形态_利用Python实现MACD#39;顶底背离#39;形态,并实现自动化交易!...

    点及财经,股票期货专业投机者. 前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,"背离"也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下 ...

  2. python量化自动交易_Python量化交易之MACD'顶底背离'形态的实现,自动

    点及财经,股票期货专业投机者. 前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,'背离'也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下,我们所说的'背离' ...

  3. 聚宽macd底背离_MACD指标图解!如何解决滞后性,规避盲目买进卖出!

    作为中小投资者,由于对基本面分析的欠缺,以致技术分析成为多数人的选择.其中道氏理论是市场技术研究的鼻祖,而 macd则是当前运用最为广泛的技术指标.MACD吸收了移动平均线的优点.移动平均线的买卖交易 ...

  4. 聚宽macd底背离_许多散户不知道:MACD月线金叉,MACD月金叉都会带来一波牛市!...

    MACD吸收了移动平均线的优点. 移动平均线的买卖交易在趋势明显时效果很好,但是一旦遇到牛皮盘整行情,移动平均线所发出的信号就过于频繁而且极其不准确,在期货市场的保证金杠杆效应下容易使投资者遭受致命损 ...

  5. 聚宽macd底背离_很多散户可能永远都不会知道:MACD月线金叉,每一次MACD月金叉都会带来一波牛市...

    MACD吸收了移动平均线的优点.移动平均线的买卖交易在趋势明显时效果很好,但是一旦遇到牛皮盘整行情,移动平均线所发出的信号就过于频繁而且极其不准确,在期货市场的保证金杠杆效应下容易使投资者遭受致命损失 ...

  6. 聚宽macd底背离_老股民技巧一招鲜:MACD顶、底背离图解及近期实战应用,字字斗金...

    macd指标参数最佳设置. 1. MACD指标参数如何设置 对于MACD指标参数,大多数分析软件会将其参数设置为12,26,9,即快速EMA参数设为12.慢速EMV指标设为26.DIF参数设为9. 从 ...

  7. python 量化交易:MACD指标双金叉形态识别

    python 量化交易:MACD指标双金叉形态识别: df 是pandas的Dataframe,基础数据原来是 tushare 中的股票交易数据,MACD指标是用 talib 库计算得来: df = ...

  8. MACD底背离选股公式以及技术指标公式

    今天介绍MACD底背离选股公式,整体来说编写难度比较大,按照MACD底背离的定义,需要分别找到2个价格波段低点以及快线DIF的2个低点,并进行比较,最终实现选股. 一.MACD底背离选股公式(平替版) ...

  9. 通达信,MACD底背离(买入信号之一)

    SHORT:=10;{三个可变参数,注意默认参数的修改} MID:=7; LONG:=20;DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIF,MI ...

  10. macd的python代码同花顺_同花顺顶级MACD指标公式源码-同花顺公式 -程序化交易(CXH99.COM)...

    副图源码: DIFF :=(EMA(CLOSE,8) - EMA(CLOSE,21)); DEA := EMA(DIFF,5); F1:=ZIG(3,16); PARTLINE(DEA,DEA> ...

最新文章

  1. Http请求之优雅的RestTemplate
  2. redis del清除缓存java_删除redis缓存报错
  3. hive 提交不到yarn_在Linux将MapReduce程序提交给YARN执行
  4. 做人,你想过这四个致命的问题吗
  5. React服务端渲染实现(基于Dva)
  6. [CQOI2015]任务查询系统
  7. 漫步者蓝牙驱动_有什么平价好用的蓝牙耳机?双11不踩雷高性价比蓝牙耳机推荐...
  8. 梦幻西游服务器每周几维护,梦幻西游5月6日维护公告:唯美版地图不再更新
  9. 用MS.NET开发三层结构应用程序[转载]
  10. 《量子计算机简史》--摘
  11. mongodb lbs java_Spring-MongoDB与LBS
  12. 怎么将服务器中图片显示出来,服务器显示图片
  13. blp和biba属于哪种访问控制_技术分享 | 访问控制在工控安全中的应用
  14. DirectX简单的FBX文件加载(网格MESH)
  15. anconda各个版本下载
  16. TI BSL in python
  17. 哪些学校有计算机博士点,哪些学校有计算机应用博士点
  18. 数据结构中各种排序算法的稳定性比较
  19. 百度APP“看听模式”:“AI主播”借道信息流全面落地?
  20. oracle ORA-28000: the account is locked 28000. 00000

热门文章

  1. android 苹果备忘录,你会不会用苹果备忘录?白白放弃这么逆天的功能,不如换安卓机!...
  2. 无需软件,使用copy命令合并FLV文件
  3. linux 3d 制作工具,3D特效制作 SideFX Houdini FX For Win/Linux/macOS 及安装教程
  4. 欧阳娜娜玩起“创可贴”,这次造型可以跟周冬雨相提并论了
  5. 布同:3D网游开发整体流程简述
  6. UE4天气效果加白天黑夜的平滑过度切换
  7. uk码对照表_尺码UK5 对应的中国尺码是多少?
  8. 【归档】Kata Containers 2.0 介绍
  9. 面试被问Redis锁的缺点,被打击的扎心了
  10. 详解从p12证书提取RSA公私钥和序列号(小白向)