Как передать временной ряд xbbg/blpapi Bloomberg в фрейм данных pandas?

#python #pandas #bloomberg #blpapi

Вопрос:

Я использую xbbg и blpapi для извлечения временных рядов непосредственно из Bloomberg и хотел бы превратить их в фрейм данных pandas, чтобы иметь возможность выполнять некоторый анализ временных рядов. Я был бы очень признателен за любые предложения, так как я очень начинающий пользователь. Мой код выглядит следующим образом:

Я застрял с тем, как передать вывод blp в фрейм данных pandas! Огромное спасибо.

 #Import Bloomberg API
import blpapi as BBG
#Import xbbg
from xbbg import blp
#Import pandas
import pandas as pd
#Pull monthly price time series
blp.bdh(
tickers='SPX Index', flds=['Last_Price','EQY_FUND_CRNCY=CAD'],
start_date='2020-12-31', end_date='2021-05-31',
Per='M',
)
#?Now how to pass into pandas DataFrame???
 

Комментарии:

1. У меня есть одна файловая оболочка, которая, я думаю, проще, чем xbbg, и должна достичь того, чего вы хотите github.com/alex314159/blpapiwrapper

2. @ alex314159 — Спасибо за ваш ответ, но, к сожалению, у меня нет прав администратора и я не могу загружать новые библиотеки. Мне потребовалась пара недель, чтобы получить одобрение для blpapi, xbbg, numpy и pandas. Я надеялся найти решение, используя то, что у меня есть.

3. Разве blp.bdh() уже не возвращает фрейм данных? df=blp.bdh(...) затем print(type(df))

Ответ №1:

Функция blp.bdh() уже возвращает фрейм данных, содержащий результаты. Дополнительная обработка не требуется:

 from xbbg import blp

#Pull monthly price time series
df = blp.bdh(tickers='SPX Index', flds=['Last_Price','EQY_FUND_CRNCY=CAD'],
             start_date='2020-12-31', end_date='2021-05-31',Per='M')

print(df)
 

доходность:

     SPX Index
           Last_Price
2020-12-31    3756.07
2021-01-29    3714.24
2021-02-26    3811.15
2021-03-31    3972.89
2021-04-30    4181.17
2021-05-31    4204.11