Saltar al contenido

Lección 1 de 20 · Lectura y práctica

Configurar entorno Python con librerías esenciales

Concepto claveConfigurar un entorno Python robusto para trading algorítmico es como preparar un taller de mecánica de alta precisión. No basta con tener las herramientas básicas; necesitas un espacio organizado donde cada.

Del concepto a la práctica

Taller de esta lección

Un entorno aislado evita que una actualización de otro proyecto cambie el comportamiento de este bot. La decisión importante es separar dependencias de desarrollo, datos y ejecución, y registrar solo las librerías realmente utilizadas.

Ejemplo resuelto

Para un ejercicio local, crea un entorno y comprueba una importación mínima:

bash
python -m venv .venv
source .venv/bin/activate
python -m pip install pandas
python -c "import pandas as pd; print(pd.__version__)"

La salida debe mostrar una versión instalada en ese entorno, no una cifra predeterminada. Guarda después la lista de dependencias que efectivamente probaste.

Pruébalo

  1. Crea una carpeta vacía para el ejercicio.

  2. Activa un entorno virtual con el comando correspondiente a tu sistema.

  3. Instala solo pandas y ejecuta una importación.

  4. Registra el resultado y desactiva el entorno.

Comprueba tu resultado

Error frecuente: instalar paquetes globalmente y creer que el entorno está aislado. Corrección: comprueba que el ejecutable activo pertenece a .venv.

Ejercicio: añade una pequeña tabla con dos precios y calcula su media. Resultado esperado: la importación funciona dentro del entorno y la media de 100 y 110 es 105.

Prueba cronológica de una estrategia con datos históricos, costes y riesgo antes de validarla en otro periodo.
CursaloMapa de práctica
Probar una estrategia sin dinero real

Una simulación utiliza datos históricos y debe incluir comisiones y deslizamiento. Separar el periodo de desarrollo del de validación reduce el ajuste al pasado. Examina pérdidas y caídas además del resultado; una prueba histórica no garantiza ganancias futuras.

Ver la infografía en tamaño completo ↗

Concepto clave

Configurar un entorno Python robusto para trading algorítmico es como preparar un taller de mecánica de alta precisión. No basta con tener las herramientas básicas; necesitas un espacio organizado donde cada instrumento esté calibrado y accesible para operaciones críticas. En el contexto del desarrollo de bots, esto significa crear un entorno virtual aislado que gestione dependencias específicas sin conflictos con otros proyectos, e instalar librerías esenciales que funcionen como tus herramientas de trabajo diarias.

Imagina que estás construyendo un robot trader que debe ejecutar órdenes en tiempo real. Si tu entorno tiene versiones incompatibles de librerías, es como darle una llave inglesa desgastada a un mecánico: el resultado será impreciso y potencialmente costoso. Las librerías clave como python-binance para la conexión API, pandas para el manejo de datos, y ta-lib para indicadores técnicos, deben coexistir en armonía. Este aislamiento previene el "efecto dominó" donde un cambio en un proyecto afecta a otros, garantizando estabilidad en producción.

Cómo funciona en la práctica

Vamos a desglosar el proceso en pasos concretos, asumiendo que ya tienes Python 3.8+ instalado. Primero, crea un directorio dedicado para tu proyecto de bot, por ejemplo, trading_bot_binance. Dentro, inicializa un entorno virtual usando venv, que es la forma estándar de Python para aislar dependencias. Activa este entorno y procede a instalar las librerías esenciales mediante pip, el gestor de paquetes.

Un error común es instalar todo globalmente; en su lugar, usa un archivo requirements.txt para documentar y replicar tu configuración. Esto es crucial para colaboraciones o despliegues en servidores. Por ejemplo, después de instalar cada librería, actualiza este archivo con pip freeze > requirements.txt. Así, cualquier desarrollador (o tu futuro yo) puede reconstruir el entorno exacto con un solo comando, asegurando consistencia desde desarrollo hasta producción.

Código en acción

Aquí tienes un ejemplo funcional que configura el entorno e instala las librerías básicas. Copia y pega estos comandos en tu terminal, línea por línea:

# Paso 1: Crear directorio y entrar en él
mkdir trading_bot_binance
cd trading_bot_binance

# Paso 2: Crear entorno virtual (en Linux/Mac)
python3 -m venv venv
# En Windows: python -m venv venv

# Paso 3: Activar entorno virtual
# En Linux/Mac:
source venv/bin/activate
# En Windows: venv\Scripts\activate

# Paso 4: Instalar librerías esenciales
pip install python-binance pandas numpy ta-lib matplotlib

# Paso 5: Crear archivo requirements.txt para replicabilidad
pip freeze > requirements.txt

Ahora, para verificar que todo funciona, crea un script Python simple que pruebe la conexión básica (sin claves reales aún):

# test_env.py
from binance.client import Client
import pandas as pd

# Cliente público para pruebas (sin autenticación)
client = Client()

# Obtener datos de ticker de Bitcoin
btc_ticker = client.get_ticker(symbol='BTCUSDT')
print("Precio de BTC/USDT:", btc_ticker['lastPrice'])

# Crear un DataFrame simple con pandas
data = {'asset': ['BTC', 'ETH'], 'price': [btc_ticker['lastPrice'], '3500']}
df = pd.DataFrame(data)
print(df)

Errores comunes

  • No usar entorno virtual: Instalar librerías globalmente causa conflictos de versiones. Solución: Siempre inicia con python -m venv venv y actívalo antes de instalar nada.
  • Versiones incompatibles de TA-Lib: TA-Lib requiere instalación previa de bibliotecas C. En Linux, usa sudo apt-get install ta-lib; en Mac, brew install ta-lib; en Windows, descarga el binario oficial. Luego, pip install ta-lib.
  • Olvidar el archivo requirements.txt: Sin él, replicar el entorno es adivinar. Solución: Ejecuta pip freeze > requirements.txt tras cada cambio importante y compártelo en tu repositorio.
  • Problemas de permisos en Windows: Al activar el entorno, si aparece un error de ejecución de scripts, ejecuta PowerShell como administrador y usa Set-ExecutionPolicy RemoteSigned temporalmente.
  • No probar la configuración: Asumir que todo funciona sin verificación lleva a fallos tarde. Solución: Corre un script de prueba como el anterior tras la instalación.

Checklist de dominio

  1. ¿Creaste un entorno virtual con venv y lo activaste correctamente?
  2. ¿Instalaste python-binance, pandas, numpy, ta-lib y matplotlib sin errores?
  3. ¿Generaste un archivo requirements.txt actualizado con pip freeze?
  4. ¿Verificaste que TA-Lib funcione importándolo en Python (import talib sin errores)?
  5. ¿Probaste una conexión básica a Binance API con un cliente público?
  6. ¿Manejaste datos con pandas en un DataFrame simple?
  7. ¿Documentaste los pasos en un README para referencia futura?

Configura un entorno reproducible y prueba la conexión con Binance

Sigue estos pasos para crear un entorno de desarrollo funcional y verificar que puedes interactuar con Binance API:

  1. Crea un nuevo directorio llamado mi_bot_trading y navega a él en tu terminal.
  2. Inicializa un entorno virtual dentro de este directorio usando python -m venv env (o un nombre similar).
  3. Activa el entorno virtual según tu sistema operativo (ej., source env/bin/activate en Linux/Mac).
  4. Instala las siguientes librerías usando pip: python-binance==1.0.17, pandas==1.5.3, numpy==1.24.3, matplotlib==3.7.1. Si TA-Lib está disponible, instálala también; si no, omítela por ahora.
  5. Genera un archivo requirements.txt que liste todas las dependencias instaladas.
  6. Crea un archivo Python llamado prueba_conexion.py que importe Client de binance, cree una instancia pública, y obtenga el ticker para el par ETHUSDT. Imprime el último precio y el volumen en 24h.
  7. Ejecuta el script y asegúrate de que no hay errores. Captura la salida en un archivo de texto o anótala.
Pistas
  • Si tienes problemas con TA-Lib, puedes saltarla inicialmente y enfocarte en las otras librerías para la conexión básica.
  • Usa client.get_ticker(symbol='ETHUSDT') para obtener los datos; revisa la documentación de python-binance si necesitas más campos.
  • Verifica que tu entorno virtual esté activado mirando el prompt de la terminal; debería mostrar el nombre del entorno al inicio.

Evalua tu comprension

Completa el quiz interactivo de arriba para ganar XP.

Práctica acompañada: Automatiza una tarea verificable

Python, archivos CSV y pruebas pequeñas. Usa este cuaderno como práctica complementaria de la ruta; el material original de la lección continúa siendo tu referencia.

Python, archivos CSV y pruebas pequeñas: Entrada, Función, Salida, Prueba
De la idea al resultado: una secuencia para practicar y revisar.

Práctica: añade una salida reutilizable

Amplía el programa para escribir un nuevo archivo resumen.csv con encabezados categoria,total_centavos. No cambies resumir: añade una función que reciba su resultado y escriba la salida. Ejecuta dos veces y comprueba que no acumula filas duplicadas.

Después agrega una categoría con acento y una cantidad de dos dígitos. Comprueba que la codificación y la conversión siguen funcionando. Para automatizaciones de carpetas, aplica primero este patrón en una carpeta de prueba. Genera un informe de qué se cambiaría antes de habilitar operaciones de escritura sobre archivos importantes.

Comprueba tu entrega

Entrega el programa, la prueba, un ejemplo de entrada y un README con el comando exacto. Indica qué hace ante un archivo inexistente, una columna ausente o un valor inválido. La confiabilidad viene de conocer esos límites, no de añadir muchas funciones.

Sigue con Desarrollo de Bots de Trading Algorítmico con Python y Binance API

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.