def sendConcernedStkPicToSelf_V2(): """ 将自己关心的数据打印出图,发送到qq 相较于之前版本,本次改进为: 1、使用json文件中的code列表代替数据库中的列表 2、进行判断,出发发送条件再予以发送 :return: """ towho = '影子2' send_qq(towho, '以下是已入的stk的形势图:') code_list = read_config()['buy_stk'] for x in code_list + ['sh', 'sz', 'cyb']: df = get_k_data_JQ(x, 400) fig, _ = genStkPicForQQ(df) plt.title(str(x)) send_pic_qq(towho, fig) # plt.show() plt.close() fig, _ = genStkIdxPicForQQ(df) plt.title(str(x)) send_pic_qq(towho, fig) # plt.show() plt.close() send_W_M_MACD(x, towho)
def sendConcernedStkPicToSelf_T(): """ 将自己关心的数据打印出图,发送到qq :return: """ towho = '影子2' send_qq(towho, '以下是已入的stk的形势图:') stk_buy = read_config()['buy_stk'] for x in stk_buy + ['sh', 'sz', 'cyb']: df = get_k_data_JQ(x, 400) fig, _, attention = genStkPicForQQ(df, x) if attention: send_pic_qq(towho, fig) send_W_M_MACD(x, towho) plt.close() # 打印第二张套图 fig, _, attention = genStkIdxPicForQQ(df, x) if attention: send_pic_qq(towho, fig) plt.close()
def calRSVRank(stk_code, Mdays, history_length=400): df = get_k_data_JQ(stk_code, count=history_length, end_date=get_current_date_str()) # 移动平均线+RSV(未成熟随机值) M = Mdays df['low_M' + str(M)] = df['low'].rolling(window=M).mean() df['high_M' + str(M)] = df['high'].rolling(window=M).mean() df['close_M' + str(M)] = df['close'].rolling(window=M).mean() for idx in df.index: if (df.loc[idx, 'high_M' + str(M)] - df.loc[idx, 'low_M' + str(M)] == 0) | (df.loc[idx, 'close_M' + str(M)] - df.loc[idx, 'low_M' + str(M)] == 0): df.loc[idx, 'RSV'] = 0.5 else: df.loc[idx, 'RSV'] = (df.loc[idx, 'close_M' + str(M)] - df.loc[idx, 'low_M' + str(M)]) / ( df.loc[idx, 'high_M' + str(M)] - df.loc[idx, 'low_M' + str(M)]) # df['RSV'] = df.apply(lambda x: (x['close_M'+str(M)] - x['low_M'+str(M)])/(x['high_M'+str(M)] - x['low_M'+str(M)]), axis=1) return df.tail(1)['RSV'].values[0]
def calRelaPLevel(stk_list, period, towho): """ 计算相对价格,并发送到qq :param stk_list: :return: """ r = [ (x, cal_stk_p_level(np.array(get_k_data_JQ(stk_code=x, start_date=add_date_str(get_current_date_str(), period))['close']))['total_last']) for x in stk_list] r_df = pd.DataFrame(data=r, columns=['code', 'level']) sendPLevel2QQ(r_df, towho)
def printStkListPic2QQ(code_list, towho, title=None): if title is not None: title_str = title else: title_str = '' for x in code_list: df = get_k_data_JQ(x, 400) fig, _ = genStkPicForQQ(df) plt.title(str(x) + title_str) send_pic_qq(towho, fig) plt.close() fig, _ = genStkIdxPicForQQ(df) plt.title(str(x) + title_str) send_pic_qq(towho, fig) plt.close()
def sendMainIndexStkPic2Public(): """ 将自己关心的数据打印出图,发送到qq :return: """ for x in ['sh', 'sz', 'cyb']: df = get_k_data_JQ(x, 400) fig, _ = genStkPicForQQ(df) plt.title(str(x)) send_pic_qq('大盘上涨概率公示', fig) plt.close() fig, _ = genStkIdxPicForQQ(df) plt.title(str(x)) send_pic_qq('大盘上涨概率公示', fig) plt.close()