def test_last_available_dt(self): calendar = self.trading_calendar session_bar_reader = MinuteResampleSessionBarReader( calendar, self.bcolz_future_minute_bar_reader ) self.assertEqual(self.END_DATE, session_bar_reader.last_available_dt)
def test_sessions(self): calendar = self.trading_calendar session_bar_reader = MinuteResampleSessionBarReader( calendar, self.bcolz_future_minute_bar_reader) sessions = session_bar_reader.sessions self.assertEqual(self.NUM_SESSIONS, len(sessions)) self.assertEqual(self.START_DATE, sessions[0]) self.assertEqual(self.END_DATE, sessions[-1])
def test_resample(self): calendar = self.trading_calendar session_bar_reader = MinuteResampleSessionBarReader( calendar, self.bcolz_future_minute_bar_reader) for sid in self.ASSET_FINDER_FUTURE_SIDS: case_frame = FUTURE_CASES[sid] first = case_frame.index[0] last = case_frame.index[-1] result = session_bar_reader.load_raw_arrays( ['open', 'high', 'low', 'close', 'volume'], first, last, [sid]) assert_almost_equal(result, EXPECTED_SESSIONS[sid], err_msg="sid={0}".format(sid))
def test_get_value(self): calendar = self.trading_calendar session_bar_reader = MinuteResampleSessionBarReader( calendar, self.bcolz_future_minute_bar_reader) for sid in self.ASSET_FINDER_FUTURE_SIDS: expected = EXPECTED_SESSIONS[sid] for dt_str, values in expected.iterrows(): dt = pd.Timestamp(dt_str, tz='UTC') for col in OHLCV: result = session_bar_reader.get_value(sid, dt, col) assert_almost_equal( values[col], result, err_msg="sid={0} col={1} dt={2}".format(sid, col, dt))
def test_resample(self): calendar = self.trading_calendar session_bar_reader = MinuteResampleSessionBarReader( calendar, self.bcolz_future_minute_bar_reader) for sid in self.ASSET_FINDER_FUTURE_SIDS: case_frame = FUTURE_CASES[sid] first = calendar.minute_to_session_label(case_frame.index[0]) last = calendar.minute_to_session_label(case_frame.index[-1]) result = session_bar_reader.load_raw_arrays( OHLCV, first, last, [sid]) for i, field in enumerate(OHLCV): assert_almost_equal(result[i], EXPECTED_SESSIONS[sid][[field]], err_msg="sid={0} field={1}".format( sid, field))
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)
def init_instance_fixtures(self): super(TestResampleSessionBars, self).init_instance_fixtures() self.session_bar_reader = MinuteResampleSessionBarReader( self.trading_calendar, self.bcolz_future_minute_bar_reader)