如何通过R从彭博终端获取投资组合收益率与收益归因数据
彭博PORT模块R语言获取方案
可以通过Rblpapi实现需求
Rblpapi完全支持PORT模块两类数据的调取,核心调用函数为bds()(彭博批量结构化数据接口),两类数据的实现方法如下:
1. 投资组合总收益率获取
需要先确认你的组合在彭博端的唯一标识,可在终端PCMA界面查询,格式通常为<组合自定义ID> PORT,调用示例:
library(Rblpapi) # 建立本地彭博终端连接 blpConnect() # 替换为你的实际组合代码 portfolio_code <- "MY_CN_PORT PORT" # 调取指定时间区间总收益率 port_return <- bds( securities = portfolio_code, fields = "PORT_TOTAL_RETURN", options = c( "startDate" = "20230101", "endDate" = "20231231", "PortReturnType" = "TOTAL" # 可选总收益/价格收益/股息收益 ) )
2. 收益归因数据获取
同样使用bds()函数,字段替换为归因相关字段,可指定归因维度(行业、地区、币种等),调用示例:
# 调取同期GICS行业维度的收益归因数据 port_attribution <- bds( securities = portfolio_code, fields = "PERFORMANCE_ATTRIBUTION", options = c( "startDate" = "20230101", "endDate" = "20231231", "AttributionLevel" = "GICS_SECTOR", # 归因维度 "AttributionModel" = "BRINSON_FACHTER" # 归因模型 ) )
注意:调用前请先确认你的彭博账号已开通PORT模块的API调用权限,若终端可查看数据但R调用报错,可联系公司彭博管理员开通对应权限。所有可用字段和参数可在彭博终端
FLDS界面搜索PORT相关说明确认。
替代R包方案
如果Rblpapi适配出现问题,可选择以下R包替代:
RBloomberg:早期彭博接口包,仅适配32位R环境,维护频率较低,适合使用旧版本R的场景- 自定义封装彭博Desktop API:基于彭博官方开放的C++ API封装调用逻辑,可高度适配自定义PORT参数需求
内容的提问来源于stack exchange,提问作者Dmitriy
相关产品推荐
相关产品推荐

