所以我一直在使用这个名为 xbbg 的包,它在语法上或多或少与 Excel API 相同,并且除了 blp.bdib 调用之外,一切都工作正常。每次我尝试运行它,包括文档中提供的示例(blp.intraday(ticker='7974 JT Equity', dt='2018-10-17', session='am_open_30').tail() )时,它返回一个空数据框。有人可以逐步指导我如何将这些 asset.yml 和 exch.yml 映射到 BBG_ROOT 系统路径吗?抱歉,我在这方面还是个菜鸟。请参阅https://pypi.org/project/xbbg/特别是有关 blp.bdib(日内柱线)示例的部分及其下方的随附文本。
尝试将 exch.yml 和 asset.yml 文件复制到我的 blp 文件夹中名为 BBG_ROOT 的文件夹中以进行 Bloomberg 安装,然后将 BBG_ROOT 附加到 sys.path.append() 中,但似乎没有帮助。另外,作为引用,我正在尝试获取 9 月日经指数和 SPX future 合约的最高价和最低价,因此从我所看到的情况来看, Assets 和交易所 yml 已经默认包含定义。
最佳答案
它采用不同的方法来引用 future 。
您可以按照与 assets.yml
中相同的方式指定 NO
合约:
- tickers: [ES, DM, NQ]
exch: CME
freq: Q
is_fut: True
Exchange 应为 FuturesJapan
,它已在 exch.yml
中提供。
future 日内数据
更新到 xbbg
0.3.1
后,您可以使用 blp.fut_ticker
检查任何给定日期,即 1
或 2
指的是。例如:
In [1]: from xbbg import blp
In [2]: blp.fut_ticker('NK1 Index', dt='2019-08-07', freq='Q')
Out[2]: 'NKU9 Index'
您可以在上述函数中添加 log='debug'
来查看完整的 futures 链。
您还可以使用blp.active_futures
来查看哪个合约在任何给定日期都处于事件状态:
In [3]: blp.active_futures('NKA Index', dt='2019-08-07')
Out[3]: 'NKU9 Index'
然后您可以使用blp.bdib
和通用 future 合约下载历史盘中数据:
In [4]: blp.bdib('NK1 Index', '2019-08-07').tail()
Out[4]:
ticker NK1 Index
field open high low close volume num_trds
2019-08-07 15:05:00+09:00 20,490.00 20,490.00 20,470.00 20,480.00 170 25
2019-08-07 15:06:00+09:00 20,480.00 20,480.00 20,480.00 20,480.00 193 34
2019-08-07 15:07:00+09:00 20,480.00 20,500.00 20,470.00 20,500.00 450 76
2019-08-07 15:08:00+09:00 20,500.00 20,520.00 20,500.00 20,520.00 492 49
2019-08-07 15:09:00+09:00 20,520.00 20,530.00 20,510.00 20,510.00 471 63
关于python - xbbg 的 BBG_ROOT(简化的 blpapi 包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56729479/