如何解决blpapi IntradayTickRequest python
我正在使用 pdblp
Python 包装器从彭博查询历史每日数据。
根据包文档和 Python Bloomberg API pdblp intraday request 中的帖子,无法使用 pdblp 包查询日内数据。
上述链接中的一个答案建议直接通过以下方式使用 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,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
和 options
对象。有人可以提供一个简单的例子来说明如何使用这个函数来检索日内数据吗?
(我指的不是 OHLC 数据,可以使用 bdib()
中的 pdblp
函数查询)
解决方法
您可以使用 blpapi 包创建会话对象。
s_options = blpapi.SessionOptions()
s_options.setServerHost('localhost')
s_options.setServerPort(8194)
s_options.setAutoRestartOnDisconnection(True)
session = blpapi.Session(s_options)
您还可以向会话传递一个函数,该函数会为会话返回的每个事件调用。然后会话对象看起来像这样:
session = blpapi.Session(s_options,process_event)
响应函数需要两个参数,事件和会话:
def process_event(self,event,session):
for msg in event:
print(msg)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。