def test_write_ohlcv_content(self): result = self.bcolz_daily_bar_ctable for column in OHLCV: idx = 0 data = result[column][:] multiplier = 1 if column == "volume" else 1000 for asset_id in self.assets: for date in self.dates_for_asset(asset_id): assert (data[idx] == expected_bar_value_with_holes( asset_id=asset_id, date=date, colname=column, holes=self.holes, missing_value=0, ) * multiplier) idx += 1 assert idx == len(data)
def test_write_ohlcv_content(self): result = self.bcolz_daily_bar_ctable for column in OHLCV: idx = 0 data = result[column][:] multiplier = 1 if column == 'volume' else 1000 for asset_id in self.assets: for date in self.dates_for_asset(asset_id): self.assertEqual( data[idx], expected_bar_value_with_holes( asset_id=asset_id, date=date, colname=column, holes=HOLES, missing_value=0, ) * multiplier, ) idx += 1 self.assertEqual(idx, len(data))
def test_write_ohlcv_content(self): result = self.bcolz_daily_bar_ctable for column in OHLCV: idx = 0 data = result[column][:] multiplier = 1 if column == 'volume' else 1000 for asset_id in self.assets: for date in self.dates_for_asset(asset_id): self.assertEqual( data[idx], expected_bar_value_with_holes( asset_id=asset_id, date=date, colname=column, holes=self.holes, missing_value=0, ) * multiplier, ) idx += 1 self.assertEqual(idx, len(data))
def test_unadjusted_get_value(self): """Test get_value() on both a price field (CLOSE) and VOLUME.""" reader = self.daily_bar_reader def make_failure_msg(asset, date, field): return "Unexpected value for sid={}; date={}; field={}.".format( asset, date.date(), field) for asset in self.assets: # Dates to check. asset_start = self.asset_start(asset) asset_dates = self.dates_for_asset(asset) asset_middle = asset_dates[len(asset_dates) // 2] asset_end = self.asset_end(asset) # At beginning assert_equal( reader.get_value(asset, asset_start, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_start, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_start, CLOSE), ) # Middle assert_equal( reader.get_value(asset, asset_middle, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_middle, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_middle, CLOSE), ) # End assert_equal( reader.get_value(asset, asset_end, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_end, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_end, CLOSE), ) # Ensure that volume does not have float adjustment applied. assert_equal( reader.get_value(asset, asset_start, VOLUME), expected_bar_value_with_holes( asset_id=asset, date=asset_start, colname=VOLUME, holes=self.holes, missing_value=0, ), msg=make_failure_msg(asset, asset_start, VOLUME), )
def test_unadjusted_get_value(self): """Test get_value() on both a price field (CLOSE) and VOLUME.""" reader = self.daily_bar_reader def make_failure_msg(asset, date, field): return "Unexpected value for sid={}; date={}; field={}.".format( asset, date.date(), field ) for asset in self.assets: # Dates to check. asset_start = self.asset_start(asset) asset_dates = self.dates_for_asset(asset) asset_middle = asset_dates[len(asset_dates) // 2] asset_end = self.asset_end(asset) # At beginning assert_equal( reader.get_value(asset, asset_start, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_start, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_start, CLOSE), ) # Middle assert_equal( reader.get_value(asset, asset_middle, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_middle, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_middle, CLOSE), ) # End assert_equal( reader.get_value(asset, asset_end, CLOSE), expected_bar_value_with_holes( asset_id=asset, date=asset_end, colname=CLOSE, holes=self.holes, missing_value=nan, ), msg=make_failure_msg(asset, asset_end, CLOSE), ) # Ensure that volume does not have float adjustment applied. assert_equal( reader.get_value(asset, asset_start, VOLUME), expected_bar_value_with_holes( asset_id=asset, date=asset_start, colname=VOLUME, holes=self.holes, missing_value=0, ), msg=make_failure_msg(asset, asset_start, VOLUME), )