Запрос внутридневных исторических данных через API Bloomberg в Python

1

Мне интересно, смог ли кто-нибудь использовать Bloomberg API в Python для извлечения фрагмента внутридневных исторических данных за определенное время. Есть потоки о том, как извлекать внутридневные данные за заданные интервалы (5,10,15 минут), но я ищу ссылку на конкретное время и дату (например, 01.09.19 13:33:42) и извлекаю данные в это время,

Это возможно в Excel с помощью формулы с переопределениями, как это:

BDH ("AAPL US EQUITY", "BID", (DATE + TIME) -0.01, (DATE + TIME) -0.0001, "IntrRw = True", "points = 1", "SIZE = S" "," TYPE = H "," DTS = H "," TimeZone = New York "," cols = 2; row = 1 ")

Цените любые мысли или идеи.

Я пытался использовать xbbg для простого запроса данных, просто чтобы понять синтаксис без удачи. Ниже приведен формат даты/времени, который у меня есть при запуске в Excel, но не повезло. Пробовал со всеми переопределениями в вышеприведенной формуле Excel, но не повезло.

from xbbg import blp
SPXLAST = blp.bdh(tickers='SPX INDEX',flds='PX_LAST',start_date='09-26-18 
14:30:25',end_date='09-26-18 14:30:25',TimeZone='New York')
print(SPXLAST)

Были в состоянии получить только данные EOD, но ничего в течение определенного внутридневного времени.

  • 0
    Чтобы получить внутридневные бары, вам, вероятно, понадобится blp.bdib - см., Например: stackoverflow.com/questions/45283556/… или посмотрите документы библиотеки.
  • 0
    Речь идет о часовом поясе: stackoverflow.com/a/53504904/1332656
Теги:
excel
bloomberg

1 ответ

0

Blpapi поддерживается в Python. Вот фрагмент кода:

def sendIntradayTickRequest(session, options, identity = None):
refDataService = session.getService("//blp/refdata")
request = refDataService.createRequest("IntradayTickRequest")

# only one security/eventType per request
request.set("security", "IBM US Equity")

# Add fields to request
eventTypes = request.getElement("eventTypes")
eventTypes.appendValue("TRADE")
eventTypes.appendValue("BID")
eventTypes.appendValue("ASK")
# add more tick types

# All times are in GMT
request.set("startDateTime", "2019-01-15T14:40:00")
request.set("endDateTime", "2019-01-15T14:43:00")

# options
request.set("includeConditionCodes", True)
# add more optionals

print("Sending Request:", request)
session.sendRequest(request)
  • 0
    Привет Мурад, спасибо за ответ. Не уверен, что я делаю неправильно, но это вывод, который я получаю, когда запускаю этот бит кода: Traceback (последний вызов был последним): файл "C: \ BBG API \ bloomytest4.py", строка 9, в < module> request.set ("security", "IBM US Equity") AttributeError: модуль 'request' не имеет атрибута 'set'
  • 1
    Это всего лишь фрагмент, а не полный код. Для этого необходимо сначала установить пакет blpapi. Далее создайте сеанс, откройте сервис и т. Д. Вот полный пример кода gist.github.com/jfujino/5856269

Ещё вопросы

Сообщество Overcoder
Наверх
Меню