# -*- encoding:utf-8 -*- import numpy as np from keras.models import load_model import random from mix.stock_source import * import pymongo from util.mongodb import get_mongo_table_instance code_table = get_mongo_table_instance('tushare_code') k_table = get_mongo_table_instance('stock_day_k') stock_concept_table = get_mongo_table_instance('tushare_concept_detail') all_concept_code_list = list(get_mongo_table_instance('tushare_concept').find({})) gainian_map = {} hangye_map = {} Z_list = [] # 自选 R_list = [] # ROE O_list = [] # 其他 def predict_today(file, day, model='10_18d', log=True): industry_list = get_hot_industry(day) lines = [] with open(file) as f: for line in f.readlines()[:]: line = eval(line.strip()) lines.append(line) size = len(lines[0]) model=load_model(model) for line in lines: train_x = np.array([line[:size - 1]]) train_x_tmp = train_x[:,:11*11] train_x_a = train_x_tmp.reshape(train_x.shape[0], 11, 11, 1) # train_x_b = train_x_tmp.reshape(train_x.shape[0], 18, 24) train_x_c = train_x[:,11*11:] result = model.predict([train_x_c, train_x_a, ]) # print(result, line[-1]) stock = code_table.find_one({'ts_code':line[-1][0]}) with open('D:\\data\\quantization\\predict\\' + str(day) + '_industry100.txt', mode='a', encoding="utf-8") as f: if result[0][0] > 0.5: print(line[-1], '大涨') O_list.append(line[-1]) f.write(str(line[-1]) + ',大涨\n') elif result[0][1] > 0.5: print(line[-1], '涨') O_list.append(line[-1]) f.write(str(line[-1]) + ',涨\n') elif result[0][2] > 0.5: print(line[-1], '跌') f.write(str(line[-1]) + ',跌\n') elif result[0][3] > 0.5: print(line[-1], '大跌') f.write(str(line[-1]) + ',大跌\n') random.shuffle(O_list) print(O_list[:3]) if __name__ == '__main__': predict_today("D:\\data\\quantization\\industry\\stock15_10d_3D_20200417.log", 20200417, model='111_10d_mix_3D_s_seq.h5', log=True) # join_two_day(20200305, 20200305) # check_everyday(20200311, 20200312)