aboutsummaryrefslogtreecommitdiffstats
path: root/python/bbg_helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/bbg_helpers.py')
-rw-r--r--python/bbg_helpers.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/python/bbg_helpers.py b/python/bbg_helpers.py
index 26facc6f..adc78b9e 100644
--- a/python/bbg_helpers.py
+++ b/python/bbg_helpers.py
@@ -77,6 +77,9 @@ def process_historical_msg(msg):
def process_reference_msg(msg):
data = {}
+ if msg.hasElement('responseError'):
+ logger.error(msg.getElement('responseError').toString())
+ return None
securityDataArray = msg.getElement("securityData")
for securityData in securityDataArray.values():
securityName = securityData.getElementValue("security")
@@ -100,8 +103,10 @@ def retrieve_data(session, securities, fields, overrides={},
Parameters
----------
session : blpapi session
- securities : iterable
+ securities : list or string
list of tickers (with type, e.g.: ['CADUSD Curncy', '38145BAA9 Mtge']
+ fields: list or string
+ list of fields
start_date : datetime.date
end_date : datetime.date
frequency : One of "DAILY", "MONTHLY", "QUARTERLY", "YEARLY"
@@ -112,10 +117,16 @@ def retrieve_data(session, securities, fields, overrides={},
request.set("periodicitySelection", frequency)
else:
request = refDataService.createRequest("ReferenceDataRequest")
- for security in securities:
- request.append("securities", security)
- for field in fields:
- request.append("fields", field)
+ if isinstance(securities, list):
+ for security in securities:
+ request.append("securities", security)
+ else:
+ request.append("securities", securities)
+ if isinstance(fields, list):
+ for field in fields:
+ request.append("fields", field)
+ else:
+ request.append("fields", fields)
if overrides:
append_overrides(request, overrides)
if start_date: