彭博日内历史加速

时间:2017-11-20 10:40:43

标签: python bloomberg

我正在使用python API下载大量证券的日内数据(5分钟柱) 但是这个过程非常缓慢,我想我并没有在并发请求方面做出最大努力。

不幸的是,我发现API非常不友好(我主要使用blpapi包装来绕过消息传递,但我很想在需要时直接使用bloomberg api是)。

如果有人想要如何调整我的请求以减少耗时,我会很高兴

2 个答案:

答案 0 :(得分:1)

如果不了解自己的情况,很难诊断性能问题 构建您的请求,但我想大部分时间都花在等待上 布隆伯格的回应。你可能想看一下 CorrelationID字段。这允许您在之前发送多个请求 解析响应然后有办法识别哪个响应 消息对应于哪些请求。

请查看Developer's Guide的第58页,以便您了解一下。

在python中,代码看起来像

cid = blpapi.CorrelationId(my_unique_identifier)
session.sendRequest(request, correlationId=cid)

答案 1 :(得分:0)

与彭博社(而不是实际下载)建立连接最多需要花费时间。您可以保存连接对象并重复使用。

此软件包xbbg使整个过程变得非常简单:

from xbbg import blp

# Connection instance will be shared at the backend
blp.create_connection()

tickers = [.....]
dt = '...'
for t in tickers:
    # Every download in the loop shares the same connection
    blp.bdib(t, dt)