def test(): pl = publish.Publish() base_boll_up = get_boll_up_base() base_boll_lower = get_boll_lower_base() def get_data(): code = jx.HCGD df = tdx.getFive(code) return df key = myredis.gen_keyname(__file__, Recognize_boll.test) df = myredis.createRedisVal(key, get_data).get() df = stock.TDX_BOLL_df(df) for i in range(60, len(df)): df_cur = df[:i] c = Recognize_boll(base_boll_up, df_cur) c2 = Recognize_boll(base_boll_lower, df_cur) b = c._calc_beta_up() b2 = c._calc_beta_lower() #if c2.is_matched(): #print(b2) if abs(c.sign()) > 0 or abs(c2.sign()) > 0: df_cur = df_cur[['c', 'boll_up', 'boll_mid', 'boll_lower']] df_cur.index = range(len(df_cur)) df_cur.plot() pl.show()
def get_data(code): """ return: df ['o', 'c', 'h', 'l', 'upper', 'middle', 'lower']""" #df = load_data(code) #myredis.delkey(myredis.gen_keyname(__file__, get_data)) df = myredis.createRedisVal(myredis.gen_keyname(__file__, get_data), lambda: load_data(code)).get() size = len(df) if size > g_scope_len: index = gen_random_int(0, size - g_scope_len) df = load_data_at_point(df, index, length=g_scope_len) return df
def combin_cur_dir(sub_dir): """组合目录 当前执行文件的目录作为根目录, 支持多进程 sub_dir: 当前执行文件下的子目录, 前面不带/ return: 绝对路径 """ key = myredis.gen_keyname(__file__, combin_cur_dir) enter_file = sys.argv[0] root_dir = os.path.dirname(os.path.abspath(enter_file)) if root_dir.lower().find('multisubprocess') >= 0: root_dir = myredis.get_obj(key) else: myredis.set_obj(key, root_dir) return root_dir + '/' + sub_dir
def get_boll_up_base(): """获取一个用来作为标准的曲线 return : np.ndarray """ code = jx.HCGD华灿光电 t = '2018-12-3 10:30:00' t = '2018-11-30 10:00:00' key = myredis.gen_keyname(__file__, get_boll_up_base) df = myredis.createRedisVal( key, lambda: stock.getFiveHisdatDf(code, method='tdx')).get() upper, middle, lower = stock.TDX_BOLL(df['c'].values) df['upper'] = upper df = df[t:] df = df[df.index[20]:] df = df[:df.index[29]] #ui.DrawTs(pl, df['upper'].values) #pl.show() return df['upper'].values
def getData(): def get(): from autoxd.warp_pytdx import getFive from autoxd.pinyin import stock_pinyin3 as jx code = jx.HWWH df = getFive(code) df = stock.TDX_BOLL_df(df) return df def getLocal(): import pandas as pd fname = '../datas/002304.csv' df = pd.read_csv(fname) df.index = pd.DatetimeIndex( df[df.columns[0]]) df = stock.TDX_BOLL_df(df) return df key = myredis.gen_keyname(__file__, getData) #myredis.delkey(key) return myredis.createRedisVal(key, getLocal).get()
def test_recog_history_boll(): from pypublish import publish pl = publish.Publish(explicit=True) code = jx.ZCKJ.b def get_local_codes(): data_path = 'cnn_boll/datasources/' return np.array([str(f).split('.')[0] for f in os.listdir(data_path)]) from sklearn.utils import shuffle key = myredis.gen_keyname(__file__, test_recog_history_boll) codes = myredis.createRedisVal(key, get_local_codes).get() code = shuffle(codes)[0] #ui.DrawTs(pl, x) #x = get_boll_up_base() x = get_boll_lower_base() p = 0.75 #report = ['init', pl.get_CurImgFname()] report = recog_history_boll(pl, x, p, code) pl.RePublish(report)