求助:使用blp Bloomberg API wrapper无法获取流式日内Bar数据
问题描述
我想用以下代码获取ES1 Index的OHLC Bars数据,预期返回当前交易时段的数据(未指定起止时间),但程序始终超时,无法接收任何事件:
from blp import blp with blp.BlpStream(setDefaultSubscriptionService="//blp/mktbar") as bs: bs.subscribe({"/ticker/ES1 Index": {"fields": "LAST_PRICE","options": "interval=1"}, }) n = 0 for ev in bs.events(timeout=120): print(ev['correlationIds'],[ev['element']["MarketDataEvents"][fld] for fld in ["PRICE_LAST_TIME_RT","LAST_PRICE"]]) # or just print(ev) n += 1 if n > 3: break
已尝试过以下调整,但均无效:
- 将
interval替换为bar_size - 测试不同代码组合,包括指定/不指定时间
- 尝试使用
//blp/refdata替代//blp/mktbar作为订阅服务
解决方案建议
1. 明确服务类型的调用逻辑
//blp/mktbar是实时K线推送服务,//blp/refdata是参考数据查询服务,两者调用方式完全不同:
- 用
//blp/refdata时,不能用BlpStream做订阅,必须用BlpQuery发起一次性查询,指定时间范围和K线参数。 - 用
//blp/mktbar做实时订阅时,需确保标的处于交易时段,且参数格式正确。
2. 修正实时K线订阅的参数与解析逻辑
对于//blp/mktbar服务,正确参数需用bar_size而非interval,同时要匹配K线专属的事件结构,调整后代码如下:
from blp import blp with blp.BlpStream(setDefaultSubscriptionService="//blp/mktbar") as bs: # 订阅ES1 Index的1分钟K线,指定OHLC核心字段 bs.subscribe({ "/ticker/ES1 Index": { "fields": ["OPEN", "HIGH", "LOW", "LAST_PRICE", "BAR_TIMESTAMP"], "options": "bar_size=1" } }) n = 0 for ev in bs.events(timeout=120): # mktbar的事件结构为MarketBarEvents,而非MarketDataEvents if 'MarketBarEvents' in ev['element']: bar_data = ev['element']['MarketBarEvents'] print(f"时间: {bar_data['BAR_TIMESTAMP']}, OHLC: {bar_data['OPEN']}, {bar_data['HIGH']}, {bar_data['LOW']}, {bar_data['LAST_PRICE']}") n += 1 if n > 3: break
3. 用参考数据查询当前时段K线
如果需要获取当前交易时段的历史K线(而非实时推送),改用//blp/refdata的bdh接口:
from blp import blp with blp.BlpQuery() as bq: # 查询当前交易日的1分钟K线,替换起止时间为对应交易时段 res = bq.bdh( securities=["ES1 Index"], fields=["OPEN", "HIGH", "LOW", "LAST_PRICE"], start_date="2024-05-20T09:30:00", end_date="2024-05-20T16:00:00", options={"periodicityAdjustment": "ACTUAL", "periodicitySelection": "MINUTE", "interval": 1} ) print(res)
4. 基础排查步骤
- 确认Bloomberg终端已登录,Python客户端可正常连通API(可先用
bdp查询单个字段测试,比如bq.bdp("ES1 Index", "LAST_PRICE"))。 - 检查ES1 Index的交易时段,非交易时段不会推送实时K线,此时用参考数据查询更合适。
内容的提问来源于stack exchange,提问作者avx
相关产品推荐
相关产品推荐

