You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python的XBBG或BLPAPI中使用彭博BQL Excel公式

问题解答

可以直接在Python的blpapi或xbbg接口中调用BQL完成批量数据查询,不需要循环调用BDP/BDS,也无需依赖BQNT环境,该方案本身就是彭博官方推荐的批量取数方式,可大幅降低每日数据配额消耗。

原生blpapi调用方式

  • 首先安装彭博官方提供的BQL依赖包,完成后直接导入bql模块初始化服务
    import bql
    # 初始化BQL服务
    bq_svc = bql.Service()
    
  • 编写BQL查询语句直接批量拉取数据,示例:拉取标普500成分股的市盈率、总市值、最新价
    bql_query = """
    GET(PE_RATIO, CUR_MKT_CAP, PX_LAST)
    FOR MEMBERS('SPX Index')
    """
    # 执行查询
    resp = bq_svc.execute(bql_query)
    # 转换为pandas DataFrame格式
    spx_data = resp[0].df()
    

xbbg封装接口调用方式

xbbg已经对BQL查询做了高层封装,调用更简便:

from xbbg import blp

# 直接传入BQL语句即可返回结构化数据
spx_data = blp.bql("""
GET(PE_RATIO, CUR_MKT_CAP, PX_LAST)
FOR MEMBERS('SPX Index')
""")

优化建议

  • 多指数批量查询可直接在BQL的MEMBERS参数中传入指数列表,一次请求即可拉取所有指数的成分股数据,示例:
    GET(PE_RATIO, CUR_MKT_CAP, PX_LAST)
    FOR MEMBERS(('SPX Index', 'NDX Index', 'HSI Index'))
    
  • BQL原生支持数据过滤、指标计算逻辑,可直接写在查询语句中完成数据预处理,无需额外请求或本地二次处理。

内容的提问来源于stack exchange,提问作者Jørgen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 14:42:03