Exemplo n.º 1
0
    def get_market_status(mk, type='m', start=None, end=None):
        df = rl.get_sina_Market_json(mk).set_index('code')
        time_s = time.time()
        code_l = []
        code_d = []
        for code in df.index:
            status, lenday, diff = pct.get_linear_model_status_LSH(code,
                                                                   type=type,
                                                                   start=start,
                                                                   end=end)
            # op, ra, status, dss = pct.get_linear_model_status(code, type=type, start=start, end=end)
            if status:
                # print(df.loc[code,:])
                # if df.loc[code, 'percent'] > 0 and lenday > 200:
                if df.loc[code, 'trade'] != 0 and lenday > 200:
                    df.loc[code, 'diff'] = abs(diff)
                    code_l.append(df.loc[code, :])
            elif df.loc[code, 'trade'] != 0 and lenday > 200:
                df.loc[code, 'diff'] = abs(diff)
                code_d.append(df.loc[code, :])

        # gold_f = pd.DataFrame(code_l).sort_values(by=['diff'], ascending=[0])
        # down_f = pd.DataFrame(code_d).sort_values(by=['diff'], ascending=[0])
        gold_f = pd.DataFrame(code_l)
        down_f = pd.DataFrame(code_d)
        print("timeSearch:%s" % (time.time() - time_s))
        print("gold:%s %s :%s" % (mk, len(gold_f), gold_f.iloc[:1, 0:2]))
        print("down:%s %s :%s" % (mk, len(down_f), down_f.iloc[:1, 0:2]))
        return gold_f, down_f
Exemplo n.º 2
0
def get_hot_count(changepercent):
    allTop = pd.DataFrame()
    for market in ct.SINA_Market_KEY:
        df = rd.get_sina_Market_json(market, False)
        # count=len(df.index)
        # print df[:1]
        top = df[df['percent'] > changepercent]['code']
        topTen = df[df['percent'] > 9.9]['code']
        crashTen = df[df['percent'] < -9.8]['code']
        crash = df[df['percent'] < -changepercent]['code']
        # top=df[ df['changepercent'] <6]

        print (
            "%s topT: %s top>%s: %s " % (
                f_print(4, market), f_print(3, len(topTen)), changepercent, f_print(4, len(top)))),
        url = ct.DFCFW_FUND_FLOW_URL % ct.SINA_Market_KEY_TO_DFCFW[market]
        log.debug("ffurl:%s" % url)
        ff = ffu.get_dfcfw_fund_flow(url)
        if len(ff) > 0:
            zlr = float(ff['zlr'])
            zzb = float(ff['zzb'])
            # zt=str(ff['time'])
            print (u"crashT:%s crash<-%s:%s 流入: %0.1f亿 比: %0.1f%%" % (
                f_print(4, len(crashTen)), changepercent, f_print(4, len(crash)), zlr, zzb))
        else:
            print (u"crashT:%s crash<-%s:%s 流入: %0.1f亿 比: %0.1f%% %s" % (
                f_print(4, len(crashTen)), changepercent, f_print(4, len(crash))))

        allTop = allTop.append(df, ignore_index=True)

    df = allTop
    count = len(df.index)
    top = df[df['percent'] > changepercent]['code']
    topTen = df[df['percent'] > 9.9]['code']
    crashTen = df[df['percent'] < -9.8]['code']
    crash = df[df['percent'] < -changepercent]['code']
    print (
        u"\t\tA:%s topT:%s top>%s:%s" % (
            f_print(4, count), f_print(3, len(topTen)), changepercent, f_print(4, len(top)))),
    ff = ffu.get_dfcfw_fund_flow(ct.DFCFW_FUND_FLOW_ALL)
    if len(ff) > 0:
        zlr = float(ff['zlr'])
        zzb = float(ff['zzb'])
        zt = str(ff['time'])
        print (u"crashT:%s crash<-%s:%s 流入: %0.1f亿 占比: %0.1f%% %s" % (
            f_print(3, len(crashTen)), changepercent, f_print(4, (len(crash))), zlr, zzb, zt))
    else:
        print (u"crashT:%s crash<-%s:%s" % (f_print(3, len(crashTen)), changepercent, f_print(4, len(crash))))
    return allTop
Exemplo n.º 3
0
def get_tdx_search_day_DF(market="cyb"):
    time_t = time.time()
    df = rl.get_sina_Market_json(market)
    code_list = np.array(df.code)
    log.info("code_list:%s" % len(code_list))
    results = cct.to_mp_run(get_tdx_day_to_df, code_list)
    log.info("get_to_mp_op:%s" % (len(results)))
    # df = pd.DataFrame(results, columns=ct.TDX_Day_columns)
    # df = df.set_index('code')
    # print df[:1]

    # print len(df),df[:1]
    # print "<2015-08-25",len(df[(df.date< '2015-08-25')])
    # print "06-25-->8-25'",len(df[(df.date< '2015-08-25')&(df.date > '2015-06-25')])
    print "t:", time.time() - time_t
    return results
Exemplo n.º 4
0
def main_test():
    run = 1
    df = rl.get_sina_Market_json("cyb")
    df = df.set_index("code")
    codelist = df.index.tolist()
    duration_date = 20160101
    ptype = "low"
    dt = duration_date
    # codeList='999999'
    print ""
    for x in xrange(1):
        if len(str(dt)) != 8:
            df = get_tdx_day_to_df("999999").sort_index(ascending=False)
            dt = get_duration_price_date("999999", dt=dt, ptype=ptype, df=df)
            dt = df[df.index <= dt].index.values[changedays]
            log.info("LastDF:%s" % dt)
        else:
            dt = int(dt) + changedays
        # print dt
        # top_now = rl.get_market_price_sina_dd_realTime(df, vol, type)
        split_t = timeit.timeit(lambda: get_tdx_all_day_LastDF(codelist, dt=duration_date, ptype=ptype), number=run)
        # split_t = timeit.timeit(lambda: get_tdx_day_to_df_last(codeList, 1, type, dt,ptype),number=run)
        print ("df Read:", split_t)

        dt = duration_date
        if len(str(dt)) != 8:
            dl = int(dt) + changedays
            df = get_tdx_day_to_df("999999").sort_index(ascending=False)
            dt = get_duration_price_date("999999", dt=dt, ptype=ptype, df=df)
            dt = df[df.index <= dt].index.values[changedays]
            log.info("LastDF:%s" % dt)
        else:
            df = get_tdx_day_to_df("999999").sort_index(ascending=False)
            dl = len(get_tdx_Exp_day_to_df("999999", start=dt)) + changedays
            dt = cct.day8_to_day10(dt)

        # print dt,dl
        # strip_tx = timeit.timeit(lambda: get_tdx_exp_low_or_high_price(codeList, dt, ptype, dl), number=run)
        strip_tx = timeit.timeit(lambda: get_tdx_exp_all_LastDF(codelist, dt=duration_date, ptype=ptype), number=run)
        print ("ex Read:", strip_tx)
Exemplo n.º 5
0
 def get_market_status(mk, type='m'):
     df = rl.get_sina_Market_json(mk).set_index('code')
     time_s = time.time()
     code_l = []
     code_d = []
     for code in df.index:
         status, lenday, diff = lrh.get_linear_model_status(code, type)
         if status:
             # print(df.loc[code,:])
             # if df.loc[code, 'percent'] > 0 and lenday > 200:
             if df.loc[code, 'trade'] != 0 and lenday > 200:
                 df.loc[code, 'diff'] = abs(diff)
                 code_l.append(df.loc[code, :])
         elif df.loc[code, 'trade'] != 0 and lenday > 200:
             df.loc[code, 'diff'] = abs(diff)
             code_d.append(df.loc[code, :])
     gold_f = pd.DataFrame(code_l).sort_values(by=['diff'], ascending=[0])
     down_f = pd.DataFrame(code_d).sort_values(by=['diff'], ascending=[0])
     print("timeSearch:%s" % (time.time() - time_s))
     print("gold:%s %s :%s" % (mk, len(gold_f), gold_f.iloc[:1, 0:2]))
     print("down:%s %s :%s" % (mk, len(down_f), down_f.iloc[:1, 0:2]))
     return gold_f, down_f
    # cut_num=10000
    success = 0
    top_all = pd.DataFrame()
    time_s = time.time()
    # delay_time = 3600
    delay_time = cct.get_delay_time()
    First = True
    base_path = tdd.get_tdx_dir()
    block_path = tdd.get_tdx_dir_blocknew() + '062.blk'
    status_change = False

    # all_diffpath = tdd.get_tdx_dir_blocknew() + '062.blk'
    while 1:
        try:
            # df = sina_data.Sina().all
            df = rl.get_sina_Market_json('all')
            top_now = rl.get_market_price_sina_dd_realTime(df, vol, type)
            # print top_now.loc['300208','name']
            # top_now.to_hdf("testhdf5", 'marketDD', format='table', complevel=9)
            df_count = len(df)
            now_count = len(top_now)
            del df
            gc.collect()
            radio_t = cct.get_work_time_ratio()
            time_Rt = time.time()
            # top_now = top_now[top_now.buy > 0]
            time_d = time.time()
            if time_d - time_s > delay_time:
                status_change = True
                time_s = time.time()
                top_all = pd.DataFrame()
Exemplo n.º 7
0
def get_tdx_append_now_df(code, type="f", start=None, end=None):
    # start=cct.day8_to_day10(start)
    # end=cct.day8_to_day10(end)
    df = get_tdx_Exp_day_to_df(code, type, start, end).sort_index(ascending=True)
    # print df[:1]
    if not end == None:
        if not end == df.index[-1]:
            print (end, df.index[-1])
        return df
    today = cct.get_today()
    if len(df) > 0:
        tdx_last_day = df.index[-1]
        duration = cct.get_today_duration(tdx_last_day)
        log.debug("duration:%s" % duration)
    else:
        tdx_last_day = None
        duration = 1
    log.debug("tdx_last_day:%s" % tdx_last_day)
    index_status = False
    if code == "999999":
        code = "sh"
        index_status = True
    elif code.startswith("399"):
        index_status = True
        for k in INDEX_LIST.keys():
            if INDEX_LIST[k].find(code) > 0:
                code = k

    log.debug("duration:%s" % duration)
    if duration >= 1:
        ds = ts.get_hist_data(code, start=tdx_last_day, end=today)
        if ds is not None and len(ds) > 1:
            ds = ds[: len(ds) - 1]
            ds["code"] = code
            ds["vol"] = 0
            ds = ds.loc[:, ["code", "open", "high", "low", "close", "vol", "volume"]]
            ds.rename(columns={"volume": "amount"}, inplace=True)
            ds.sort_index(ascending=True, inplace=True)
            log.debug("ds:%s" % ds[:1])
            df = df.append(ds)
            # pd.concat([df,ds],axis=0, join='outer')
            # result=pd.concat([df,ds])
        if cct.get_work_time() and not index_status:
            dm = rl.get_sina_Market_json("all", showtime=False).set_index("code")
            # dm=dm.drop_duplicates()
            log.debug("dm:%s" % dm[-1:])
            dm.rename(columns={"volume": "amount", "trade": "close"}, inplace=True)
            # c_name=dm.loc[code,['name']]
            dm_code = dm.loc[code, ["open", "high", "low", "close", "amount"]]
            log.debug("dm_code:%s" % dm_code["amount"])
            dm_code["amount"] = round(float(dm_code["amount"]) / 100, 2)
            dm_code["code"] = code
            dm_code["vol"] = 0
            # dm_code['date']=today
            dm_code.name = today
            df = df.append(dm_code)
            # df['name']=c_name
            # log.debug("c_name:%s"%(c_name))
            log.debug("df[-3:]:%s" % (df[-2:]))
            df["name"] = dm.loc[code, "name"]
        log.debug("df:%s" % df[-2:])
    return df
Exemplo n.º 8
0
from JohnsonUtil import commonTips as cct

if __name__ == "__main__":
    # parsehtml(downloadpage(url_s))
    # StreamHandler(sys.stdout).push_application()
    log = LoggerFactory.getLogger('Autodata')
    # log.setLevel(LoggerFactory.DEBUG)
    # handler=StderrHandler(format_string='{record.channel}: {record.message) [{record.extra[cwd]}]')
    # log.level = log.debug
    # error_handler = SyslogHandler('Sina-M-Log', level='ERROR')

    try:
        if cct.get_work_day_status() and cct.get_now_time_int() < 1505:
            # tdx_data=tdd.get_tdx_all_day_DayL_DF(market='cyb', dayl=1)
            print sina_data.Sina().get_stock_code_data('300006')
            tdx_data = rl.get_sina_Market_json('cyb')
            if len(tdx_data) < 1:
                raise KeyboardInterrupt("StopTime")
            else:
                print tdx_data[-2:]
            code = '300366'

    except (KeyboardInterrupt) as e:
        pass
    except (IOError, EOFError, Exception) as e:
        print "Error", e
        #traceback.print_exc()
        sleeptime = random.randint(5, 15)
        print "Error2sleep:%s" % (sleeptime)
        cct.sleep(sleeptime)
'''
Exemplo n.º 9
0
def get_hot_countNew(changepercent,rzrq):
    allTop = pd.DataFrame()
    for market in ct.SINA_Market_KEY:
        df = rd.get_sina_Market_json(market, False)
        # count=len(df.index)
        log.info("market:%s" % df[:1])
        df = df.dropna()
        if 'percent' in df.columns.values:
            # and len(df[:20][df[:20]['percent']>0])>3:
            top = df[df['percent'] > changepercent]['code']
            topTen = df[df['percent'] > 9.9]['code']
            crashTen = df[df['percent'] < -9.8]['code']
            crash = df[df['percent'] < -changepercent]['code']
        else:
            log.info("market No Percent:%s" % df[:1])
            top = '0'
            topTen = '0'
            crashTen = '0'
            crash = '0'
        # top=df[ df['changepercent'] <6]

        print (
            "%s topT: %s top>%s: %s " % (
                f_print(4, market), f_print(3, len(topTen)), changepercent, f_print(4, len(top)))),
        # url = ct.DFCFW_FUND_FLOW_URL % ct.SINA_Market_KEY_TO_DFCFW[market]
        # log.debug("ffurl:%s" % url)
        print (u"crashT:%s crash<-%s:%s" % (f_print(4, len(crashTen)), changepercent, f_print(4, len(crash)))),
        ff = ffu.get_dfcfw_fund_flow(market)
        if len(ff) > 0:
            zlr = float(ff['zlr'])
            zzb = float(ff['zzb'])
            # zt=str(ff['time'])
            # modfprint=lambda x:f_print(4,x) if x>0 else "-%s"%(f_print(4,str(x).replace('-','')))
            # print modfprint(zlr)
            # print (u"流入: %s亿 比: %s%%" % (modfprint(zlr), modfprint(zzb))),
            print (u"流入: %s亿 比: %s%%" % (f_print(4, zlr), f_print(4, zzb))),
            print (u"%s %s%s"%( f_print(4,ff['close']),f_print(1,'!' if ff['open'] > ff['lastp'] else '?'),f_print(2,'!!' if ff['close'] > ff['lastp'] else '??')))
        allTop = allTop.append(df, ignore_index=True)

    df = allTop
    count = len(df.index)
    top = df[df['percent'] > changepercent]['code']
    topTen = df[df['percent'] > 9.9]['code']
    crashTen = df[df['percent'] < -9.8]['code']
    crash = df[df['percent'] < -changepercent]['code']
    print (
        u" \tA:%s topT:%s top>%s:%s" % (
            f_print(4, count), f_print(3, len(topTen)), changepercent, f_print(4, len(top)))),
    print (u"crashT:%s crash<-%s:%s" % (f_print(3, len(crashTen)), changepercent, f_print(4, len(crash)))),
    ff = ffu.get_dfcfw_fund_flow(ct.DFCFW_FUND_FLOW_ALL)
    if len(ff) > 0:
        zlr = float(ff['zlr'])
        zzb = float(ff['zzb'])
        zt = str(ff['time'])
        print (u"流入: %s亿 占比: %s%% %s" % (f_print(4, zlr), f_print(4, zzb), f_print(4, zt)))
    ff = ffu.get_dfcfw_fund_SHSZ()
    hgt = ffu.get_dfcfw_fund_HGT()
    log.debug("shzs:%s" % ff)
    log.debug("hgt:%s" % hgt)
    # if len(ff) > 0:
    #     print ("\tSH: %s u:%s vo: %s sz: %s u:%s vo: %s" % (
    #         f_print(4, ff['scent']), f_print(4, ff['sup']), f_print(5, ff['svol']), f_print(4, ff['zcent']),
    #         f_print(4, ff['zup']),
    #         f_print(5, ff['zvol']))),
    if len(ff) > 0:
        print (u"\tSh: %s Vr:  %s Sz: %s Vr: %s " % (
            f_print(4, ff['scent']), f_print(5, ff['svol']), f_print(4, ff['zcent']), f_print(5, ff['zvol']))),
    if len(hgt) > 0:
        print ("Hgt: %s Ggt: %s" % (hgt['hgt'], hgt['ggt']))    
    
    if len(rzrq) > 0:
        print (u"\t\t\t\t\t    Sh: %s sz:  %s All: %s diff: %s亿" % (
            f_print(5, rzrq['sh']), f_print(5, rzrq['sz']), f_print(4, rzrq['all']), f_print(5, rzrq['diff']))) 
    

        
        
    return allTop
Exemplo n.º 10
0
    status = False
    vol = '0'
    type = '2'
    # cut_num=10000
    success = 0
    top_all = pd.DataFrame()
    time_s = time.time()
    # delay_time = 3600
    delay_time = cct.get_delay_time()
    First = True
    base_path = tdd.get_tdx_dir()
    block_path = tdd.get_tdx_dir_blocknew() + '067.blk'
    # all_diffpath = tdd.get_tdx_dir_blocknew() + '062.blk'
    while 1:
        try:
            df = rl.get_sina_Market_json('cyb')
            top_now = rl.get_market_price_sina_dd_realTime(df, vol, type)
            # print top_now.loc['300208','name']
            df_count = len(df)
            now_count = len(top_now)
            del df
            gc.collect()
            radio_t = cct.get_work_time_ratio()
            time_Rt = time.time()
            time_d = time.time()
            if time_d - time_s > delay_time:
                status_change = True
                log.info("chane clear top")
                time_s = time.time()
                top_all = pd.DataFrame()
Exemplo n.º 11
0
 time_s = time.time()
 delay_time = 720000
 # delay_time = cct.get_delay_time()
 First = True
 base_path = tdd.get_tdx_dir()
 block_path = tdd.get_tdx_dir_blocknew() + "061.blk"
 status_change = False
 lastpTDX_DF = ""
 duration_date = 20151224
 ptype = "high"
 filter = "y"
 # all_diffpath = tdd.get_tdx_dir_blocknew() + '062.blk'
 while 1:
     try:
         # df = sina_data.Sina().all
         df = rl.get_sina_Market_json("all")
         top_now = rl.get_market_price_sina_dd_realTime(df, vol, type)
         top_dif = top_now
         # top_now.to_hdf("testhdf5", 'marketDD', format='table', complevel=9)
         now_count = len(top_now)
         del df
         gc.collect()
         radio_t = cct.get_work_time_ratio()
         # top_now = top_now[top_now.buy > 0]
         time_Rt = time.time()
         time_d = time.time()
         if time_d - time_s > delay_time:
             status_change = True
             time_s = time.time()
             top_all = pd.DataFrame()
         else: