python实现MACD策略背离点的判断
MACD策略python实现背离点的判断
话不多说直接贴代码和运行结果!!
****运行环境:**PyCharm2017.1
import baostock as bs
import pandas as pd
import talib as ta
import matplotlib.pyplot as plt
def computeMACD(code,startdate,enddate):login_result = bs.login(user_id='anonymous', password='123456')print(login_result)###获取股票日K线数据###rs = bs.query_history_k_data(code,"date,code,close,tradeStatus",start_date=startdate, end_date=enddate, frequency="d", adjustflag="3")#### 打印结果集 ####result_list = []while (rs.error_code == '0') & rs.next():# 获取一条记录,将记录合并在一起result_list.append(rs.get_row_data())df = pd.DataFrame(result_list, columns=rs.fields)#剔除停盘数据#print(df)df2 = df[df['tradeStatus']=='1']#交易日#获取dif,dea,hist,它们的数据类似是tuple,且跟df2的date日期一一对应#记住了dif,dea,hist前33个为Nan,所以推荐用于计算的数据量一般为你所求日期之间数据量的3倍#这里计算的hist就是dif-dea,而很多证券商计算的MACD=hist*2=(dif-dea)*2dif, dea, hist= ta.MACD(df2['close'].astype(float).values, fastperiod=12, slowperiod=26, signalperiod=9)df3 = pd.DataFrame({'dif':dif[33:],'dea':dea[33:],'hist':hist[33:]},index=df2['date'][33:],columns=['dif','dea','hist'])df4 = pd.merge(df3, df2, on='date', how='left')#print(df)print(df2)print(df3)print(df4)df4.to_csv("./out_df4.csv", index=False)df2.to_csv("./out_df2.csv", index=False)hist=2*(df4['dif']-df4['dea'])df3.plot(title='MACD')plt.show()#寻找MACD金叉和死叉datenumber = int(df3.shape[0])lastdif=Nonelastclose = None#tlist = []print(df3.iloc[0,0])for i in range(datenumber-1):if (df4.iloc[i, 1]<=df4.iloc[i, 2])&\(df4.iloc[i+1, 1]>=df4.iloc[i+1, 2])&\greaterThan(lastdif, df4.iloc[i+1,1]) &\greaterThan(df4['close'][i+1],lastclose):#上一次下穿时间的收盘价小于当日收盘价lastdif = df4.iloc[i , 1]lastclose = df4['close'][i]#tlist.append(df3.index[i+1])print("期货代码:{},顶背离时间:{}, 价格:{}".format(code,df4['date'][i + 1], df4['close'][i+1]))if ((df4.iloc[i,1]>=df4.iloc[i,2])&(df4.iloc[i+1,1]<=df4.iloc[i+1,2])&greaterThan(df4.iloc[i+1,1],lastdif) &greaterThan(lastclose,df4['close'][i+1])):lastdif = df4['dif'][i]lastclose = df4['close'][i]#tlist.append(df4['date'][i+1])print("期货代码:{},底背离时间:{}, 价格:{}".format(code, df4['date'][i + 1], df4['close'][i+1]))bs.logout()return(dif,dea,hist)def greaterThan(a, b):if(not a )|( not b):return Trueelif(a > b):return Trueelse:return Falseif __name__ == '__main__':code = 'sh.600000' #浦发银行股票代码startdate = '2019-06-08'enddate = '2020-01-08'(dif,dea,hist) = computeMACD(code,startdate,enddate)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200110140633281.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNDIwOTI5,size_16,color_FFFFFF,t_70)
我测的是浦发银行的,日线。
引用到的包链接
python实现MACD策略背离点的判断相关推荐
- python抓取股票形态_利用Python实现MACD#39;顶底背离#39;形态,并实现自动化交易!...
点及财经,股票期货专业投机者. 前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,"背离"也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下 ...
- python量化自动交易_Python量化交易之MACD'顶底背离'形态的实现,自动
点及财经,股票期货专业投机者. 前言 股票或期货的价格波动,总会有一些可以规律可以遵循的.其中,'背离'也算是其中的一种,并且可以作为判断趋势结束或阶段调整的预警信号. 通常情况下,我们所说的'背离' ...
- python程序化交易实例macd-量化投资原来这么简单(2)—MACD策略(+26.9%)
上次,我们简单地用backtrader和最简单的买入卖出策略进行了一次量化投资分析: 这一次,让我们把策略变得复杂一点,使用MACD策略的信号线交叉交易法: 本系列教程源代码Github仓库:http ...
- python实现MACD均线择时策略
本文采用了聚宽平台接口进行量化策略设置: 1 确定策略内容 在之前的教程中,我们学习了如何通过财务指标等对股票进行筛选等操作.今天我们将以MACD为例,探究如何利用技术指标进行策略的构建与实现. &g ...
- Python 量化投资实战教程(2) —MACD策略(+26.9%)
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...
- 【转】Python 量化投资实战教程(2) —MACD策略
上次,我们简单地用Python 和 backtrader 使用最简单的买入卖出策略进行了一次量化投资分析: 这一次,让我们把策略变得复杂一点,使用MACD策略的信号线交叉交易法: 本系列教程源代码Gi ...
- Python 量化投资实战教程(3) —A股回测MACD策略
量化投资系列文章: Backtrader 教程 - Python 量化投资实战教程(1) Python 量化投资实战教程(2) -MACD策略(+26.9%) Python 量化投资实战教程(3) - ...
- python 源代码 macd双底 高 低_MACD双底背离_选股公式,炒股软件,炒股公式,股票软件,股票公式_指标编写互助答疑论坛_理想论坛 - 股票论坛...
请老师将以下公式双MACD背离时间不超过30天,写个选股,谢谢了 STICKLINE(100,90,0,5,0),COLOR666600; XIAO1:=REF((LOW+OPEN+CLOSE+HIG ...
- 量化交易策略 背离策略
量化交易背离策略是指根据价格与指标(如RSI.MACD等)之间的背离关系,来预测价格的走势. 在市场上,当价格趋势强劲时,技术指标往往滞后于价格,此时价格与指标之间的关系是正相关的:相反,当价格趋势弱 ...
- 聚宽macd底背离_许多散户不知道:MACD月线金叉,MACD月金叉都会带来一波牛市!...
MACD吸收了移动平均线的优点. 移动平均线的买卖交易在趋势明显时效果很好,但是一旦遇到牛皮盘整行情,移动平均线所发出的信号就过于频繁而且极其不准确,在期货市场的保证金杠杆效应下容易使投资者遭受致命损 ...
最新文章
- Web.Config文件配置之限制上传文件大小和时间
- exit函数_全面深入了解 Python 魔法函数
- php获取mysql数据菜鸟_PHP操作数据库
- 文献学习(part78-B)--A Survey of Clustering Algorithms for Big Data: T axonomy Empirical Analysis
- linux用m4重定向,liunx重定向控制台消息
- VS调试启动编辑并继续功能
- webdriver---API---(java版) 高级应用
- MVC三层架构在各框架中的特征
- 三维重建_基于图像的三维模型重建_稠密点云重建
- 索尼笔记本触摸板双指无效
- VM虚拟机同步.4开同步教程MouseWithoutBorders无界鼠标安装配置教程
- 以太网详解(三)-PHY Transceiver硬件设计注意事项
- j1900 nas安装windows蓝屏,无网卡连不上网
- 三十一 我在软件园的那些日子里
- #define private public
- 计算机网络.第三节课.笔记.信道复用、频分复用、统计时分复用、波分复用、时分复用、码分复用、双绞线带宽、双绞线
- 关于pfx证书和cer证书
- 个人管理:“唐僧”之五项修炼
- CSV文件及用Excel正确的打开方式
- 计算机通信常用的纠错方式,纠错