diff options
| -rw-r--r-- | python/bbg_helpers.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/python/bbg_helpers.py b/python/bbg_helpers.py index 6c524aae..45c2eba3 100644 --- a/python/bbg_helpers.py +++ b/python/bbg_helpers.py @@ -1,7 +1,7 @@ import blpapi -import sys import pandas as pd from contextlib import contextmanager +from pytz import timezone import logging import datetime @@ -62,7 +62,7 @@ def get_pythonvalue(e): if isinstance(t, datetime.time): return t else: - return pd.to_datetime(t) + return pd.to_datetime(t, utc=True) elif e.datatype() == blpapi.DataType.ENUMERATION: return e.getValueAsString() else: @@ -157,8 +157,12 @@ def retrieve_data(session, securities, fields=[], overrides={}, if start_date: if request.asElement().name() == blpapi.Name("IntradayTickRequest"): + start_date = timezone('America/New_York').localize(start_date) + start_date = start_date.astimezone(timezone('GMT')) request.set("startDateTime", start_date) if end_date: + end_date = timezone('America/New_York').localize(end_date) + end_date = end_date.astimezone(timezone('GMT')) request.set("endDateTime", end_date) else: request.set("startDate", "{:%Y%m%d}".format(start_date)) @@ -179,7 +183,7 @@ def retrieve_data(session, securities, fields=[], overrides={}, if request.asElement().name() == blpapi.Name("IntradayTickRequest"): df = pd.DataFrame(data) if 'time' in df: - df.time = df.time.dt.tz_localize('UTC').dt.tz_convert('America/New_York') + df.time = df.time.dt.tz_convert('America/New_York') return df else: return data @@ -196,7 +200,7 @@ if __name__=="__main__": overrides={'SETTLE_DT': testdate} ref_data = retrieve_data(session, securities, fields, overrides=overrides) struct_data = retrieve_data(session, securities, ["HIST_CASH_FLOW"]) - spx_ndx_monthly = retrieve_data(session, ["SPX Index","NDX Index"], + spx_ndx_monthly = retrieve_data(session, ["SPX Index", "NDX Index"], fields=["PX_LAST"], start_date=datetime.date(2012, 1, 1), options={'periodicityAdjustment': 'ACTUAL'}, |
