对于 R 和 Bloomberg 来说还是很新的。 我需要导出尽可能多的国家的历史收益率曲线数据。我是一个链接到彭博终端的包。
不过,我找不到让该功能正常工作的方法。 这是我到目前为止所拥有的。再说一次,理想情况下,我希望尽可能多的股票行情并尽可能早地回溯
library("Rblpapi")
# Connect to Bloomberg
blpConnect()
tickers <- c("I16", "I22", "I7")
data=bdh(tickers, 'PX_MID',start.date = "2023-01-29")
值
I16
等是 Bloomberg“曲线 ID”。这些可用于调用 //blp/instruments
API 服务,对于 curveListRequest
,通过在请求中设置 curveid
字段来实现。此请求将返回曲线的股票代码...在本例中为 YCGT0016 Index
。 使用股票代码可能比使用工具查找更简单。
I16
是“欧元德国主权曲线”。因此,该曲线是每天由不同的债券构建的(当它们沿着曲线滚动时)。这与互换曲线形成鲜明对比,互换曲线中每个期限的股票代码不会改变。这使得提取历史曲线变得更加困难。
我不熟悉 R 界面,但我认为它可以访问
bds
功能,尽管可能需要以不同的方式指定覆盖。 Python 中的相同过程如下:
一种方法是在
bds
中使用 xbbg
来获取批量数据字段 CURVE_TENOR_RATES
,并覆盖 CURVE_DATE
字段。
例如:
from xbbg import blp
from datetime import date
curveTicker = 'YCGT0016 Index'
bbgFld = 'CURVE_TENOR_RATES'
histdate = date(2023,1,29)
constituents = blp.bds(curveTicker,bbgFld,curve_date=histdate.strftime("%Y%m%d"))
这将为您提供最接近(但早于)您请求的日期的日期的曲线。这样你就可以访问历史曲线,但是速度并不快,因为你必须每天重复调用。
作为一个捷径,对于一小部分主权国家(只有 8 个:美国、德国、日本、法国、意大利、英国、加拿大和西班牙),彭博社发布了 par 样条曲线,您可以提取以下时间序列每个恒定期限的股票代码。
彭博股票代码 | 示例 | 价格 |
---|---|---|
RV0001P 次元 BLC 货币 | RV0001P 10 年 BLP 货币 | UST 10 年期票面利率 |
RV0005P 次元 BLC 货币 | RV0005P 6M BLP 货币 | BTPS 6m 面值 |
就我个人而言,我经常使用这些票面曲线来记录历史,因为它们很平滑,消除了息票效应,并且在债券滚动时没有不连续性。