在R中使用BDP查找SETTLE_DTE(在excel中有效,但在R中无效)

时间:2018-11-22 21:19:30

标签: r bloomberg

我需要获取R中远期合约的结算日期。

我可以在excel中完成以下操作:

BDP("CAD1M CURNCY","SETTLE_DT","REFERENCE_DATE",TEXT(C2,"YYYYMMDD"))

(假设我要查找一份1个月远期合约的结算日期的特定日期在C2单元格中)

这给了我上述远期合约的结算日期。 所以我想在R中做同样的事情(我连接到Bloomberg并可以获取数据)

我尝试了以下(以及许多其他版本):

bdp("CAD1M Curncy",c("SETTLE_DT","REFERENCE_DATE",as.Date("2018-11-15")))

但不起作用。

似乎无法识别SETTLE_DT,但我不知道如何在R中为bdp识别它。

这是我收到的错误消息

bdh(“ CAD1M货币”,“ SETTLE_DT”,REFERENCE_DATE = as.Date(“ 20181115”),options = NULL)

bdh(“ CAD1M货币”,“ SETTLE_DT”,REFERENCE_DATE = as.Date(“ 20181115”)、:未使用的参数(REFERENCE_DATE = as.Date(“ 20181115”))中的错误

bdh(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATE” = as.Date(“ 20181115”),options = NULL)

bdh(“ CAD1M货币”,“ SETTLE_DT”,REFERENCE_DATE = as.Date(“ 20181115”)、:未使用的参数(REFERENCE_DATE = as.Date(“ 20181115”))中的错误

bdh(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATE = as.Date(” 20181115“)”,options = NULL)

错误:“ bdh(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATE = as.Date(” 20181115“

bdp(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATE = as.Date(” 20181115“)”,options = NULL)

错误:“ bdp(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATE = as.Date(” 20181115“

bdp(“ CAD1M货币”,“ SETTLE_DT”,日期(“ 20181115”),options = NULL)

charToDate(x)错误:字符串不是标准的明确格式

bdp(“ CAD1M货币”,“ SETTLE_DT”,日期(“ 2018-11-15”),options = NULL)

bdp_Impl中的错误(con,证券,字段,选项,替代,冗长,:必须指定请求替代。

bdp(“ CAD1M货币”,“ SETTLE_DT”,“ REFERENCE_DATe”,日期(“ 2018-11-15”),options = NULL)

bdp_Impl中的错误(con,证券,字段,选项,替代,冗长,:必须指定请求替代。

bdp(“ CAD1M货币”,“ SETTLE_DT”,c(“ REFERENCE_DATe” = as.Date(“ 2018-11-15”)),options = NULL)SETTLE_DT CAD1M货币2018-12-31

如果我将上述日期改为“ 20181115”,它也会给我

charToDate(x)错误:字符串不是标准的明确格式

最后一个是给我一些答案的唯一一个,但是基本上它只是给我最后一个远期合同的结算日期(今天),而没有考虑我的参考日期。在excel中,以下命令起作用并给我正确的输出:= BDP(“ CAD1M Curncy”,“ SETTLE_DT”,“ REFERENCE_DATE”,“ 20181115”)输出:2018/12/17

也尝试过:

bdp(“ CAD1M货币”,“ SETTLE_DT”,c(“ REFERENCE_DATe”,日期(“ 2018-11-15”)),options = NULL)

bdp_Impl中的错误(con,证券,字段,选项,替代,冗长,:必须指定请求替代。

有什么想法吗? 谢谢你们,真的很感激

2 个答案:

答案 0 :(得分:0)

您在Excel和R之间使用了不同的日期格式,这可能是原因。我建议在R中也使用... as.Date(“ 20181115”)。另外,共享整个错误消息也将很有帮助。

答案 1 :(得分:0)

bdp(“ CAD1M货币”,“ SETTLE_DT”,覆盖= c(“ REFERENCE_DATE” =“ 20181115”))

解决了问题。

感谢亚述。