MAINT: Add BarReader base class for both minute and session readers

This commit is contained in:
Jean Bredeche
2016-09-14 13:47:12 -04:00
parent 1f859d34e5
commit 2856fd0ecf
6 changed files with 186 additions and 205 deletions
+25
View File
@@ -518,6 +518,19 @@ class TestResampleSessionBars(WithBcolzFutureMinuteBarReader,
END_DATE = pd.Timestamp('2016-03-17', tz='UTC')
NUM_SESSIONS = 2
@classmethod
def make_futures_info(cls):
future_dict = {}
for future_sid in cls.ASSET_FINDER_FUTURE_SIDS:
future_dict[future_sid] = {
'multiplier': 1000,
'exchange': 'CME',
'root_symbol': "ABC"
}
return pd.DataFrame.from_dict(future_dict, orient='index')
@classmethod
def make_future_minute_bar_data(cls):
for sid in cls.ASSET_FINDER_FUTURE_SIDS:
@@ -582,6 +595,18 @@ class TestResampleSessionBars(WithBcolzFutureMinuteBarReader,
self.assertEqual(self.START_DATE,
self.session_bar_reader.first_trading_day)
def test_get_last_traded_dt(self):
future = self.asset_finder.retrieve_asset(
self.ASSET_FINDER_FUTURE_SIDS[0]
)
self.assertEqual(
self.trading_calendar.open_and_close_for_session(
self.trading_calendar.previous_session_label(self.END_DATE)
)[1],
self.session_bar_reader.get_last_traded_dt(future, self.END_DATE)
)
class TestReindexMinuteBars(WithBcolzEquityMinuteBarReader,
ZiplineTestCase):