Bloomberg Desktop Api v3 Python 2.7 添加历史数据到列表

3 投票
2 回答
1231 浏览
提问于 2025-04-18 07:44

我搜索过答案,但很遗憾,我找不到支持Python 2.7的“新”APIv3。

老实说,我对Python非常陌生。

我能够与彭博社建立连接,并使用提供的示例(SimpleHistoryExample.py)查询历史数据,但我在把这些数据放入一个简单的列表时遇到了问题。打印出来的数据看起来像是锯齿状的列表:

HistoricalDataResponse = {
securityData = {
    security = "IBM US Equity"
    eidData[] = {
    }
    sequenceNumber = 0
    fieldExceptions[] = {
    }
    fieldData[] = {
        fieldData = {
            date = 2006-01-31
            PX_LAST = 81.300000
            OPEN = 82.450000
        }
        fieldData = {
            date = 2006-02-28
            PX_LAST = 80.240000
            OPEN = 80.900000
        }
    ETC......

我想做的就是查询,比如“BAC US EQUITY”,然后把从DATE1到DATE2的“PX_LAST”放到一个列表里,比如listHistPrices,这样我就可以根据需要对它进行切片和处理。

可惜的是,我找不到Python SDK的任何文档,只有一些示例。

任何帮助都会很感激。

2 个回答

0

我用了一种两步走的方法来处理这个问题:

  1. 首先,把来自bberg的数据存储在一个没有底的defaultdict里:

    def dd(): return defaultdict(dd)

  2. 然后,把这些数据转换成pandas DataFrame,这样访问起来更方便,使用from_dict来实现。

需要注意的是,对于较大的数据集,这样做会占用很多内存。

2

我在github上找到了我需要的代码!

https://github.com/kyuni22/pybbg/blob/master/pybbg/pybbg_k.py

唯一需要做的就是获取并安装Pandas以及它的相关依赖。

撰写回答