Python量化编程如何判断均线数据是金叉还是死叉?-股市数据均线策略编程分析
以平安银行的股票数据为例进行分析
1.使用tushare获取股市数据,直接上代码:
import pandas as pdimport numpy as npimport tushare as tstoken = 'c********c'pro = ts.pro_api(token)df = pro.daily(ts_code='601318.SH')
获取数据如下:
2.计算5日、30日均线数据:。
df['ma5'] = df['close'].rolling(5).mean()df['ma30'] = df['close'].rolling(30).mean()
3.如何判断金叉,方法1:使用循环:
昨天的ma5小于ma30,今天的ma5大于ma30表示为金叉。
if (df['ma5'][i-1] < df['ma30'][i-1]) and\(df['ma5'][i] >= df['ma30'][i]):
4.如何判断金叉,方法2:使用dataframe操作:
使用shift函数,昨天满足大于条件同时昨天小于条件的:
(df['ma5'] >= df['ma30']) & ( (df['ma5'] < df['ma30']).shift(1) )
5.使用tushare获取股票数据的方式。
上文代码运行的话,需要自己免费注册tushare获取token,替换文中的token字符串。可以点击免费获取token或者https://tushare.pro/register?reg=287337,免费注册,即可获取token。