Pydon Bloomberg API pdblp solicitud intradía

pdblp permite solicitudes históricas diarias de Bloomberg a través de:

con = pdblp.BCon(debug=False) con = start() df = con.bdh(['SPY Equity'], 'PX_LAST', '20150103', '20150619') 

¿Cómo se pueden realizar solicitudes intradía de precio / volumen / interés abierto, etc.?

Comportamiento deseado similar al siguiente, el precio en intervalos de 15 minutos.

 df = con.bdh(['SPY Equity'], 'PX_Last', ... , periodSelection = 'MINUTE', period=15) 

¿Has mirado el ejemplo de Python de solicitud intradía? Debe especificar el tiempo en su solicitud.

 def sendIntradayTickRequest(session, options): refDataService = session.getService("//blp/refdata") request = refDataService.createRequest("IntradayTickRequest") # only one security/eventType per request request.set("security", options.security) # Add fields to request eventTypes = request.getElement("eventTypes") for event in options.events: eventTypes.appendValue(event) # All times are in GMT if not options.startDateTime or not options.endDateTime: tradedOn = getPreviousTradingDate() if tradedOn: startTime = datetime.datetime.combine(tradedOn, datetime.time(15, 30)) request.set("startDateTime", startTime) endTime = datetime.datetime.combine(tradedOn, datetime.time(15, 35)) request.set("endDateTime", endTime) else: if options.startDateTime and options.endDateTime: request.set("startDateTime", options.startDateTime) request.set("endDateTime", options.endDateTime) if options.conditionCodes: request.set("includeConditionCodes", True) print "Sending Request:", request session.sendRequest(request) 

No estoy exactamente seguro de lo que está tratando de hacer, si desea un historial de intradía, use lo anterior y agregue los parámetros para la temporización de intradía en su solicitud. Luego analizar la salida. Sin embargo, si está buscando realizar alguna función basada en la transmisión en vivo, la forma en que lo he hecho es configurar un trabajo cron en el script de Python que toma la velocidad / seguridad cada X minutos y la guarda en una base de datos. No estoy seguro si estás buscando hacer una función en tiempo real, o simplemente tirar de los históricos.

IntradayTickRequests no se admite actualmente en pdblp, pero si no desea utilizar la API principal, dentro de pdblp intente esto y debería funcionar:

 df3 = con.bdib('SPY Equity', '2015-06-19T09:30:00', '2015-06-19T15:30:00', eventType='TRADE', interval=15) df3.head() 

Hazme saber si he leído mal tu pregunta.

La hora de inicio y la hora de finalización deben estar en la zona horaria UTC. Por lo tanto, se deben hacer un poco de conversiones, y también se deben tener en cuenta los ahorros de luz diurna.

Usar xbbg cambio es mucho más fácil:

 In [1]: from xbbg import blp In [2]: blp.bdib(ticker='SPY US Equity', dt='2018-11-20').tail() Out[2]: ticker SPY US Equity field open high low close volume num_trds 2018-11-20 15:57:00-05:00 264.42 264.49 264.35 264.41 590775 2590 2018-11-20 15:58:00-05:00 264.42 264.42 264.26 264.27 1005241 3688 2018-11-20 15:59:00-05:00 264.26 264.48 264.12 264.15 4227150 7886 2018-11-20 16:09:00-05:00 264.12 264.12 264.12 264.12 0 1 2018-11-20 16:15:00-05:00 264.12 264.12 264.12 264.12 0 1 

Necesita el ticker de capital completo aquí para encontrar la zona horaria de intercambio.