前言

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

通常情况下,我们所说的"背离"是指价格与技术指标的运动方向发生相反方向的运动的情形。正如下面的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背离的整个过程。

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

最后

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

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

文章来源:头条点及财经

华泰证券 python 自动交易_怎样用 Python 写一个股票自动交易的程序?(不包含交易算法)?...相关推荐

  1. python股票自动交易从零开始-怎样用 Python 写一个股票自动交易的程序-数字货币代理...

    1个赞 股票自动交易助手提供了一个 Python 自动下单接口,参考代码#股票自动交易助手 Python 自动下单使用 例子#把此脚本和 StockOrderApi.py Order.dll 放到你自 ...

  2. python实现股票自动交易_利用python3.5 +TK 开发股票自动交易伴侣

    原博文 2017-01-13 08:59 − # -*- encoding: utf8 -*- # version 1.11 import tkinter.messagebox,os from tki ...

  3. 怎样用 Python写一个股票自动交易接口的程序?

    交易商提供基于JSON的API接口的,直接查官方文档,用python request 连接接口发送指令交易. 1:想方设法找出内部接口交易,具体方法包括但不限于:官方网页版交易系统发送接收数据的监听, ...

  4. 怎样用 Python 写一个股票自动交易程序呢?

    如果是网址都没有给出怎么测试呢? 这个应该是服务器生成的token吧,可以urllib2抓一下,如果抓不到的话那么他可能用的js动态加载,这个得分析js源码了,如果他用了flash来算出这个值的. 像 ...

  5. python 帮助教师_花10分钟写一个Python脚本,搞定了初中老师一下午的工作

    有个朋友是一个初中老师.嗯,教学行政两手抓的那种初中老师. 一天晚上突然微信问我,怎么把图片转成PDF.懵了一下,这个直接打印成PDF不就可以了? 遂告诉他,结果感觉两个人不是一个世界的: 好不容易教 ...

  6. bat脚本如何自动输入y_在Mac如何写一个相对自动的翻译脚本

    近来使用的google翻译的插件有些不稳定, 时灵时不灵的,无奈的使用百度翻译了, 感觉体验也不好, 就想自己写一个翻译的脚本. 整体思路简单, 就是调用百度翻译api再将结果呈现出来, 最后使用al ...

  7. java程序 购物车_用java代码写一个简单的网上购物车程序

    1 需求:1.写一个商品类,有商品编号.商品名称.商品分类.商品单价属性.2.写一个商品条目信息类,有商品和数量两个属性,有商品总价格方法.2 3 3.写一个购物车类,有添加商品方法.查看订单信息,删 ...

  8. 教你用Python写一个京东自动下单抢购脚本(Python实现京东自动抢购)

    很多朋友都有网购抢购限量商品的经历,有时候蹲点抢怎么也抢不到,今天小编带你们学习怎么用Python写一个京东自动下单抢购脚本,以后再也不用拼手速拼网速啦,快来一起看看吧 1 问题背景 经过无数次抢购失 ...

  9. python四则运算程序_四则运算(Python)

    四则运算程序 一.信息 二. 题目要求 写一个能自动生成小学四则运算题目的程序,然后在此基础上扩展: 1 除了整数以外,还要支持真分数的四则运算,例如:1/6+1/8=7/24 2 程序要求能处理用户 ...

最新文章

  1. mac 下周期调度命令或脚本
  2. (转)xshell无法在vim中复制黏贴
  3. CodeForces - 1287B Hyperset(暴力水题)
  4. P6365 众数出现的次数(水)
  5. fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系...
  6. css使图片变成黑白效果 - 代码篇
  7. Ansible结合跳板机控制远程服务器
  8. 心语收集8:若无缘,与之言多,亦废。若有缘,你的存在,就能惊醒他所有的感觉。...
  9. MySQL5.7 踩坑实录
  10. Tarjan算法附图详解(SCC)
  11. 第21批符合道路运输车辆卫星定位系统标准 及规范的车载终端
  12. 批量删除,未勾选数据,点击【批量删除】弹出确认删除提示框
  13. 前端架构设计应该包含哪些东西?
  14. 【Web3 系列开发教程——创建你的第一个 NFT(9)】如何在手机钱包里查看你的 NFT
  15. 实用帖!推荐一个无版权、免费、高清图片素材网站!
  16. 路由器设置虚拟服务器王者荣耀,封杀王者荣耀 实际很简单_网络设备无线网络和技术-中关村在线...
  17. 51单片机NTC热敏电阻温度采集及控制ADC0832 LCD1602
  18. SVM(支持向量机)原理及数学推导全过程详解
  19. tesseract-ocr+java实现图片文字识别
  20. 上海高中计算机学校门槛,“魔都”上海最难进的5所中学,入学门槛高,能进的人都不一般@...

热门文章

  1. 2020年北京,上海摆摊夜市分布
  2. 以互联网行业为背景下的数据分析通识
  3. 计算机专业考研410分,硕士研究生初试分数双双410+,这是属于学霸情侣的爱情!...
  4. mybatis choose标签的用法
  5. cas客户端使用jar包运行报错SSL error
  6. python 爬取诗词名句网(包含页面跳转)
  7. openssh-9.3p1、openssl-3.0.8 x86_64升级包及批量升级
  8. 一款百度网盘不限速下载工具
  9. java:PropertyDescriptor+反射调用setter方法
  10. 【c语言】在数组的指定位置插入一个元素