R:Rbbg 覆盖错误(债券的报价类型)
R: Rbbg override error (quote type for bond)
在尝试覆盖债券的报价类型时,有人遇到过 Rbbg
的问题吗? (背景,我们可以在价格或收益率中引用债券,在彭博社,您可以使用名为 QtTyp
的字段覆盖它)
我在 excel API 中尝试了相同的公式并且它工作正常,但是当我在 R 中尝试它时,当我使用覆盖时它给我一个错误:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
org.findata.blpwrapper.WrapperException: response error: Invalid override field id specified [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]
根据 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" 等缩写,但如前所述,它可能会在未来版本中发生变化。
在尝试覆盖债券的报价类型时,有人遇到过 Rbbg
的问题吗? (背景,我们可以在价格或收益率中引用债券,在彭博社,您可以使用名为 QtTyp
的字段覆盖它)
我在 excel API 中尝试了相同的公式并且它工作正常,但是当我在 R 中尝试它时,当我使用覆盖时它给我一个错误:
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl, :
org.findata.blpwrapper.WrapperException: response error: Invalid override field id specified [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]
根据 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" 等缩写,但如前所述,它可能会在未来版本中发生变化。