循环通过 CUSIP 并使用 pdblp 从 Bloomberg 中提取数据

Looping through a CUSIPs and pulling data from Bloomberg using pdblp

我有一个 CUSIP 列表,我想为使用 pdblp (https://matthewgilbert.github.io/pdblp/tutorial.html) 收集数据。

例如:

CUSIP 列表(总共约 5,000 个):

/cusip/xxxxxxxxx, /cusip/yyyyyyyyy ...

con = pdblp.BCon(debug=False, port=8194, timeout=5000)
con.start()

con.ref(['/cusip/xxxxxxxxx', '/cusip/yyyyyyyyy'], ['Feature1', 'Feature2', 'Feature3',...])

这给了我一个数据框:

但是,我想创建一个数据框,它具有作为列的特征,并将 CUSIP 作为另一列或索引:

我不确定 bdh 函数是否会得到我正在寻找的东西,因为它是针对历史数据的(我正在寻找最新的)。我想我也可以只创建一个长 DataFrame 并熔化或旋转它?

您可以创建一个枢轴 table:

df = con.ref(['/cusip/xxxxxxxxx', '/cusip/yyyyyyyyy'], ['Feature1', 'Feature2', 'Feature3',...])
df.pivot(index='ticker', columns='field', values='value')

结果:

ticker Feature1 Feature2 Feature3
/cusip/xxxxxxxxx value1 value2 value3
/cusip/yyyyyyyyy value1 value2 value3