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.")
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, )
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)
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)