首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在彭博api上获取商品指数期货价格

在彭博api上获取商品指数期货价格
EN

Stack Overflow用户
提问于 2021-06-25 13:52:10
回答 1查看 710关注 0票数 0

我需要打开,高,低,关闭,从彭博api的大宗商品,如CL1,S1,C1.

现在,我在做

代码语言:javascript
复制
from xbbg import blp
blp.bdib(ticker="CL1 COMB Comdty", dt="2021-06-01", exch="CME")

它适用于CL1,但当我尝试其他任何东西时,它就不起作用了。例如跑

代码语言:javascript
复制
blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", exch="CME")

给我一个KeyError:“找不到S1梳子的交换信息”

知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-25 14:42:08

Xbbg使用“exchange”纯粹作为计算对底层Bloomberg API调用的时区和交易时间的方法(因为API只需要开始和结束UTC日期/时间)。

"CL1“起作用而”S1“不起作用的原因是前者的代码被列在默认的xbbg assets.yml文件中。此文件提供了对常见代码的查找,以识别它们的交易时间/ TZ。交易所是在exch.yml中列出的。

对于不在assets.yml中指定CME的代码块,要使用的参数名为'ref':

代码语言:javascript
复制
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", ref="CME")
print(df.tail())

这意味着:

代码语言:javascript
复制
                          S 1 COMB Comdty           ...                    
                                     open     high  ... num_trds      value
2021-06-01 14:15:00-04:00         1548.75  1550.00  ...      105  365683.75
2021-06-01 14:16:00-04:00         1549.75  1550.00  ...       45  161172.75
2021-06-01 14:17:00-04:00         1549.50  1549.50  ...       29  139409.25
2021-06-01 14:18:00-04:00         1548.50  1549.00  ...       24  168826.25
2021-06-01 14:19:00-04:00         1548.25  1548.75  ...       43  247673.00

或者,您可以向assets.yml文件中添加一个条目(路径\Lib\site-packages\xbbg\markets\assets.yml ):

代码语言:javascript
复制
Comdty:
  ...
  - tickers: [S]
    exch: CME
    freq: M
    is_fut: True
  ...

然后你就可以打电话:

代码语言:javascript
复制
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01")

CME的exch.yml条目是:

代码语言:javascript
复制
CME:
  tz: America/New_York
  allday: [1800, 1700]
  day: [800, 1700]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68132136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档