Мне интересно, смог ли кто-нибудь использовать 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, но ничего в течение определенного внутридневного времени.
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)
blp.bdib
- см., Например: stackoverflow.com/questions/45283556/… или посмотрите документы библиотеки.