예제 #1
0
    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()
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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()
예제 #6
0
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)