python 判断股票的金叉死叉

####导入包
import pandas as pd
import talib
import tushare as ts
###随便获取一个股票数据
df = ts.get_k_data("601069")
####获取 K值和D值

df['K'], df['D'] = talib.STOCH(df['high'].values, 
                               df['low'].values, 
                               df['close'].values, 
                               fastk_period=9, 
                               slowk_period=3,
                               slowk_matype=0, 
                               slowd_period=3, 
                              slowd_matype=0)

####处理数据,计算J值
df['K'].fillna(0,inplace=True)
df['D'].fillna(0,inplace=True)
df['J']=3*df['K']-2*df['D']

####计算金叉和死叉

df['KDJ_金叉死叉'] = ''
####令K>D 为真值
kdj_position=df['K']>df['D']

####当Ki>Di 为真,Ki-1 Di-1 为假 为死叉
df.loc[kdj_position[(kdj_position == False) & (kdj_position.shift() == True)].index, 'KDJ_金叉死叉'] = '死叉'

结果示例

结果.png

你可能感兴趣的:(python 判断股票的金叉死叉)