彭博盘中历史加速

Bloomberg Intraday Historical Speed Up

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

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

如果有人能举例说明如何调整我的请求以减少耗时,我会很高兴

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

看看 Developer's Guide 的第 58 页,给你一些想法。

在python中代码看起来像

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

您花费大部分时间连接到 Bloomberg 而不是实际下载。您可以保存您的连接对象并重复使用它。

这个包 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)