使用BBG获取ZSIU3 INDEX期货价格遇报错,求解决方案
解决BBG获取ZSIU3 INDEX期货价格的报错问题
问题说明
调用xbbg的blp.bdib接口获取ZSIU3 INDEX期货价格时,即便指定了ref='EUX-Eurex'参数,仍出现报错:
Cannot find exchange info for ZSIU3 INDEX
执行代码如下:
from xbbg import blp from datetime import datetime, timedelta blp.bdib('ZSIU3 INDEX', '2023-07-05 00:00:00', ref='EUX-Eurex')
可行解决方案
以下是几种更可靠的获取方式:
1. 调整标的代码格式
BBG对部分期货合约的代码格式有严格要求,尝试改用带交易所后缀的完整标识:
# 格式1:合约代码+Index+交易所代码 blp.bdib('ZSIU3 Index EUX', '2023-07-05 00:00:00') # 格式2:使用@符号关联交易所 blp.bdib('ZSIU3 @EUX Index', '2023-07-05 00:00:00')
2. 先验证标的有效性
调用blp.ref接口查询标的的基础信息,确认交易所标识是否匹配:
info = blp.ref('ZSIU3 INDEX', fields=['ID_EXCH_SYMBOL', 'EXCH_CODE']) print(info)
根据返回的EXCH_CODE值,替换bdib的ref参数,确保与BBG系统内的标识完全一致。
3. 改用bdh接口(非日内场景)
如果不需要日内tick级数据,仅需日频或时段数据,blp.bdh接口对标的格式兼容性更好:
# 获取指定日期的收盘价数据 data = blp.bdh('ZSIU3 INDEX', 'PX_LAST', '2023-07-05', '2023-07-05', ref='EUX-Eurex') print(data)
4. 检查xbbg配置文件
确认本地xbbg.cfg配置文件中是否正确配置了Eurex交易所信息,若缺失可手动添加:
[exchanges] EUX = Eurex
内容的提问来源于stack exchange,提问作者ridz
相关产品推荐
相关产品推荐

