コード例 #1
0
    def test_load_raw_arrays(self):
        reindex_reader = ReindexSessionBarReader(
            self.trading_calendar,
            self.bcolz_equity_daily_bar_reader,
            self.START_DATE,
            self.END_DATE,
        )

        outer_sessions = self.trading_calendar.sessions_in_range(
            self.START_DATE, self.END_DATE)

        result = reindex_reader.load_raw_arrays(OHLCV, self.START_DATE,
                                                self.END_DATE, [1, 2])

        opens = DataFrame(data=result[0], index=outer_sessions, columns=[1, 2])
        opens_with_price = opens.dropna()

        self.assertEqual(
            21, len(opens),
            "The reindexed result should have 21 days, which is the number of "
            "business days in 2015-11")
        self.assertEqual(
            20, len(opens_with_price),
            "The reindexed result after dropping nans should have 20 days, "
            "because Thanksgiving is a NYSE holiday.")

        # Thanksgiving, 2015-11-26.
        # Is a holiday in NYSE, but not in us_futures.
        tday_loc = outer_sessions.get_loc(pd.Timestamp('2015-11-26', tz='UTC'))

        assert_almost_equal(
            nan,
            opens[1][tday_loc],
            err_msg="2015-11-26 should be `nan`, since Thanksgiving is a "
            "holiday in the reader's calendar.")
コード例 #2
0
ファイル: test_resample.py プロジェクト: szhounyc/zipline
    def init_instance_fixtures(self):
        super(TestReindexSessionBars, self).init_instance_fixtures()

        self.reader = ReindexSessionBarReader(
            self.trading_calendar,
            self.bcolz_equity_daily_bar_reader,
            self.START_DATE,
            self.END_DATE,
        )
コード例 #3
0
ファイル: data_portal.py プロジェクト: zhuo2015/zipline
    def _ensure_reader_aligned(self, reader):
        if reader is None:
            return

        if reader.trading_calendar.name == self.trading_calendar.name:
            return reader
        elif reader.data_frequency == 'minute':
            return ReindexMinuteBarReader(self.trading_calendar, reader,
                                          self._first_trading_session,
                                          self._last_trading_session)
        elif reader.data_frequency == 'session':
            return ReindexSessionBarReader(self.trading_calendar, reader,
                                           self._first_trading_session,
                                           self._last_trading_session)
コード例 #4
0
    def init_class_fixtures(cls):
        super().init_class_fixtures()

        readers = {
            Equity:
            ReindexSessionBarReader(cls.trading_calendar,
                                    cls.bcolz_equity_daily_bar_reader,
                                    cls.START_DATE, cls.END_DATE),
            Future:
            MinuteResampleSessionBarReader(
                cls.trading_calendar,
                cls.bcolz_future_minute_bar_reader,
            )
        }
        cls.dispatch_reader = AssetDispatchSessionBarReader(
            cls.trading_calendar, cls.asset_finder, readers)