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)
Exemple #2
0
 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))
Exemple #4
0
    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),
            )