使用 python 从 Bloomberg API 获取不同货币的数据?
Getting data with diferent currencies from Bloomberg API,using python?
我正在尝试从 Bloomberg 中提取数据。
我需要使用不同货币的多个字段的数据。
我无法从这个答案中得到我需要的东西 https://github.com/alpha-xone/xbbg
有人可以帮忙吗? “特定时间”和“一段时间”?
我尝试了以下代码,但它没有用。
blp.bdh(
tickers='TPXDDVD Index,SCTOGAA LN Equity,VAPEJSI ID Equity', flds=['PX_LAST', 'FUND_NET_ASSET_VAL', 'FUND_TOTAL_ASSETS'],
start_date='2018-10-01', end_date='2019-11-01', FX=['JPY','GBp','USD']
)
提取历史数据时,最好将相似的证券归为一组。在 OP 的问题中,'TPXDDVD Index' 是计算得出的总 return 索引。因此,它不会有与其他两个相同的可用字段,正如它们的代码所示,它们是报价基金。
只取两个报价基金,SCTOGAA LN Equity
和VAPEJSI ID Equity
,我们可以确定每个字段的默认货币。这是彭博社,命名约定是有机的,可能并不明显!两个值字段是 FUND_NET_ASSET_VAL
和 FUND_TOTAL_ASSETS
,每个字段的默认货币可能不同。
我们可以使用 bdp()
函数来拉回这些货币,如下所示(NB 代码在 python 列表中:
from xbbg import blp
tickers = ['SCTOGAA LN Equity','VAPEJSI ID Equity']
df = blp.bdp(tickers,['NAV_CRNCY','FUND_TOTAL_ASSETS_CRNCY'])
print(df)
结果:
nav_crncy fund_total_assets_crncy
SCTOGAA LN Equity GBp GBP
VAPEJSI ID Equity USD EUR
因此对于 VAPEJSI NAV 和总资产以不同的货币计价。还有注意。 GBp
不是数据录入员的错字,而是 GBP pence
.
您可以使用应用于函数调用中所有字段的单一货币值覆盖货币。
from xbbg import blp
fields = ['FUND_NET_ASSET_VAL','FUND_TOTAL_ASSETS']
df = blp.bdh('SCTOGAA LN Equity',fields,
start_date='2018-10-01', end_date='2019-11-01')
print(df.tail(2))
df = blp.bdh('SCTOGAA LN Equity',fields,
start_date='2018-10-01', end_date='2019-11-01', Currency='USD')
print(df.tail(2))
其中 return 个:
SCTOGAA LN Equity
FUND_NET_ASSET_VAL FUND_TOTAL_ASSETS
2019-10-31 70.81 1755.65
2019-11-01 70.99 1756.51
SCTOGAA LN Equity
FUND_NET_ASSET_VAL FUND_TOTAL_ASSETS
2019-10-31 0.91607 2271.28527
2019-11-01 0.91840 2272.40325
英镑便士的资产价值已转换为美元。顺便说一句,如果你用 Currency='USd'
代替,你将得到以美分为单位的价格。你必须喜欢区分大小写......
我正在尝试从 Bloomberg 中提取数据。 我需要使用不同货币的多个字段的数据。 我无法从这个答案中得到我需要的东西 https://github.com/alpha-xone/xbbg
有人可以帮忙吗? “特定时间”和“一段时间”?
我尝试了以下代码,但它没有用。
blp.bdh(
tickers='TPXDDVD Index,SCTOGAA LN Equity,VAPEJSI ID Equity', flds=['PX_LAST', 'FUND_NET_ASSET_VAL', 'FUND_TOTAL_ASSETS'],
start_date='2018-10-01', end_date='2019-11-01', FX=['JPY','GBp','USD']
)
提取历史数据时,最好将相似的证券归为一组。在 OP 的问题中,'TPXDDVD Index' 是计算得出的总 return 索引。因此,它不会有与其他两个相同的可用字段,正如它们的代码所示,它们是报价基金。
只取两个报价基金,SCTOGAA LN Equity
和VAPEJSI ID Equity
,我们可以确定每个字段的默认货币。这是彭博社,命名约定是有机的,可能并不明显!两个值字段是 FUND_NET_ASSET_VAL
和 FUND_TOTAL_ASSETS
,每个字段的默认货币可能不同。
我们可以使用 bdp()
函数来拉回这些货币,如下所示(NB 代码在 python 列表中:
from xbbg import blp
tickers = ['SCTOGAA LN Equity','VAPEJSI ID Equity']
df = blp.bdp(tickers,['NAV_CRNCY','FUND_TOTAL_ASSETS_CRNCY'])
print(df)
结果:
nav_crncy fund_total_assets_crncy
SCTOGAA LN Equity GBp GBP
VAPEJSI ID Equity USD EUR
因此对于 VAPEJSI NAV 和总资产以不同的货币计价。还有注意。 GBp
不是数据录入员的错字,而是 GBP pence
.
您可以使用应用于函数调用中所有字段的单一货币值覆盖货币。
from xbbg import blp
fields = ['FUND_NET_ASSET_VAL','FUND_TOTAL_ASSETS']
df = blp.bdh('SCTOGAA LN Equity',fields,
start_date='2018-10-01', end_date='2019-11-01')
print(df.tail(2))
df = blp.bdh('SCTOGAA LN Equity',fields,
start_date='2018-10-01', end_date='2019-11-01', Currency='USD')
print(df.tail(2))
其中 return 个:
SCTOGAA LN Equity
FUND_NET_ASSET_VAL FUND_TOTAL_ASSETS
2019-10-31 70.81 1755.65
2019-11-01 70.99 1756.51
SCTOGAA LN Equity
FUND_NET_ASSET_VAL FUND_TOTAL_ASSETS
2019-10-31 0.91607 2271.28527
2019-11-01 0.91840 2272.40325
英镑便士的资产价值已转换为美元。顺便说一句,如果你用 Currency='USd'
代替,你将得到以美分为单位的价格。你必须喜欢区分大小写......