【问题标题】:R: Rbbg override error (quote type for bond)R:Rbbg 覆盖错误(债券的报价类型)
【发布时间】:2015-01-02 20:26:13
【问题描述】:

在尝试覆盖债券的报价类型时,是否有人遇到过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] 

【问题讨论】:

    标签: r overriding bloomberg


    【解决方案1】:

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

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

    根据您的问题,我刚刚对 RbbgExtension 进行了修补,以将定价选项变量默认包含为“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”等缩写词,但正如所说的那样,它可能会在未来的版本中发生变化。

    【讨论】:

    • 你是对的,bdh(conn, "EC223677@BGN Corp","LAST_PRICE",as.Date("02/01/2000","%m/%d/%Y") ,as.Date("02/01/2000","%m/%d/%Y"), option_names = "pricingOption", option_values = "PRICING_OPTION_PRICE") 有效。感谢您分享您的扩展包。
    猜你喜欢
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多