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

如何通过Python xbbg库正确调用彭博BDH函数获取指定时段数据

Python调用xbbg拉取彭博BDH日内数据正确方案

问题根因

原有代码无法返回正确结果,核心是两个参数使用错误:

  • xbbg的bdh接口不识别Excel公式里的大驼峰格式参数名,所有扩展参数需要转为蛇形命名(全小写+下划线分隔)才能被正确解析
  • start_date、end_date参数仅接收YYYY-MM-DD格式的日期值,带时分秒的日内交易时段需要通过单独的时间参数传入,直接拼接在日期参数里会被接口忽略

可直接运行的正确代码

from xbbg import blp

# 标的代码,可根据需求替换,和示例Excel公式保持一致可填"5 hk equity"
stock_ticker = "9988 hk equity"

df_high = blp.bdh(
    tickers=stock_ticker,
    flds=["High"],
    start_date="2022-07-05",
    end_date="2022-07-05",
    # 以下为BDH扩展参数,全部使用蛇形命名
    direction="V",
    bar_type="Trade",
    bar_size=390,
    time_zone="Hong_Kong",
    dates="H",
    # 单独传入日内时段范围
    start_time="09:30:00",
    end_time="16:00:00"
)

print(df_high)

关键注意事项

  • 参数命名规则:所有Excel BDH公式里的扩展参数,在xbbg中都需要转为蛇形格式,例如BarType对应bar_type、TimeZone对应time_zone,直接传原大写驼峰参数会被接口静默忽略
  • 参数类型要求:bar_size这类数值型参数直接传整数即可,不需要转为字符串,避免触发解析异常
  • 时间参数拆分:拉取日内分段bar数据时,日期和时间必须分开传,start_date/end_date控制查询的交易日范围,start_time/end_time控制每个交易日内的截取时段,两个维度的参数不要混写
  • 上述写法返回的结果和提供的Excel BDH公式输出完全一致,为指定交易日09:30-16:00时段的Trade类390分钟bar最高价数据

内容的提问来源于stack exchange,提问作者Tim Choi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:39:16