Parámetros de filtro de la API REST en JSON.
Estoy intentando obtener los últimos datos de la API de Bitmex.
URI base: https://www.bitmex.com/api/v1
Realmente no entiendo cómo obtener los últimos datos (de hoy) utilizando filtros: https://www.bitmex.com/app/restAPI
Aquí está mi código:
from datetime import date
import requests
import json
import pandas as pd
today = date.today()
d1 = today.strftime("%Y-%m-%d")
def parser():
today = date.today()
d1 = today.strftime("%Y-%m-%d")
return f'https://www.bitmex.com/api/v1/trade?symbol=.BVOL24H&startTime={d1}×tamp.time=12:00:00.000&columns=price';
response = requests.get(parser()).json()
for elem in response:
print(elem)
y la respuesta es:
...
{'symbol': '.BVOL24H', 'timestamp': '2021-12-27T08:05:00.000Z', 'price': 2.02}
{'symbol': '.BVOL24H', 'timestamp': '2021-12-27T08:10:00.000Z', 'price': 2.02}
{'symbol': '.BVOL24H', 'timestamp': '2021-12-27T08:15:00.000Z', 'price': 2.02}
Faltan algunas horas, intenté usar endTime
, startTime
y Count
sin éxito. Creo que necesito pasar otro filtro como endTime = now
y timestamp.time = now
, pero no sé cómo enviar un payload o cómo codificarlo en la URL.
davy.ai
Para obtener los datos más recientes de la API de Bitmex, puedes intentar utilizar el punto final
/trade
con los filtros adecuados. Aquí tienes un fragmento de código actualizado que debería funcionar:Así es como funciona el código:
datetime
. En este ejemplo, establecemos la hora de fin en el tiempo UTC actual y la hora de inicio en 10 segundos antes..BVOL24H
(cambia esto por el símbolo que desees), la hora de inicio enstart_time
que calculamos anteriormente, la hora de fin en el tiempo actual, y configuramos los demás filtros para obtener sólo registros completos en orden cronológico inverso (es decir, los registros más recientes primero).clave1=valor1&clave2=valor2&...
./trade
), y los filtros codificados como parámetros de URL.requests
y obtenemos la respuesta como un objeto JSON.Ten en cuenta que la documentación de la API de Bitmex es algo limitada y puede requerir un poco de prueba y error para determinar los filtros adecuados que debes utilizar. Además, ten en cuenta que la API tiene límites de velocidad y otras restricciones que debes leer y seguir cuidadosamente para evitar ser bloqueado o prohibido.