Example #1
0
 def _normalize(cls, value):
     value = value.strip()
     if value == "--":
         value = None
     elif "-" in value and not value.startswith("-"):
         value = int_date.to_int_date(value)
     elif len(value) > 0:
         if "," in value:
             value = value.replace(",", "")
         value = float(value)
     return value
Example #2
0
    def _parse(cls, body):
        if body.startswith(cls._PREFIX):
            body = body.replace(cls._PREFIX, "")
        if body.endswith(cls._SUFFIX):
            body = body.replace(cls._SUFFIX, "")

        stock_map = json.loads(body)

        stocks = DataFrame(columns=TRADE_DETAIL_COLUMNS)
        for name, stock in iteritems(stock_map):
            s_date, s_time = stock["time"].split(" ")
            data = [
                stock["name"],
                stock["open"],
                stock["yestclose"],
                stock["price"],
                stock["high"],
                stock["low"],
                stock["volume"],
                stock["turnover"],
                stock["bidvol1"],
                stock["bid1"],
                stock["bidvol2"],
                stock["bid2"],
                stock["bidvol3"],
                stock["bid3"],
                stock["bidvol4"],
                stock["bid4"],
                stock["bidvol5"],
                stock["bid5"],
                stock["askvol1"],
                stock["ask1"],
                stock["askvol2"],
                stock["ask2"],
                stock["askvol3"],
                stock["ask3"],
                stock["askvol4"],
                stock["ask4"],
                stock["askvol5"],
                stock["ask5"],
                int_date.to_int_date(s_date),
                s_time,
            ]
            index = "{}{}".format(stock["type"].lower(), stock["symbol"])
            stocks.ix[index] = data
        return stocks
Example #3
0
 def _parse(cls, body):
     stocks = body.split(';')
     ret = DataFrame(columns=TRADE_DETAIL_COLUMNS)
     for stock in stocks:
         stock = stock.strip()
         if len(stock) == 0:
             continue
         m = re.match('var hq_str_(.*)="(.*)"', stock)
         if m is None:
             raise ValueError(
                 "response text is not valid: {}".format(stock))
         index, data = m.group(1, 2)
         if len(data) == 0:
             log.info("data for stock %s is empty, skip.", index)
             continue
         data_array = data.split(',')[:32]
         result = [data_array[0]]
         result.extend(map(float, data_array[1:6]))
         result.extend(map(float, data_array[8:30]))
         result.extend(
             [int_date.to_int_date(data_array[30]), data_array[31]])
         ret.ix[index] = result
     return ret
Example #4
0
 def _parse(cls, body):
     stocks = body.split(';')
     ret = DataFrame(columns=TRADE_DETAIL_COLUMNS)
     for stock in stocks:
         stock = stock.strip()
         if len(stock) == 0:
             continue
         m = re.match('var hq_str_(.*)="(.*)"', stock)
         if m is None:
             raise ValueError("response text is not valid: {}"
                              .format(stock))
         index, data = m.group(1, 2)
         if len(data) == 0:
             log.info("data for stock %s is empty, skip.", index)
             continue
         data_array = data.split(',')[:32]
         result = [data_array[0]]
         result.extend(map(float, data_array[1:6]))
         result.extend(map(float, data_array[8:30]))
         result.extend([int_date.to_int_date(data_array[30]),
                        data_array[31]])
         ret.ix[index] = result
     return ret
Example #5
0
 def test_to_int_date_str_error(self):
     with self.assertRaises(ValueError):
         int_date.to_int_date('20151301')
Example #6
0
 def test_to_int_date_unicode(self):
     date = int_date.to_int_date(u'2015/11/23')
     assert_that(date, equal_to(20151123))
Example #7
0
 def test_to_int_date_str_2(self):
     date = int_date.to_int_date('2015/11/23')
     assert_that(date, equal_to(20151123))
Example #8
0
 def test_to_int_date_str_1(self):
     date = int_date.to_int_date('2015-1-3')
     assert_that(date, equal_to(20150103))
Example #9
0
 def test_to_int_date_none(self):
     date = int_date.to_int_date(None)
     assert_that(date, none())
Example #10
0
 def test_to_int_date_int_input(self):
     date = int_date.to_int_date(19831102)
     assert_that(date, equal_to(19831102))
Example #11
0
 def test_to_int_date(self):
     date = int_date.to_int_date(datetime.datetime(2015, 5, 21))
     assert_that(date, equal_to(20150521))