예제 #1
0
                    #         # ((float(top_now.loc[symbol, 'buy']) - float(
                    #         # top_all.loc[symbol, 'lastp'])) / float(top_all.loc[symbol, 'lastp']) * 100),
                    #         # 1)
                    #         top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    top_all = cct.combine_dataFrame(top_all, top_now, col=None)

                top_dif = top_all.copy()
                log.debug('top_dif:%s' % (len(top_dif)))
                if 'trade' in top_dif.columns:
                    top_dif['buy'] = (map(lambda x, y: y if int(x) == 0 else x,
                                          top_dif['buy'].values,
                                          top_dif['trade'].values))

                # 判断主升
                # log.debug('top_dif:%s'%(len(top_dif)))
                if ct.checkfilter and cct.get_now_time_int(
                ) > 915 and cct.get_now_time_int() < ct.checkfilter_end_timeDu:
                    top_dif = top_dif[top_dif.low > top_dif.llow *
                                      ct.changeRatio]
                    # top_dif = top_dif[top_dif.buy >= top_dif.lhigh * ct.changeRatio]
                    log.debug('top_dif:%s' % (len(top_dif)))

                if cct.get_now_time_int() > 915:
                    top_dif = top_dif[top_dif.buy > 0]

                log.debug('top_dif:%s' % (len(top_dif)))
                top_dif['dff'] = (map(lambda x, y: round(
                    (x - y) / y * 100, 1), top_dif['buy'].values,
                                      top_dif['lastp'].values))
                # print top_dif.loc['600610',:]
                # top_dif = top_dif[top_dif.trade > 0]
                # if cct.get_now_time_int() >< 932:
 # print "code:",symbol
 count_n = top_now.loc[symbol, 'buy']
 count_a = top_all.loc[symbol, 'buy']
 # print count_a,count_n
 # print count_n,count_a
 
 if count_a == 0 and count_n == 0:
     continue
 elif count_a == 0 and count_n !=0:
     top_all.loc[symbol, 'buy'] = top_now.loc[symbol, 'buy']
     count_a = count_n
 else:
     pass
 
 
 if cct.get_now_time_int() < 930 and count_a != count_n:
     # if not count_n == count_a:
     top_all.loc[symbol, 'buy'] = top_now.loc[symbol, 'buy']
     
 else:
     if not count_n == count_a:
         # log.info("n_buy-a_buy:%s" % (count_n - count_a))
         top_now.loc[symbol, 'diff'] = round(
             ((float(count_n) - float(count_a)) / float(count_a) * 100), 1)
         if status_change and 'counts' in top_now.columns.values:
             print "change:", time.time() - time_s
             # top_now.loc[symbol,'lastp']=top_all.loc[symbol,'lastp']
             # top_all.loc[symbol, 'buy':'counts'] = top_now.loc[symbol, 'buy':'counts']
             top_all.loc[symbol, 'buy':'prev_p'] = top_now.loc[symbol, 'buy':'prev_p']
         else:
             # top_now.loc[symbol,'lastp']=top_all.loc[symbol,'lastp']
예제 #3
0
                    #     if 'couts' in top_now.columns.values:
                    #         top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    #     else:
                    #         # top_now.loc[symbol, 'dff'] = round(
                    #         # ((float(top_now.loc[symbol, 'buy']) - float(
                    #         # top_all.loc[symbol, 'lastp'])) / float(top_all.loc[symbol, 'lastp']) * 100),
                    #         # 1)
                    #         top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    top_all = cct.combine_dataFrame(top_all, top_now, col=None)

                top_dif = top_all.copy()
                if 'trade' in top_dif.columns:
                    top_dif['buy'] = (map(lambda x, y: y if int(x) == 0 else x,
                                          top_dif['buy'].values,
                                          top_dif['trade'].values))
                if ct.checkfilter and cct.get_now_time_int(
                ) > 915 and cct.get_now_time_int() < ct.checkfilter_end_timeDu:
                    top_dif = top_dif[top_dif.low > top_dif.llow *
                                      ct.changeRatio]

                # if cct.get_now_time_int() > 915 and cct.get_now_time_int() <= 926:
                # top_dif['percent']= (map(lambda x, y: round((x-y)/y*100,1) if int(y) > 0 else 0, top_dif.buy, top_dif.llastp))

                if cct.get_now_time_int() > 915:
                    top_dif = top_dif[top_dif.buy > 0]

                top_dif['dff'] = (map(lambda x, y: round(
                    (x - y) / y * 100, 1), top_dif['buy'].values,
                                      top_dif['lastp'].values))
                # print top_dif.loc['600610',:]
                # top_dif = top_dif[top_dif.trade > 0]
                # if cct.get_now_time_int() > 932:
예제 #4
0
                # print top_all[:10]
                print rl.format_for_print(top_all[:10])
                # print "staus",status
                if status:
                    for code in top_all[:10].index:
                        code = re.findall("(\d+)", code)
                        if len(code) > 0:
                            code = code[0]
                            kind = sl.get_multiday_ave_compare_silent(code)
                top_all = top_bak
                del top_bak
                gc.collect()

            else:
                print "no data"
            int_time = cct.get_now_time_int()
            if cct.get_work_time():
                if int_time < 930:
                    while 1:
                        time.sleep(60)
                        if cct.get_now_time_int() < 931:
                            time.sleep(60)
                            print ".",
                        else:
                            top_all = pd.DataFrame()
                            time_s = time.time()
                            print "."
                            break
                else:
                    time.sleep(60)
            elif cct.get_work_duration():
                # print "staus",status

                if status:
                    for code in top_dif[:10].index:
                        code = re.findall('(\d+)', code)
                        if len(code) > 0:
                            code = code[0]
                            kind = sl.get_multiday_ave_compare_silent(code)
                            # print top_all[top_all.low.values==0]

                            # else:
                            #     print "\t No RealTime Data"
            else:
                print "\tNo Data"

            int_time = cct.get_now_time_int()
            if cct.get_work_time():
                if int_time < 925:
                    time.sleep(30)
                elif int_time < 930:
                    time.sleep((930 - int_time) * 60)
                    top_all = pd.DataFrame()
                    time_s = time.time()
                else:
                    time.sleep(60)
            elif cct.get_work_duration():
                while 1:
                    time.sleep(60)
                    if cct.get_work_duration():
                        print ".",
                        time.sleep(60)
예제 #6
0
                        sys.exit()
                    # str.isdigit()是用来判断字符串是否纯粹由数字组成
                    elif not num_input or not len(num_input) == 6:
                        print("Please input 6 code:or exit")
                        num_input = ''
                if num_input:
                    if ave == None:
                        ave = get_code_search_loop(num_input, code, dayl=days)
                    else:
                        ave = get_code_search_loop(num_input,
                                                   code,
                                                   dayl=days,
                                                   ave=ave)
                    code = num_input

            int_time = cct.get_now_time_int()
            if cct.get_work_time():
                if int_time < 1000:
                    cct.sleep(60)
                else:
                    cct.sleep(ct.duration_sleep_time)
            int_time = cct.get_now_time_int()
            if cct.get_work_time():
                if int_time < 930:
                    while 1:
                        cct.sleep(60)
                        if cct.get_now_time_int() < 931:
                            cct.sleep(60)
                            print ".",
                        else:
                            # cct.sleep(random.randint(0, 30))
예제 #7
0
    def all(self):

        self.stockcode = StockCode()
        self.stock_code_path = self.stockcode.stock_code_path
        self.stock_codes = self.stockcode.get_stock_codes()
        self.load_stock_codes()
        # print "stocks:",len(self.stock_codes)
        self.stock_codes = [elem for elem in self.stock_codes if elem.startswith(('6','30','00'))]

        h5 = h5a.load_hdf_db(self.hdf_name,self.table, code_l=self.stock_codes)
        # print "stocks:",len(self.stock_codes)
        if h5 is not None and len(h5) > 0:
            o_time = h5[h5.timel <> 0].timel
            if len(o_time) > 0:
                o_time = o_time[0]
                l_time = time.time() - o_time
                sina_limit_time = ct.sina_limit_time
                sina_time_status = (cct.get_work_day_status() and 915 < cct.get_now_time_int() < 926)
#                return_hdf_status = not cct.get_work_day_status() or (cct.get_work_day_status() and (cct.get_work_time() and l_time < sina_limit_time))
                return_hdf_status = not cct.get_work_time() or (cct.get_work_time() and l_time < sina_limit_time)
                log.info("915:%s sina_time:%0.2f limit:%s"%(sina_time_status,l_time,sina_limit_time))
                if sina_time_status and l_time < 8:
                    log.info("open 915 hdf ok:%s"%(len(h5)))
                    return h5
                elif not sina_time_status and return_hdf_status:
                    log.info("return hdf5 data:%s"%(len(h5)))
                    return h5
                else:
                    log.info("no return  hdf5:%s"%(len(h5)))

        # self.stock_with_exchange_list = list(
            # map(lambda stock_code: ('sh%s' if stock_code.startswith(('5', '6', '9')) else 'sz%s') % stock_code,
                # self.stock_codes))
        self.stock_with_exchange_list = list(
            map(lambda stock_code: ('sh%s' if stock_code.startswith(('6')) else 'sz%s') % stock_code,
                self.stock_codes))
        self.stock_list = []
        self.request_num = len(self.stock_with_exchange_list) // self.max_num
        for range_start in range(self.request_num):
            num_start = self.max_num * range_start
            num_end = self.max_num * (range_start + 1)
            request_list = ','.join(
                self.stock_with_exchange_list[num_start:num_end])
            self.stock_list.append(request_list)
        # print len(self.stock_with_exchange_list), num_end
        if len(self.stock_with_exchange_list) > num_end:
            request_list = ','.join(
                self.stock_with_exchange_list[num_end:])
            self.stock_list.append(request_list)
            self.request_num += 1
        # a = 0
        # for x in range(self.request_num):
        #     print x
        #     i = len(self.stock_list[x].split(','))
        #     print i
        #     a += i
        #     print a
        log.debug('all:%s' % len(self.stock_list))
        # log.error('all:%s req:%s' %
        #           (len(self.stock_list), len(self.stock_list)))
        return self.get_stock_data()
예제 #8
0
    def format_response_data(self,index=False):
        stocks_detail = ''.join(self.stock_data)
        # print stocks_detail
        result = self.grep_stock_detail.finditer(stocks_detail)
        # stock_dict = dict()
        list_s = []
        for stock_match_object in result:
            stock = stock_match_object.groups()
            # print stock
            # print stock
            # fn=(lambda x:x)
            # list.append(map(fn,stock))
            # df = pd.DataFrame(list,columns=ct.SINA_Total_Columns)
            #     list_s.append({'code'})
            list_s.append(
                {'code': stock[0],
                 'name': stock[1],
                 'open': float(stock[2]),
                 'close': float(stock[3]),
                 'now': float(stock[4]),
                 'high': float(stock[5]),
                 'low': float(stock[6]),
                 'buy': float(stock[7]),
                 'sell': float(stock[8]),
                 'volume': int(stock[9]),
                 'turnover': float(stock[10]),
                 # 'amount': float(stock[10]),
                 'b1_v': int(stock[11]),
                 'b1': float(stock[12]),
                 'b2_v': int(stock[13]),
                 'b2': float(stock[14]),
                 'b3_v': int(stock[15]),
                 'b3': float(stock[16]),
                 'b4_v': int(stock[17]),
                 'b4': float(stock[18]),
                 'b5_v': int(stock[19]),
                 'b5': float(stock[20]),
                 'a1_v': int(stock[21]),
                 'a1': float(stock[22]),
                 'a2_v': int(stock[23]),
                 'a2': float(stock[24]),
                 'a3_v': int(stock[25]),
                 'a3': float(stock[26]),
                 'a4_v': int(stock[27]),
                 'a4': float(stock[28]),
                 'a5_v': int(stock[29]),
                 'a5': float(stock[30]),
                 'dt': (stock[31]),
                 'ticktime': (stock[32])})
#        print list_s
        # df = pd.DataFrame.from_dict(stock_dict,columns=ct.SINA_Total_Columns)
        df = pd.DataFrame(list_s, columns=ct.SINA_Total_Columns)
        # if self.index_status and cct.get_work_time():
        # if self.index_status:
        # if cct.get_work_time() or (cct.get_now_time_int() > 915) :
        # df = df.drop('close', axis=1)
        df.rename(columns={'close': 'llastp'}, inplace=True)
        if (cct.get_now_time_int() > 915 and cct.get_now_time_int() < 931):
#            df.rename(columns={'buy': 'close'}, inplace=True)
            df['close']=df['buy']
            df['low']=df['buy']
        elif (cct.get_now_time_int() > 830 and cct.get_now_time_int() <= 915):
#            df.rename(columns={'buy': 'close'}, inplace=True)
            df['buy']=df['llastp']
            df['close']=df['buy']
            df['low']=df['buy']
        else:
            # df.rename(columns={'now': 'close'}, inplace=True)
            df['close'] = df['now']

        # df =
        df = df.drop_duplicates('code')
        # df = df.loc[:, ct.SINA_Total_Columns_Clean]
        # df = df.loc[:, ct.SINA_Total_Columns]
        # df.rename(columns={'turnover': 'amount'}, inplace=True)
        df = df.fillna(0)
#        df = df.sort_values(by='code', ascending=0)
        df = df.set_index('code')
        # print ("Market-df:%s %s time: %s" % (
        # cct.get_now_time()))
        log.info("hdf:all%s %s"%(len(df),len(self.stock_codes)))
        h5a.write_hdf_db(self.hdf_name,df,self.table,index=index)
#        self.index_status = False
        log.info("wr end:%0.2f"%(time.time() - self.start_t))
        return df
예제 #9
0
                    #     if symbol in top_all.index and top_now.loc[symbol, 'buy'] <> 0:
                    #         if 'couts' in top_now.columns.values:
                    #             top_all.loc[symbol, 'buy':'prev_p'] = top_now.loc[
                    #                 symbol, 'buy':'prev_p']
                    #         else:
                    #             top_all.loc[symbol, 'buy':'low'] = top_now.loc[
                    #                 symbol, 'buy':'low']
                    top_all = cct.combine_dataFrame(top_all, top_now, col=None)
                top_dif = top_all.copy()

                top_dif = top_dif[top_dif.lvol > ct.LvolumeSize]
                # if top_dif[:1].llow.values <> 0:
                # if not (cct.get_now_time_int() > 915 and cct.get_now_time_int() <= 925):
                if len(top_dif[:5][top_dif[:5]['buy'] > 0]) > 3:
                    log.debug('diff2-0-buy>0')
                    if cct.get_now_time_int() > 915 and cct.get_now_time_int(
                    ) < ct.checkfilter_end_time:
                        top_dif = top_dif[top_dif.low > top_dif.llow *
                                          ct.changeRatio]
                    log.debug('dif4 open>low0.99:%s' % len(top_dif))
                    # top_dif['buy'] = (map(lambda x, y: y if int(x) == 0 else x, top_dif['buy'].values, top_dif['trade'].values))
                    # if 'volumn' in top_dif.columns and 'lvol' in top_dif.columns:
                top_dif['volume'] = (map(
                    lambda x, y: round(x / y / radio_t, 1), top_dif['volume'],
                    top_dif['lvol']))

                # if 'lastp' in top_dif.columns and 'buy' in top_dif.columns:
                top_dif['dff'] = map(lambda x, y: round(
                    (x - y) / y * 100, 1), top_dif['buy'].values,
                                     top_dif['lastp'].values)
예제 #10
0
                    #             # top_now.loc[symbol, 'dff'] = round(
                    #             # ((float(top_now.loc[symbol, 'buy']) - float(
                    #             # top_all.loc[symbol, 'lastp'])) / float(top_all.loc[symbol, 'lastp']) * 100),
                    #             # 1)
                    #             top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    top_all = cct.combine_dataFrame(top_all, top_now, col=None)

                top_dif = top_all.copy()
                log.debug('top_dif:%s' % (len(top_dif)))
                if 'trade' in top_dif.columns:
                    top_dif['buy'] = (
                        map(lambda x, y: y if int(x) == 0 else x, top_dif['buy'].values, top_dif['trade'].values))

                # 判断主升
                # log.debug('top_dif:%s'%(len(top_dif)))
                if ct.checkfilter and cct.get_now_time_int() > 915 and cct.get_now_time_int() < ct.checkfilter_end_timeDu:
                    top_dif = top_dif[top_dif.low > top_dif.llow * ct.changeRatio]
                    # top_dif = top_dif[top_dif.buy >= top_dif.lhigh * ct.changeRatio]
                    log.debug('top_dif:%s' % (len(top_dif)))

                if cct.get_now_time_int() > 915:
                    top_dif = top_dif[top_dif.buy > 0]

                log.debug('top_dif:%s' % (len(top_dif)))
                top_dif['dff'] = (
                    map(lambda x, y: round((x - y) / y * 100, 1), top_dif['buy'].values, top_dif['lastp'].values))
                # print top_dif.loc['600610',:]
                # top_dif = top_dif[top_dif.trade > 0]
                # if cct.get_now_time_int() > 932:

                # top_dif = top_dif[top_dif.low > 0]
                            top_all["counts"] = 0
                            top_all["prev_p"] = 0
                    for symbol in top_now.index:
                        if "counts" in top_now.columns.values:
                            top_all.loc[symbol, "buy":"prev_p"] = top_now.loc[symbol, "buy":"prev_p"]
                        else:
                            # top_now.loc[symbol, 'diff'] = round(
                            # ((float(top_now.loc[symbol, 'buy']) - float(
                            # top_all.loc[symbol, 'lastp'])) / float(top_all.loc[symbol, 'lastp']) * 100),
                            # 1)
                            top_all.loc[symbol, "buy":"low"] = top_now.loc[symbol, "buy":"low"]
                        # top_all.loc[symbol, 'buy'] = top_now.loc[symbol, 'buy']
                # top_all = top_all[top_all.buy > 0]

                top_dif = top_all
                if cct.get_now_time_int() < 935:
                    top_dif["diff"] = map(
                        lambda x, y: round((x - y) / y * 100, 1), top_dif["buy"].values, top_dif["lastp"].values
                    )
                    top_dif = top_dif[top_dif.buy > 0]
                else:
                    top_dif["diff"] = map(
                        lambda x, y: round((x - y) / y * 100, 1), top_dif["trade"].values, top_dif["lastp"].values
                    )
                    # print top_dif.loc['600610',:]
                    top_dif = top_dif[top_dif.low > 0]
                    top_dif = top_dif[top_dif.trade > 0]
                    # top_dif.loc['600610','volume':'lvol']

                top_dif = top_dif[top_dif.lvol > 100000]
                top_dif["volume"] = map(
예제 #12
0
                # top_all = top_all[top_all.open>=top_all.low*0.99]
                # top_all = top_all[top_all.buy >= top_all.open*0.99]
                # top_all = top_all[top_all.trade >= top_all.low*0.99]
                # top_all = top_all[top_all.trade >= top_all.high*0.99]
                # top_all = top_all[top_all.buy >= top_all.llastp]
                # top_all = top_all[top_all.percent >= 0]

                # if cct.get_now_time_int() <1500:

                top_dif = top_all.copy()
                top_dif['dff'] = (map(lambda x, y: round(
                    (x - y) / y * 100, 1), top_dif['buy'].values,
                                      top_dif['lastp'].values))

                log.info('dif1:%s' % len(top_dif))
                if not (cct.get_now_time_int() > 915
                        and cct.get_now_time_int() <= 925):
                    top_dif = top_dif[top_dif.lvol > ct.LvolumeSize]
                if cct.get_now_time_int() > 915 and cct.get_now_time_int(
                ) < ct.checkfilter_end_time:
                    top_dif = top_dif[top_dif.low > top_dif.llow *
                                      ct.changeRatio]
                    # top_dif = top_dif[top_dif.buy >= top_dif.lhigh * ct.changeRatio]
                log.debug('dif2:%s' % len(top_dif))

                # if cct.get_now_time_int() > 915 and cct.get_now_time_int() <= 926:
                # top_dif['percent']= (map(lambda x, y: round((x-y)/y*100,1) if int(y) > 0 else 0, top_dif.buy, top_dif.llastp))

                # if top_dif[:1].llow.values <> 0:
                if len(top_dif[:5][top_dif[:5]['buy'] > 0]) > 3:
                    log.debug('diff2-0-low>0')
예제 #13
0
                    # log.debug("TDX Col:%s" % tdxdata.columns.values)
                    # # df_now=top_all.merge(data,on='code',how='left')
                    # # df_now=pd.merge(top_all,data,left_index=True,right_index=True,how='left')
                    # top_all = top_all.merge(tdxdata, left_index=True, right_index=True, how='left')
                    # log.info('Top-merge_now:%s' % (top_all[:1]))
                    # top_all = top_all[top_all['llow'] > 0]
                    # log.info("df:%s" % top_all[:1])
                    radio_t = cct.get_work_time_ratio()
                    log.debug("Second:vol/vol/:%s" % radio_t)
                    # top_dif['volume'] = top_dif['volume'].apply(lambda x: round(x / radio_t, 1))
                    log.debug("top_diff:vol")
                    top_all['volume'] = (map(
                        lambda x, y: round(x / y / radio_t, 1),
                        top_all['volume'].values, top_all['lvol'].values))

                    if cct.get_now_time_int() > 915:
                        top_all = top_all[top_all.low > top_all.llow *
                                          ct.changeRatio]
                        # top_all = top_all[top_all.trade > top_all.lhigh * ct.changeRatio]

                    # if cct.get_now_time_int() > 915 and cct.get_now_time_int() <= 926:
                    #     top_all['percent'] = (map(lambda x, y: round(
                    #         (x - y) / y * 100, 1) if int(y) > 0 else 0, top_all.trade, top_all.llastp))

                    # top_all = top_all[top_all.prev_p >= top_all.lhigh]
                    # top_all = top_all.loc[:,
                    # ['name', 'percent', 'ma5d','dff', 'couts', 'volume', 'trade', 'prev_p', 'ratio']]
                    if cct.get_now_time_int() > 1030 and cct.get_now_time_int(
                    ) < 1400:
                        top_all = top_all[(top_all.volume > ct.VolumeMinR)
                                          & (top_all.volume < ct.VolumeMaxR)]
예제 #14
0
                    # for symbol in top_now.index:
                    #     if 'couts' in top_now.columns.values:
                    #         top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    #     else:
                    #         # top_now.loc[symbol, 'dff'] = round(
                    #         # ((float(top_now.loc[symbol, 'buy']) - float(
                    #         # top_all.loc[symbol, 'lastp'])) / float(top_all.loc[symbol, 'lastp']) * 100),
                    #         # 1)
                    #         top_all.loc[symbol, ct.columns_now] = top_now.loc[symbol, ct.columns_now]
                    top_all = cct.combine_dataFrame(top_all, top_now, col=None)

                top_dif = top_all.copy()
                if 'trade' in top_dif.columns:
                    top_dif['buy'] = (
                        map(lambda x, y: y if int(x) == 0 else x, top_dif['buy'].values, top_dif['trade'].values))
                if ct.checkfilter and cct.get_now_time_int() > 915 and cct.get_now_time_int() < ct.checkfilter_end_timeDu:
                    top_dif = top_dif[top_dif.low > top_dif.llow * ct.changeRatio]
                    # top_dif = top_dif[top_dif.buy >= top_dif.lhigh * ct.changeRatio]

                # if cct.get_now_time_int() > 915 and cct.get_now_time_int() <= 926:
                    # top_dif['percent']= (map(lambda x, y: round((x-y)/y*100,1) if int(y) > 0 else 0, top_dif.buy, top_dif.llastp))

                if cct.get_now_time_int() > 915:
                    top_dif = top_dif[top_dif.buy > 0]

                top_dif['dff'] = (
                    map(lambda x, y: round((x - y) / y * 100, 1), top_dif['buy'].values, top_dif['lastp'].values))
                # print top_dif.loc['600610',:]
                # top_dif = top_dif[top_dif.trade > 0]
                # if cct.get_now_time_int() > 932:
예제 #15
0
from JSONData import tdx_data_Day as tdd
from JSONData import sina_data
from JohhnsonUtil import LoggerFactory as LoggerFactory
from JohhnsonUtil 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)