##python实现背离点的判断(test2)
这一次是先判断金叉和死叉,然后把其输出结果作为新的两张表,然后在新的两张表里分别进行判断是否是背离点。
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)
# 剔除停盘数据
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)*2
dif, 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