2015-11-18 4 views
0

bdh() Работает только с некоторыми полями Bloomberg на Rblpapi? Следующие возвращает NULL:Функция Rblpapi - bdh возвращает NULL с определенными полями

library(Rblpapi) 
blpConnect() 
bdh("IBM US Equity", "RR906", start.date = Sys.Date()-22) 

и так же с помощью мнемоники для поля:

bdh("IBM US Equity", "TRAIL_12M_EPS", start.date = Sys.Date()-22) 

я могу получить текущее значение через bdp(), но это все. bdh(), кажется, отлично работает для полей в реальном времени, но не для статических, хотя Bloomberg говорит, что исторические ценности доступны для API.

Кто-нибудь сталкивался с этой проблемой? И что еще более важно, есть ли какие-либо решения для этого? Не уверен, что мне не хватает чего-то очевидного.

EDIT: Я выяснил решение. Используя следующий параметр возвращает правильные значения:

bdh("IBM Equity", "TRAIL_12M_EPS", Sys.Date()-22, options = c("nonTradingDayFillOption"="ALL_CALENDAR_DAYS")) 

В зависимости от требований пользователя значение nonTradingDayFillOption также может быть установлено в ACTIVE_DAYS_ONLY (возвращает только те дни, когда изменения значения поля).

ответ

0

Используя следующий параметр возвращает правильные значения:

bdh("IBM Equity", "TRAIL_12M_EPS", Sys.Date()-22, options = c("nonTradingDayFillOption"="ALL_CALENDAR_DAYS")) 

В зависимости от требований пользователя значение nonTradingDayFillOption также может быть установлен в ACTIVE_DAYS_ONLY (возвращает только те дни, когда изменяется значение поля).

Переход через полный API documentation действительно помогает, я думаю ...

0

В основном здесь ошибка в том, что вы использовали «IBM Equity», где он должен быть «IBM US Equity» С наилучшими пожеланиями,

+1

может вы расширяете этот ответ немного больше? – Pseudonym

+0

Это не было ошибкой в ​​деле. Вы отлично не предоставляете код обмена, и предполагается, что вы хотите обмен первичного терминала. Вы можете легко проверить это во всех реализациях Bloomberg API. Причина была указана в ответе выше. –

Смежные вопросы