У меня есть следующее:
import blpapi
import pandas as pd
from tia.bbg import LocalTerminal
import tia.bbg.datamgr as dm
mgr = dm.BbgDataManager()
tickers = mgr['GLEN LN EQUITY', 'AAPL US EQUITY',"a"]
df = tickers.get_historical('PX_LAST', start = '31/1/2019', end =
'31/1/2019', currency='EUR')
Поскольку «a», очевидно, не является допустимым тикером, я получаю следующую ошибку:
raise Exception('SecurityError: %s' % ','.join(msgs))
Exception: SecurityError: (a, BAD_SEC, Null/Blank Security String [nid:191]
Каков наилучший способ обработки потенциальнонедействительные тикеры?
Я пытался:
try:
df = tickers.get_historical('PX_LAST', start = '31/1/2019', end =
'31/1/2019', currency='EUR')
except Exception:
print("Could not validate ticker:")
Но это полностью останавливает запрос и не предоставляет никаких допустимых возвратов, на самом деле он говорит, что «df» не определен.
Вывод, если «a» не было в тикерах, был бы:
GLEN LN EQUITY AAPL US EQUITY
date
2019-01-31 3.54638 145.36245
В идеале я бы хотел, чтобы недействительные тикеры были полностью пропущены и вывод был бы таким же, как если бы он былизначально там не было, т. е. так же, как указано выше.