Запрос внутридневных исторических данных через API Bloomberg в Python - PullRequest
0 голосов
/ 15 января 2019

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

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

BDH ("AAPL US EQUITY", "BID", (DATE + TIME) -0,01, (DATE + ВРЕМЯ) -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, но ничего за определенное внутридневное время.

1 Ответ

0 голосов
/ 15 января 2019

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)
...