彭博安全查找请求

Bloomberg Security Lookup Request

本文关键字:请求 查找 安全 彭博      更新时间:2023-10-16

在彭博API开发人员指南中,它写道:

安全查找 [...] 请求根据"query"元素的字符串值以及您设置的其他过滤器 [...] 构造搜索。这种差异也可以在彭博专业服务上使用SECF功能找到。

这是针对 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: Element: exchCode not in : InstrumentListRequest

(我也试过EXCH_CODE

如何将SECF筛选器传递给request对象?

下面是一段 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
    }
}