3 votos

¿Bibliotecas de Python para Bloomberg?

Soy muy nuevo en python, y estoy acostumbrado a trabajar con fórmulas de bloomberg para excel. Estoy empezando a usar mucho más python en mis análisis, ¿hay alguna biblioteca que realice las mismas funciones que bdp, bdh o bcurve? ¡Gracias! Juan

1 votos

No se puede utilizar BCurve ni ninguna otra función de DLIB en Python. Ni siquiera en el entorno de Bloomberg BQNT. Una buena alternativa sería utilizar QuantLib. Puedes construir curvas y valorar instrumentos igual que con DLIB.

1 votos

Bcurve es actualmente parte del kit de herramientas de curvas (CTK), que no está relacionado con DLIB. Dicho esto, el comentario anterior sigue siendo correcto. CTK, el kit de herramientas de swaps (STK) y el kit de herramientas de derivados (DTK) no se pueden utilizar con blpapi (solo las ofertas de datos premium te permitirían hacer esto).

5voto

David Radcliffe Puntos 136

He experimentado bastante con varias opciones.

Mi consejo es usar vanilla blpapi. Hay muchos buenos ejemplos en el repositorio de git. Algunas notas de instalación útiles también están aquí.

Existen paquetes construidos sobre eso, como pdblp que, en mi opinión, son muy buenos pero no son necesarios para la mayoría de las personas.

2voto

Crai Puntos 161

Blpapi como se mencionó, vale la pena aprenderlo seguro. Además, si estás buscando trabajar con Pandas te sugeriría usar TIA: https://github.com/bpsmith/tia

Actualmente, TIA solo es compatible con Python 2, pero aquí https://github.com/bpsmith/tia/issues/11 tiene una conversión a Python 3. He estado usando esto recientemente y es bastante bueno. Un ejemplo:

from tia.bbg import LocalTerminal
import tia.bbg.datamgr as dm
import datetime

sid = 'IBM US EQUITY'
event = 'TRADE'
dt = pd.datetools.BDay(-1).apply(pd.datetime.now())
start = pd.datetime.combine(dt, datetime.time(13, 30))
end = pd.datetime.combine(dt, datetime.time(21, 30))
f = LocalTerminal.get_intraday_bar(sid, event, start, end, 
interval=60).as_frame()
f.head(1)

      close     high    low   numEvents   open      time                value   volume
0   162.2500    162.70  161.51  4005    162.4900    2015-02-24 14:30:00  110345672  680888

El enlace de github de arriba tiene un montón de ejemplos también.

2voto

Chris Mc Puntos 31

Normalmente uso pybbg que también es un wrapper para blpapi.

Con una sesión de Bloomberg iniciada, simplemente importa y comienza una conexión

import pybbg as pybbg
bbg = pybbg.Pybbg()

Luego puedes usar bdp, bdh, bds y bdih.

bdp

bbg.bdp('PGB 1.95 06/15/2029 Govt', ['MATURITY', 'COUPON', 'ISSUE_DT', 'YLD_YTM_MID'])

inserta una descripción de la imagen aquí

Incluso puedes consultar acuerdos de SWPM...

pd.options.display.float_format = '{:,.2f}'.format
flds = ['SW_CURVE_DT', 'SW_MARKET_VAL', 'SW_CNV_BPV', 'VALUE_1_BP_CHANGE_IN_FIXED_CPN']
bbg.bdp('SLPA2EZJ Corp', flds)

inserta una descripción de la imagen aquí

...y proporcionar reemplazos

flds = ['SW_CURVE_DT', 'SW_MARKET_VAL', 'SW_CNV_BPV', 'VALUE_1_BP_CHANGE_IN_FIXED_CPN']
overrides = {'SW_CURVE_DT': '20190507'}
bbg.bdp('SLPA2EZJ Corp', flds, overrides)

inserta una descripción de la imagen aquí

bdh

bbg.bdh('EUR Curncy', 'PX_LAST', '20200525')

inserta una descripción de la imagen aquí

bds

bbg.bds('YCSW0045 Index', 'CURVE_TENOR_RATES')

inserta una descripción de la imagen aquí

bdib

from datetime import datetime
flds = ['close', 'high', 'low', 'open']
ticker = 'PGB 1.95 06/15/2029 Govt'
bbg.bdib(ticker, flds, datetime(2020,6,1,15,0), datetime(2020,6,1,15,30), eventType='ASK', interval = 5)

inserta una descripción de la imagen aquí

2voto

Jacob Jones Puntos 26

Pídele a tu representante de Bloomberg que te habilite para acceder a BQNT. Ellos enviarán una instancia de Python a tu equipo y podrás ir a la terminal y ejecutar BQNT

Obtendrás un entorno Jupyter que puede usar datos de Bloomberg

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X