diff --git a/zipline/data/bar_reader.py b/zipline/data/bar_reader.py index a4da6f9a..24a2d05a 100644 --- a/zipline/data/bar_reader.py +++ b/zipline/data/bar_reader.py @@ -22,11 +22,11 @@ class NoDataOnDate(Exception): pass -class NoDataBeforeDate(Exception): +class NoDataBeforeDate(NoDataOnDate): pass -class NoDataAfterDate(Exception): +class NoDataAfterDate(NoDataOnDate): pass diff --git a/zipline/data/us_equity_pricing.py b/zipline/data/us_equity_pricing.py index 16771cc1..05f0dc00 100644 --- a/zipline/data/us_equity_pricing.py +++ b/zipline/data/us_equity_pricing.py @@ -634,8 +634,6 @@ class BcolzDailyBarReader(SessionBarReader): while True: try: ix = self.sid_day_index(asset, search_day) - except NoDataOnDate: - return None except NoDataBeforeDate: return None except NoDataAfterDate: @@ -643,6 +641,8 @@ class BcolzDailyBarReader(SessionBarReader): if prev_day_ix > -1: search_day = self.sessions[prev_day_ix] continue + except NoDataOnDate: + return None if volumes[ix] != 0: return search_day prev_day_ix = self.sessions.get_loc(search_day) - 1 @@ -965,7 +965,7 @@ class SQLiteAdjustmentWriter(object): dtype=[ ('sid', uint32), ('effective_date', uint32), - ('ratio', float64), + ('ratio', float64), ], )) ex_dates = dividends.ex_date.values