bloomberg - 彭博 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 值。
想知道是否有人可以向我指出一些示例或资源来获得这个?
解决方案
可以肯定的是,这确实需要一些发现,但我通过 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')
推荐阅读
- java - JLink:在单独的文件中导出 java 模块
- java - 将每个列标题调整为最大内容大小 - NatTable
- c# - 给定 2 个 C# 列表,如何合并它们并仅从两个列表中获取非重复元素
- java - 如何将 JFrame 表单文件转换为 Java 类文件
- sdk - ESXi 服务器的 Web 服务 URL
- modelica - 如何访问 modelica 中的多相连接器?(FFT 模型)
- azure - Bot 适用于一个 Microsoft Teams 帐户,但不适用于另一个
- owl-api - 使用 OWL API 获取数据属性的范围
- ffmpeg - 在 ffmpeg 中,如何在像缩放一样过滤时保持文本相同的位置?
- c# - 无法在 selenium firefox 驱动程序 (geckodriver) 中加载扩展