你看過日內請求的python例子嗎?您需要在請求中指定時間。
def sendIntradayTickRequest(session, options):
refDataService = session.getService("//blp/refdata")
request = refDataService.createRequest("IntradayTickRequest")
# only one security/eventType per request
request.set("security", options.security)
# Add fields to request
eventTypes = request.getElement("eventTypes")
for event in options.events:
eventTypes.appendValue(event)
# All times are in GMT
if not options.startDateTime or not options.endDateTime:
tradedOn = getPreviousTradingDate()
if tradedOn:
startTime = datetime.datetime.combine(tradedOn,
datetime.time(15, 30))
request.set("startDateTime", startTime)
endTime = datetime.datetime.combine(tradedOn,
datetime.time(15, 35))
request.set("endDateTime", endTime)
else:
if options.startDateTime and options.endDateTime:
request.set("startDateTime", options.startDateTime)
request.set("endDateTime", options.endDateTime)
if options.conditionCodes:
request.set("includeConditionCodes", True)
print "Sending Request:", request
session.sendRequest(request)
我不太確定你想要做什麼,如果你想歷史日內然後用上面並添加您的要求爲日內時序參數。然後解析輸出。但是,如果您希望根據實時饋送執行某項功能,則我所做的方式是在python腳本上設置一個cron作業,每隔X分鐘抓取一次速率/安全性並將其保存到數據庫中。不知道你是否想要做一個實時功能,或只是拉歷史。
IntradayTickRequests目前不支持在pdblp,但如果你不想使用主API,pdblp內試試這個,它應該工作:
df3 = con.bdib('SPY Equity', '2015-06-19T09:30:00', '2015-06-19T15:30:00', eventType='TRADE', interval=15)
df3.head()
讓我知道如果我誤解你的問題。
嘿,這一定是與原始的bbg api啊,可能值得嘗試,我一直在使用pdblp庫https://github.com/matthewgilbert/pdblp。 – rbonallo
啊,試試這個:df3 = con.bdib('SPY Equity','2015-06-19T09:30:00','2015-06-19T15:30:00', eventType ='TRADE',interval = 15) – Benloper
正如Benloper在上面解釋的那樣,'bdib'可以用於IntradayBarRequests。 「pdblp」目前不支持IntradayTickRequests。您可以在這裏閱讀彭博社開發者指南中的差異https://data.bloomberglp.com/professional/sites/10/2017/03/BLPAPI-Core-Developer-Guide.pdf – mgilbert