彭博安全查询请求

时间:2015-03-14 13:33:45

标签: java c++ api blpapi

在Bloomberg API开发人员指南中,它的内容为:

  

Security Lookup [...]请求根据"查询"构建搜索。 element的字符串值,以及您设置的其他过滤器[...]。这种功能也可以在Bloomberg Professional服务中找到,使用 SECF< GO> 功能。

这是一个简单的片段查询IBM(C ++,而我实际上是针对Java):

Service secfService = session.getService("//blp/instruments");
Request request = secfService.createRequest("instrumentListRequest");
request.asElement().setElement("query", "IBM");
request.asElement().setElement("yellowKeyFilter", "YK_FILTER_CORP");
request.asElement().setElement("languageOverride", "LANG_OVERRIDE_NONE");
request.asElement().setElement("maxResults", 10);
sendRequest(request, session);

使用SECF功能,我可以设置许多其他过滤器,例如交换,住所所在国家(也在FLDS功能屏幕中映射)。

当我通过("exchCode", "US")时,我收到错误消息。

  

com.bloomberglp.blpapi.NotFoundException:元素:找不到exchCode:InstrumentListRequest

(我也试过了EXCH_CODE

如何将SECF过滤器传递给request对象?

1 个答案:

答案 0 :(得分:2)

这是一段Python代码,用于转储InstrumentListRequest的架构。可能是一些语言翻译差异,但它是相同的底层API 可悲的是,看起来你不能按照你想要的方式制定查询。

>>> print(instrreq.asElement().elementDefinition().toString())
ELEMENT InstrumentListRequest {
DESCRIPTION 
MIN VALUES 0
MAX VALUES 1
TYPE InstrumentListRequest (SEQUENCE) {
    DESCRIPTION Instrument list request
    ELEMENT query {
        DESCRIPTION String with keywords
        MIN VALUES 0
        MAX VALUES 1
        TYPE STRING
    }
    ELEMENT yellowKeyFilter {
        DESCRIPTION Yellow key filter
        MIN VALUES 0
        MAX VALUES 1
        TYPE YellowKeyFilter(ENUMERATION) {
            DESCRIPTION 
            YellowKeyFilter(STRING) {
                YK_FILTER_NONE
                YK_FILTER_CMDT
                YK_FILTER_EQTY
                YK_FILTER_MUNI
                YK_FILTER_PRFD
                YK_FILTER_CLNT
                YK_FILTER_MMKT
                YK_FILTER_GOVT
                YK_FILTER_CORP
                YK_FILTER_INDX
                YK_FILTER_CURR
                YK_FILTER_MTGE
            }
        }
    }
    ELEMENT languageOverride {
        DESCRIPTION Language override
        MIN VALUES 0
        MAX VALUES 1
        TYPE LanguageOverride(ENUMERATION) {
            DESCRIPTION 
            LanguageOverride(STRING) {
                LANG_OVERRIDE_NONE
                LANG_OVERRIDE_ENGLISH
                LANG_OVERRIDE_KANJI
                LANG_OVERRIDE_FRENCH
                LANG_OVERRIDE_GERMAN
                LANG_OVERRIDE_SPANISH
                LANG_OVERRIDE_PORTUGUESE
                LANG_OVERRIDE_ITALIAN
                LANG_OVERRIDE_CHINESE_TRAD
                LANG_OVERRIDE_KOREAN
                LANG_OVERRIDE_CHINESE_SIMP
                LANG_OVERRIDE_NONE_1
                LANG_OVERRIDE_NONE_2
                LANG_OVERRIDE_NONE_3
                LANG_OVERRIDE_NONE_4
                LANG_OVERRIDE_NONE_5
                LANG_OVERRIDE_RUSSIAN
            }
        }
    }
    ELEMENT maxResults {
        DESCRIPTION Number of results requested
        MIN VALUES 0
        MAX VALUES 1
        TYPE INT32
    }
}