R:Rbbg覆盖错误(债券的报价类型)

时间:2015-01-02 20:26:14

标签: r override bloomberg

在尝试覆盖债券的报价类型时,是否有人遇到Rbbg的问题? (背景,我们可以在价格或收益率中引用债券,在Bloomberg中,您可以使用名为QtTyp的字段覆盖它

我在excel API中尝试了相同的公式并且它工作正常,但是当我在R中尝试它时,当我使用覆盖时它会给我一个错误:

  

.jcall错误(" RJavaTools"," Ljava / lang / Object;"," invokeMethod",cl,:
    org.findata.blpwrapper.WrapperException:响应错误:指定的覆盖字段ID无效[nid:908]

excel中的公式是:

=BDH("EC223677@BGN Corp","LAST_PRICE","02/01/2000","02/01/2000","QtTyp=P")

R中的公式为:

> bdh(conn, "EC223677@BGN Corp","LAST_PRICE",as.Date("02/01/2000","%m/%d/%Y"),as.Date("02/01/2000","%m/%d/%Y"))
                 date LAST_PRICE
2000-02-01 2000-02-01      0.983

> bdh(conn, "EC223677@BGN Corp","LAST_PRICE",as.Date("02/01/2000","%m/%d/%Y"),as.Date("02/01/2000","%m/%d/%Y"), override_fields = "QtTyp", override_values = "P")
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  org.findata.blpwrapper.WrapperException: response error: Invalid override field id specified [nid:908] 

1 个答案:

答案 0 :(得分:2)

按照Bloomberg API文档,必须将“pricingOption”设置为“PRICING_OPTION_PRICE”或“PRICING_OPTION_YIELD”。

如果你这样做它应该有效。但是,截至今天,我刚刚将新的R包RbbgExtension从GitHub上的私有存储库更改为public。该软件包旨在扩展功能并使其更易于使用Rbbg - 将其视为Rbbg之上的包装器,它本身就是一个Java包装器。

根据您的问题,我刚刚对RbbgExtension进行了修补,将pricingOption变量默认包含在“PRICING_OPTION_PRICE”中。这意味着要获得您想要的价格,您只需输入以下内容......

> HistData(tickers = "EC223677",
+          type = "Govt",
+          fields = "PX_LAST",
+          startdate = "20000201",
+          enddate="20000201")
R version 3.1.1 (2014-07-10) 
rJava Version 0.9-6 
Rbbg Version 0.5.2 
Java environment initialized successfully.
Looking for most recent blpapi3.jar file...
Adding C:\blp\API\APIv3\JavaAPI\v3.7.1.1\lib\blpapi3.jar to Java classpath
Bloomberg API Version 3.7.1.1 
           PX_LAST
2000-02-01 100.082

如果您安装了Hadley Wickham的devtools软件包,那么您可以通过输入install_github(“pgarnry / RbbgExtension”)轻松安装最新版本的RbbgExtension。

如果您想要收益率,您只需更改该函数的定价变量。

我们实际上正在讨论是否将函数中的变量输入更改为类似于Excel命名约定以使事情更像是为了类似,但是现在使用完整输入名称设置选项名称(如定价选项)而不是像Excel中的“P”或“Y”这样的缩写,但正如所说,它可能会在将来的版本中更改。