예제 #1
0
    def format_realtime_quotes(self, realtime_quotes_data):
        result = dict()
        stocks_detail = ''.join(realtime_quotes_data)
        grep_result = self.realtime_quotes_format_zs.finditer(stocks_detail)
        for stock_match_object in grep_result:
            groups = stock_match_object.groups()
            price_A1 = eval(groups[0])
            price_A2 = eval(groups[1])
            perform = eval('[\'\'%s]' % (',\'0\'' * 26))
            g = eval(groups[2])
        grep_result = self.realtime_quotes_format.finditer(stocks_detail)
        for stock_match_object in grep_result:
            groups = stock_match_object.groups()
            price_A1 = eval(groups[0])
            price_A2 = eval(groups[1])
            perform = eval(groups[2])
            g = eval(groups[3])

        q = Quote()
        if 'zs' == price_A1[0][:2]:
            q.symbol = zs_symbol_of(price_A1[0][-6:])
        if 'cn' == price_A1[0][:2]:
            q.symbol = symbol_of(price_A1[0][-6:])
        q.code = code_from_symbol(q.symbol)
        q.name = price_A1[1].decode('utf-8')
        q.now = to_float(price_A1[2])
        q.open = to_float(price_A2[3])
        q.close = to_float(price_A2[1])
        q.high = to_float(price_A2[5])
        q.low = to_float(price_A2[7])
        q.buy = to_float(perform[12])
        q.sell = to_float(perform[10])
        q.volume = to_int(price_A2[8]) * 100
        q.turnover = to_float(price_A2[12]) * 10000
        q.bid1_volume = to_int(perform[13]) * 100
        q.bid1 = to_float(perform[12])
        q.bid2_volume = to_int(perform[15]) * 100
        q.bid2 = to_float(perform[14])
        q.bid3_volume = to_int(perform[17]) * 100
        q.bid3 = to_float(perform[16])
        q.bid4_volume = to_int(perform[19]) * 100
        q.bid4 = to_float(perform[18])
        q.bid5_volume = to_int(perform[21]) * 100
        q.bid5 = to_float(perform[20])
        q.ask1_volume = to_int(perform[11]) * 100
        q.ask1 = to_float(perform[10])
        q.ask2_volume = to_int(perform[9]) * 100
        q.ask2 = to_float(perform[8])
        q.ask3_volume = to_int(perform[7]) * 100
        q.ask3 = to_float(perform[6])
        q.ask4_volume = to_int(perform[5]) * 100
        q.ask4 = to_float(perform[4])
        q.ask5_volume = to_int(perform[3]) * 100
        q.ask5 = to_float(perform[2])
        t = '%s-%s-%s %s:%s:%s' % (g[0], g[1], g[2], g[3], g[4], g[5])
        q.time = date_time.str_to_time(t)

        result[q.code] = q

        return result
예제 #2
0
    def format_realtime_quotes(self, realtime_quotes_data):
        result = dict()
        stocks_detail = ''.join(realtime_quotes_data)
        #stock_detail_list = stocks_detail.split(';')
        grep_result = self.realtime_quotes_format.finditer(stocks_detail)
        for stock_match_object in grep_result:
            #i = 0
            #for x in stock_match_object.groups():
            #    print i
            #    print x.encode('utf-8')
            #    i += 1
            stock = stock_match_object.groups()
            q = Quote()
            q.symbol = stock[0]
            q.code = code_from_symbol(q.symbol)
            q.name = stock[2]
            q.open = float(stock[6])
            q.close = float(stock[5])
            q.now = float(stock[4])
            q.high = float(stock[34])
            q.low = float(stock[35])
            q.buy = float(stock[10])
            q.sell = float(stock[20])
            q.turnover = float(stock[38]) * 10000
            q.volume = int(stock[37]) * 100
            q.bid1_volume = int(stock[11]) * 100
            q.bid1 = float(stock[10])
            q.bid2_volume = int(stock[13]) * 100
            q.bid2 = float(stock[12])
            q.bid3_volume = int(stock[15]) * 100
            q.bid3 = float(stock[14])
            q.bid4_volume = int(stock[17]) * 100
            q.bid4 = float(stock[16])
            q.bid5_volume = int(stock[19]) * 100
            q.bid5 = float(stock[18])
            q.ask1_volume = int(stock[21]) * 100
            q.ask1 = float(stock[20])
            q.ask2_volume = int(stock[23]) * 100
            q.ask2 = float(stock[22])
            q.ask3_volume = int(stock[25]) * 100
            q.ask3 = float(stock[24])
            q.ask4_volume = int(stock[27]) * 100
            q.ask4 = float(stock[26])
            q.ask5_volume = int(stock[29]) * 100
            q.ask5 = float(stock[28])
            #q.date = date_time.str_to_date(stock[31])
            q.time = datetime.datetime.strptime(stock[31], '%Y%m%d%H%M%S')

            result[q.code] = q

        return result
예제 #3
0
    def format_xq(self, information):
        super(Entrust, self).format_yh(information)
        if self.status == Status.STATUS_ERR:
            return False

        self.entrust_no = information['entrust_no']
        self.entrust_status = information['entrust_status']
        self.stock_name = information['stock_name']
        self.stock_code = symbol.code_from_symbol(information['stock_code'])
        self.entrust_price = information['entrust_price']
        self.entrust_amount = information['entrust_amount']
        self.business_amount = information['business_amount']
        self.time = date_time.str_to_date(information['report_time'], '%Y-%m-%d %H:%M:%S')

        return True
예제 #4
0
파일: info.py 프로젝트: zhangyouqian/sonata
    def format_xq(self, information):
        super(Position, self).format_yh(information)
        if self.status == 'error':
            return 'error'

        self.stock_name = information['stock_name']
        self.stock_code = symbol.code_from_symbol(information['stock_code'])
        self.current_amount = information['current_amount']
        self.enable_amount = information['enable_amount']
        self.keep_cost_price = information['keep_cost_price']
        self.last_price = information['last_price']
        self.income_balance = information['income_balance']
        self.income_balance_ratio = information['income_balance']  #TODO
        self.market_value = information['market_value']

        return True
예제 #5
0
    def format_realtime_quotes(self, realtime_quotes_data):
        result = dict()
        stocks_detail = ''.join(realtime_quotes_data)
        grep_result = self.realtime_quotes_format.finditer(stocks_detail)
        for stock_match_object in grep_result:
            stock = stock_match_object.groups()
            q = Quote()
            q.symbol = stock[0]
            q.code = code_from_symbol(stock[0])
            q.name = stock[1]
            q.open = float(stock[2])
            q.close = float(stock[3])
            q.now = float(stock[4])
            q.high = float(stock[5])
            q.low = float(stock[6])
            q.buy = float(stock[7])
            q.sell = float(stock[8])
            q.volume = int(stock[9])
            q.turnover = float(stock[10])
            q.bid1_volume = int(stock[11])
            q.bid1 = float(stock[12])
            q.bid2_volume = int(stock[13])
            q.bid2 = float(stock[14])
            q.bid3_volume = int(stock[15])
            q.bid3 = float(stock[16])
            q.bid4_volume = int(stock[17])
            q.bid4 = float(stock[18])
            q.bid5_volume = int(stock[19])
            q.bid5 = float(stock[20])
            q.ask1_volume = int(stock[21])
            q.ask1 = float(stock[22])
            q.ask2_volume = int(stock[23])
            q.ask2 = float(stock[24])
            q.ask3_volume = int(stock[25])
            q.ask3 = float(stock[26])
            q.ask4_volume = int(stock[27])
            q.ask4 = float(stock[28])
            q.ask5_volume = int(stock[29])
            q.ask5 = float(stock[30])
            #q.date = date_time.str_to_date(stock[31])
            q.time = date_time.str_to_time(stock[31] + ' ' + stock[32])

            result[q.code] = q

        return result