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
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
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
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)
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()
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
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) '''
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
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()
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: