在 bloomberg api 上获取商品指数期货价格
Get commodity index futures price on bloomberg api
我需要从 bloomberg api 获取 CL1、S 1、C1 等商品的开盘价、最高价、最低价、收盘价、成交量数据...
现在,我正在做
from xbbg import blp
blp.bdib(ticker="CL1 COMB Comdty", dt="2021-06-01", exch="CME")
这适用于 CL1,但当我尝试其他任何东西时它都不起作用。例如。 运行
blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", exch="CME")
给我一个KeyError:'Cannot find exchange info for S1 COMB Comdty'
关于如何解决这个问题的任何线索?
Xbbg 使用 'exchange' 纯粹作为一种方法来计算调用基础 Bloomberg API 的时区和交易时间(因为 API 只需要开始和结束UTC date/time).
“CL1”有效而“S 1”无效的原因是前一个代码列在默认的 xbbg assets.yml 文件中。该文件提供了常见代码的查找,以确定它们的交易时间/TZ。 'exchanges' 列在 exch.yml.
不在 assets.yml 中的用于指定 CME 的代码的参数名称是 'ref':
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", ref="CME")
print(df.tail())
给出:
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 ):
Comdty:
...
- tickers: [S]
exch: CME
freq: M
is_fut: True
...
然后你可以调用:
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01")
CME 的 exch.yml 条目是:
CME:
tz: America/New_York
allday: [1800, 1700]
day: [800, 1700]
我需要从 bloomberg api 获取 CL1、S 1、C1 等商品的开盘价、最高价、最低价、收盘价、成交量数据...
现在,我正在做
from xbbg import blp
blp.bdib(ticker="CL1 COMB Comdty", dt="2021-06-01", exch="CME")
这适用于 CL1,但当我尝试其他任何东西时它都不起作用。例如。 运行
blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", exch="CME")
给我一个KeyError:'Cannot find exchange info for S1 COMB Comdty'
关于如何解决这个问题的任何线索?
Xbbg 使用 'exchange' 纯粹作为一种方法来计算调用基础 Bloomberg API 的时区和交易时间(因为 API 只需要开始和结束UTC date/time).
“CL1”有效而“S 1”无效的原因是前一个代码列在默认的 xbbg assets.yml 文件中。该文件提供了常见代码的查找,以确定它们的交易时间/TZ。 'exchanges' 列在 exch.yml.
不在 assets.yml 中的用于指定 CME 的代码的参数名称是 'ref':
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01", ref="CME")
print(df.tail())
给出:
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 ):
Comdty:
...
- tickers: [S]
exch: CME
freq: M
is_fut: True
...
然后你可以调用:
df = blp.bdib(ticker="S 1 COMB Comdty", dt="2021-06-01")
CME 的 exch.yml 条目是:
CME:
tz: America/New_York
allday: [1800, 1700]
day: [800, 1700]