首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >blpapi IntradayTickRequest蟒蛇

blpapi IntradayTickRequest蟒蛇
EN

Stack Overflow用户
提问于 2021-04-27 20:26:24
回答 1查看 225关注 0票数 0

我正在使用pdblp Python包装器来查询来自Bloomberg的每日历史数据。根据软件包文档和Python Bloomberg API pdblp intraday request中的post,不可能使用pdblp软件包查询日内数据。

上面链接中的一个答案建议通过下面的链接直接使用blpapi API:

代码语言:javascript
复制
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)

我不熟悉底层的应用程序接口,很难理解在函数调用中作为参数提供的sessionoptions对象。有没有人可以提供一个简单的例子,说明如何使用此函数来检索日内数据?(我不是指OHLC数据,可以使用pdblp中的bdib()函数进行查询)

EN

回答 1

Stack Overflow用户

发布于 2021-07-14 22:47:23

您可以使用blpapi包创建一个会话对象。

代码语言:javascript
复制
s_options = blpapi.SessionOptions()
s_options.setServerHost('localhost')
s_options.setServerPort(8194)
s_options.setAutoRestartOnDisconnection(True)

session = blpapi.Session(s_options)

您还可以将一个函数传递给您的会话,会话返回的每个事件都会调用该函数。然后,session对象如下所示:

代码语言:javascript
复制
session = blpapi.Session(s_options, process_event)

response函数需要两个参数,事件和会话:

代码语言:javascript
复制
def process_event(self, event, session):
    for msg in event:
        print(msg)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67283024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档