首页 > 解决方案 > 彭博 python api 中的 @BFxForward()

问题描述

我已经使用https://github.com/691175002/BLPInterface作为非常有文档(且不受彭博帮助支持)彭博 python API 的包装器。我用它来拉价格历史等。

最近我需要提取特定的外汇日期值。在excel中,我这样做是因为日期=@BFxForward("usdjpy",J10, "BidOutright")在哪里J10

我想通过 Bloomberg Python API 提取这些信息(或者更好的是,使用 BLPInterace 包装器),但不清楚如何去做。我见过有人为 .Net 实现提出类似的问题,但唯一的答案引用了开发人员指南的第 207 页。我在bloomberg 上能找到的每个开发者指南都不到200 页,而且都没有提到提取fx 值。

想知道是否有人可以向我指出一些示例或资源来获得这个?

标签: bloomberg

解决方案


可以肯定的是,这确实需要一些发现,但我通过 Bloomi 终端找到了它。我找到信息的方式如下(供以后参考):

  • 在彭博终端中输入 DAPI
  • 在左侧面板中选择“其他资源”
  • 在右侧面板中选择“DAPI 帮助页面”,会弹出一个窗口
  • 在左侧面板中选择“构造公式”
  • 在右侧面板中选择“FX Broken Dates Forwards Syntax”

或将此链接粘贴到 Bloomi: {LPHP DAPI:0:1 2277846}

有很多不同的示例和选项(FX fwds 不是我的专业领域),但简单地使用这种格式的代码似乎可行:

ccy1/ccy2 mm/dd/yy 货币

然后是场PX_BID。您可以在 Excel 中的 BDP 调用中尝试此操作,例如:

=BDP("EUR/GBP 08/08/22 Curncy","PX_BID")

当谈到 Python 时,也许可以尝试使用xbbg python 包(其他包装器可用):它很好地隐藏了低级 API 的所有复杂性。

这是一个使用 xbbg 的代码示例,它在示例中拉回了正向 fx 率:

from xbbg import blp
from datetime import datetime

ccy1 = 'EUR'
ccy2 = 'GBP'
fwdDate = datetime(2022,8,8)

ticker = '{0:}/{1:} {2:} Curncy'.format(ccy1,ccy2,fwdDate.strftime('%m/%d/%y'))

df = blp.bdp(ticker,'PX_BID')

print(df)

输出:

                          px_bid
EUR/GBP 08/08/22 Curncy  0.85344

编辑:查看 OP 对 Bloomi 包装器的选择,xbbg 调用可能被替换为:

blp.referenceRequest(ticker, 'PX_BID')

推荐阅读