TIA Bloomberg请求处理无效的代码

问题描述 投票:1回答:1

我有以下内容:

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 

理想情况下,我希望完全跳过无效的代码,并且输出与它原来不存在时的输出相同,即与上面相同。

python pandas bloomberg
1个回答
1
投票

找到答案:ignore_security_error = 1

df = tickers.get_historical('PX_LAST', start = '31/1/2019', end = 
        '31/1/2019', currency='EUR', ignore_security_error=1) 

忽略任何坏的代码。

© www.soinside.com 2019 - 2024. All rights reserved.