簡體   English   中英

blpapi IntradayTickRequest python

[英]blpapi IntradayTickRequest python

我正在使用pdblp Python 包裝器從彭博查詢歷史每日數據。 Based on the package documentation and the post in Python Bloomberg API pdblp intraday request it is not possible to use the pdblp package to query intraday data.

上述鏈接中的一個答案建議直接通過以下方式使用 blpapi API:

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)

我不熟悉底層 API 並且session和在 ZC145D14AB507C1783 調用中作為 arguments 提供的options對象。 有人可以提供一個簡單的例子來說明如何使用這個 function 來檢索盤中數據嗎? (我不是指 OHLC 數據,可以使用 pdblp 中的bdib() pdblp

您可以使用 blpapi package 創建 session object。

s_options = blpapi.SessionOptions()
s_options.setServerHost('localhost')
s_options.setServerPort(8194)
s_options.setAutoRestartOnDisconnection(True)

session = blpapi.Session(s_options)

您還可以將 function 傳遞給您的 session,session 返回的每個事件都會調用它。 然后 session object 看起來像這樣:

session = blpapi.Session(s_options, process_event)

響應 function 需要兩個 arguments,事件和 session:

def process_event(self, event, session):
    for msg in event:
        print(msg)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM