彭博社安全查询请求

ant*_*nio 3 c++ java api blpapi

在 Bloomberg API Developer\xe2\x80\x99s Guide 中,它写道:

\n\n
\n

安全查找[...]请求根据“查询”元素的字符串值以及您设置的附加过滤器构建搜索[...]。使用SECF < GO >功能也可以在 Bloomberg Professional 服务上找到此功能。

\n
\n\n

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

\n\n
Service secfService = session.getService("//blp/instruments");\nRequest request = secfService.createRequest("instrumentListRequest");\nrequest.asElement().setElement("query", "IBM");\nrequest.asElement().setElement("yellowKeyFilter", "YK_FILTER_CORP");\nrequest.asElement().setElement("languageOverride", "LANG_OVERRIDE_NONE");\nrequest.asElement().setElement("maxResults", 10);\nsendRequest(request, session);\n
Run Code Online (Sandbox Code Playgroud)\n\n

通过该SECF功能,我可以设置许多其他过滤器,例如交易所、居住国家/地区(也映射在FLDS功能屏幕中)。

\n\n

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

\n\n
\n

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

\n
\n\n

(我也尝试过EXCH_CODE

\n\n

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

\n

小智 5

以下是转储 InstrumentListRequest 架构的 Python 代码片段。可能存在一些语言翻译差异,但底层 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
    }
}
Run Code Online (Sandbox Code Playgroud)