Acceso Simple a Datos
Descarga datos históricos de mercado con solo unas pocas líneas de código.
El Cliente Python de Quantdle es una librería fácil de usar que simplifica la descarga de datos desde Quantdle. Este cliente se ocupa de toda la complejidad de descarga, extracción y procesamiento de datos, proporcionándote DataFrames de pandas o polars limpios y listos para usar.
Acceso Simple a Datos
Descarga datos históricos de mercado con solo unas pocas líneas de código.
Alto Rendimiento
Descargas paralelas y chunking inteligente para descargas más rápidas.
Múltiples Formatos
Soporte para DataFrames tanto de pandas como de polars.
Configuración Cero
Funciona desde el primer momento con configuración mínima.
Instala el cliente Python de Quantdle usando pip:
pip install quantdle
pip install quantdle[polars]
Antes de usar el cliente Python, necesitarás obtener tus credenciales API desde el panel de Quantdle.
Así es como puedes empezar con el cliente Python de Quantdle en solo unas pocas líneas de código:
import quantdle as qdl
# Inicializa el cliente con tus credenciales APIclient = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Descarga datos para EURUSDdf = client.download_data( symbol="EURUSD", timeframe="H1", start_date="2023-01-01", end_date="2023-12-31")
# Muestra las primeras filasprint(df.head())
import quantdle as qdl
# Inicializa el cliente una vezclient = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Descarga diferentes símbolos y marcos temporalesxau_data = client.download_data("XAUUSD", "D1", "2023-01-01", "2023-12-31")eur_data = client.download_data("EURUSD", "H1", "2023-01-01", "2023-01-31")
Para conjuntos de datos grandes, los DataFrames de polars ofrecen mejor rendimiento y eficiencia de memoria:
import quantdle as qdl
client = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Obtener datos como DataFrame de polarsdf = client.download_data( symbol="XAUUSD", timeframe="D1", start_date="2023-01-01", end_date="2023-12-31", output_format="polars")
print(f"Forma de los datos: {df.shape}")print(df.head())
Antes de descargar datos, puedes verificar qué símbolos están disponibles para tu cuenta:
import quantdle as qdl
client = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Obtener todos los símbolos disponibles para tu cuentasymbols = client.get_available_symbols()print(f"Símbolos disponibles: {symbols}")
# Obtener información sobre un símbolo específicoinfo = client.get_symbol_info("EURUSD")print(f"EURUSD disponible desde {info['available_from']} hasta {info['available_to']}")
El cliente maneja automáticamente rangos de fechas grandes dividiéndolos en chunks más pequeños para evitar timeouts:
import quantdle as qdl
client = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Descarga 10 años de datos - será automáticamente dividido en chunksdf = client.download_data( symbol="EURUSD", timeframe="H1", start_date="2014-01-01", end_date="2023-12-31", chunk_size_years=5 # Descargar en chunks de 5 años)
Personaliza el comportamiento de descarga para un rendimiento óptimo:
import quantdle as qdl
client = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
# Personalizar comportamiento de descargadf = client.download_data( symbol="EURUSD", timeframe="M5", start_date="2023-01-01", end_date="2023-12-31", max_workers=8, # Aumentar descargas paralelas show_progress=True, # Mostrar barras de progreso chunk_size_years=3 # Chunks más pequeños para actualizaciones más frecuentes)
La API de Quantdle soporta los siguientes marcos temporales:
Marco Temporal | Descripción |
---|---|
M1 | 1 minuto |
M5 | 5 minutos |
M15 | 15 minutos |
M30 | 30 minutos |
H1 | 1 hora |
H4 | 4 horas |
D1 | 1 día |
El DataFrame devuelto contiene las siguientes columnas:
Columna | Tipo | Descripción |
---|---|---|
timestamp | datetime | Timestamp de la barra |
open | float | Precio de apertura |
high | float | Precio máximo |
low | float | Precio mínimo |
close | float | Precio de cierre |
tickvol | int | Volumen de ticks (número de nuevos ticks) |
volume | int | Volumen de trading |
spread | int | Spread promedio de la barra |
spreadmax | int | Spread máximo de la barra |
spread_open | int | Spread de apertura de la barra |
# Estructura de ejemplo de salida timestamp open high low close tickvol volume spread spreadmax spreadopen0 2023-06-30 15:34:00 1.08840 1.08867 1.08829 1.08861 389 369332000 4 7 21 2023-06-30 15:35:00 1.08862 1.08874 1.08849 1.08854 302 318511000 4 7 42 2023-06-30 15:36:00 1.08859 1.08880 1.08844 1.08851 281 339198000 3 7 13 2023-06-30 15:37:00 1.08851 1.08898 1.08849 1.08881 253 328819000 3 6 3...
El cliente incluye una gestión robusta de errores para escenarios comunes:
import quantdle as qdl
client = qdl.Client( api_key="tu-api-key", api_key_id="tu-api-key-id")
try: df = client.download_data( symbol="SIMBOLO_INVALIDO", timeframe="H1", start_date="2023-01-01", end_date="2023-12-31" )except ValueError as e: print(f"Parámetro inválido: {e}")except ConnectionError as e: print(f"Error de red: {e}")except Exception as e: print(f"Error inesperado: {e}")
Crea el cliente una vez y reutilízalo para múltiples descargas:
# Bueno: Crear cliente una vezclient = qdl.Client(api_key="...", api_key_id="...")
# Descargar múltiples conjuntos de datoseurusd = client.download_data("EURUSD", "H1", "2023-01-01", "2023-12-31")gbpusd = client.download_data("GBPUSD", "H1", "2023-01-01", "2023-12-31")
# Malo: Crear nuevo cliente para cada descarga# Esto es ineficiente y puede alcanzar límites de tasa
Guarda conjuntos de datos grandes localmente para evitar re-descargas:
import quantdle as qdlimport pandas as pd
client = qdl.Client(api_key="...", api_key_id="...")
# Descargar y guardar en archivodf = client.download_data("EURUSD", "H1", "2023-01-01", "2023-12-31")df.to_parquet("eurusd_h1_2023.parquet") # Formato binario eficiente
# Más tarde, cargar desde archivo en lugar de re-descargardf = pd.read_parquet("eurusd_h1_2023.parquet")
Sé consciente del rango de datos que estás solicitando:
# Bueno: Rango de fechas razonabledf = client.download_data("EURUSD", "H1", "2023-01-01", "2023-12-31")
# Considera cuidadosamente: Rango muy grandedf = client.download_data("EURUSD", "M1", "2020-01-01", "2023-12-31") # ¡4 años de datos por minuto!
Errores de Autenticación
Timeouts de Descarga
chunk_size_years
Problemas de Memoria con Conjuntos de Datos Grandes
output_format="polars"
para mejor eficiencia de memoriaSímbolo No Encontrado
get_available_symbols()
para verificar símbolos disponiblesSi encuentras problemas con el cliente Python:
Ahora que sabes cómo usar el cliente Python, explora estos temas relacionados:
Referencia de Símbolos
Integración MetaTrader