ENH: Pass calendar instance to BcolzMinuteBarWriter (#1406)

* First pass.

* Improvements and fixes

- Update usages of BcolzMinuteBarWriter
- Updates with rebuilt example data
- Expose calendar from BcolzMinuteBarMetadata instead of calendar_name
- Keep market_opens and market_closes in metadata for compatibility

* Store start_session and end_session in minute bcolz metadata

- start_session replaces first_trading_day
- Add end_session to limit to correct days

* For last_available_dt, get last close from calendar to maintain tz

* Bumps version and handles earlier versionson read

* Rebuilt example data on python 3

* Indicate metadata fields that are deprecated
This commit is contained in:
Andrew Daniels
2016-08-18 15:41:26 -04:00
committed by GitHub
parent ab1b485393
commit 37e6a48e99
7 changed files with 146 additions and 117 deletions
+3 -6
View File
@@ -507,14 +507,11 @@ def create_data_portal(asset_finder, tempdir, sim_params, sids,
def write_bcolz_minute_data(trading_calendar, days, path, data):
market_opens = trading_calendar.schedule.loc[days].market_open
market_closes = trading_calendar.schedule.loc[days].market_close
BcolzMinuteBarWriter(
days[0],
path,
market_opens,
market_closes,
trading_calendar,
days[0],
days[-1],
US_EQUITIES_MINUTES_PER_DAY
).write(data)
+6 -6
View File
@@ -995,10 +995,10 @@ class WithBcolzEquityMinuteBarReader(WithEquityMinuteBarData, WithTmpDir):
days = cls.equity_minute_bar_days
writer = BcolzMinuteBarWriter(
days[0],
p,
cls.trading_calendar.schedule.market_open.loc[days],
cls.trading_calendar.schedule.market_close.loc[days],
cls.trading_calendar,
days[0],
days[-1],
US_EQUITIES_MINUTES_PER_DAY
)
writer.write(cls.make_equity_minute_bar_data())
@@ -1055,10 +1055,10 @@ class WithBcolzFutureMinuteBarReader(WithFutureMinuteBarData, WithTmpDir):
days = cls.future_minute_bar_days
writer = BcolzMinuteBarWriter(
days[0],
p,
trading_calendar.schedule.market_open.loc[days],
trading_calendar.schedule.market_close.loc[days],
trading_calendar,
days[0],
days[-1],
FUTURES_MINUTES_PER_DAY,
)
writer.write(cls.make_future_minute_bar_data())