Есть ли переопределение имен и описаний календарных дат? - PullRequest
3 голосов
/ 06 июня 2019

Я пытаюсь использовать Bloomberg API для получения информации о празднике для тикера. В приведенном ниже запросе правильно отображаются даты, но я также хотел бы указать название праздника.

.будет также включать название даты, как в «Новый год»

ReferenceDataRequest = {
    securities[] = {
        LQ45 Index
    }
    fields[] = {
        CALENDAR_HOLIDAYS
    }
    overrides[] = {
        overrides = {
            fieldId = "SETTLEMENT_CALENDAR_CODE"
            value = "JA"
        }
        overrides = {
            fieldId = "CALENDAR_START_DATE"
            value = "20190101"
        }
        overrides = {
            fieldId = "CALENDAR_END_DATE"
            value = "20191231"
        }
    }
    tableOverrides[] = {
    }
}

код c #, который я использую, был предложен по другому вопросу, который я больше не могу найти, и это:

            Request request = this._service.CreateRequest("ReferenceDataRequest");
            Element securities = request.GetElement(BloombergConstants.SECURITIES);
            securities.AppendValue(ticker);
            Element fields = request.GetElement(BloombergConstants.FIELDS);
            fields.AppendValue("CALENDAR_HOLIDAYS");

            //Element overridefields = request.GetElement(BloombergConstants.OVERRIDES);
            Element overrides = request.GetElement(BloombergConstants.OVERRIDES);
            Element override1 = overrides.AppendElement();
            override1.SetElement(BloombergConstants.FIELDID, "SETTLEMENT_CALENDAR_CODE");
            override1.SetElement(BloombergConstants.VALUE, calendarCode);
            override1 = overrides.AppendElement();
            override1.SetElement(BloombergConstants.FIELDID , "CALENDAR_START_DATE");
            override1.SetElement(BloombergConstants.VALUE, startDate.ToString("yyyyMMdd"));
            Element override2 = overrides.AppendElement();
            override2.SetElement(BloombergConstants.FIELDID, "CALENDAR_END_DATE");
            override2.SetElement(BloombergConstants.VALUE, endDate.ToString("yyyyMMdd"));

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

К сожалению, похоже, что нет кода переопределения, чтобы добавить это поведение. Это немного не интуитивно понятно, но если вы ищете соответствующий код CALENDAR_HOLIDAYS, вы фактически получаете информацию о коде CALENDAR_NON_SETTLEMENT_DATES (возможно, в какой-то момент он был переименован и добавлен в псевдоним?)

fieldInfoRequest = {
        id[] = {
            "CALENDAR_HOLIDAYS"
        }
    }

fieldResponse = {
        fieldData[] = {
            fieldData = {
                id = "ZS090"
                fieldInfo = {
                    mnemonic = "CALENDAR_NON_SETTLEMENT_DATES"
                    description = "Calendar Non-Settlement Dates"
                    datatype = String
                    categoryName[] = {
                    }
                    property[] = {
                    }
                    overrides[] = {
                        "ZS089", "ZS087", "ZS088"
                    }
                    ftype = BulkFormat
                }
            }
        }
    }

Эти переопределения соответствуют

   id                  mnemonic
ZS087  SETTLEMENT_CALENDAR_CODE
ZS088       CALENDAR_START_DATE
ZS089         CALENDAR_END_DATE

Ни один из которых не добавляет функциональности для возврата описания праздника, которому соответствует дата.

0 голосов
/ 06 июня 2019
...