diff options
| -rw-r--r-- | python/bbg_helpers.py | 21 |
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: |
