我有以下内容:
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
理想情况下,我希望完全跳过无效的代码,并且输出与它原来不存在时的输出相同,即与上面相同。
找到答案:ignore_security_error = 1
df = tickers.get_historical('PX_LAST', start = '31/1/2019', end =
'31/1/2019', currency='EUR', ignore_security_error=1)
忽略任何坏的代码。