Vibe Coding #1 - Backtest Estrategias de Trading con Claude Code | CLI Python para IA

Construimos un agente IA con Claude Code que ejecuta experimentos de backtesting de forma autónoma. Creamos herramientas CLI, configs YAML y un dashboard Streamlit para visualizar el rendimiento de estrategias.

21 de enero de 2026 16:00 CET EN
pythonai-agentsalgorithmic-tradingbacktestingllm

Recibe actualizaciones semanales

Sesiones de live coding, librerías Python para datos energéticos y tutoriales prácticos. Un email por semana, sin relleno.

Resultado

Ejecutamos 100+ backtests en 7 acciones en minutos - manualmente habría tomado horas.

El problema

  • Probar estrategias manualmente es tedioso: ejecutar, registrar, cambiar parámetros, repetir
  • Las combinaciones de parámetros explotan rápido (3 acciones × 5 estrategias × varios params = 100+ ejecuciones)
  • Los resultados quedan dispersos, difíciles de comparar

La solución

Partimos de los materiales de mi curso en LinkedIn Learning como referencia. El curso cubre backtesting de estrategias y optimización de parámetros - el heatmap muestra cómo diferentes combinaciones de parámetros afectan los retornos.

Heatmap de optimización de estrategias del curso

La librería backtesting.py proporciona un dashboard interactivo mostrando curvas de equity, drawdowns y marcadores de trades para cada ejecución de estrategia.

Dashboard interactivo de backtesting.py

Setup del proyecto

Claude Code generó toda la estructura - CLI con Typer, implementaciones modulares de estrategias, ejecución basada en proyectos. Cada estrategia vive en su propio módulo, y un gestor de proyectos coordina la ejecución de experimentos en todas las combinaciones.

Construyendo el dashboard Streamlit con Claude Code

La clave

Los configs YAML definen la matriz de experimentos. Especificas símbolos, estrategias y rangos de parámetros - el sistema expande todas las combinaciones y las ejecuta automáticamente:

# config.yaml
symbols: [AAPL, MSFT, GOOGL]
strategies:
  sma:
    fast_period: [10, 20]
    slow_period: [50, 100]
  rsi:
    oversold: [30]
    overbought: [70]

Este config genera 3 acciones × (4 combos SMA + 1 combo RSI) = 15 backtests.

Ejecutando experimentos

Crear un nuevo proyecto con las acciones objetivo:

uv run backtest project create portfolio --symbols AAPL,MSFT,GOOGL

Ejecutar todas las combinaciones de estrategias en todas las acciones:

uv run backtest project run portfolio

Resultados de simulación después de ejecutar backtests

Lanzar el dashboard para visualizar resultados:

uv run streamlit run frontend/app.py

Probamos esto en las Magnificent 7. El dashboard Streamlit muestra los resultados como matriz - qué estrategia funciona mejor en cada acción, con Sharpe ratio, max drawdown y win rate.

Dashboard Streamlit mostrando rendimiento de estrategias

Referencia

Estrategias

EstrategiaParámetrosLógica
SMAfast_period, slow_periodCompra cuando rápida cruza sobre lenta
RSIrsi_period, oversold, overboughtCompra cuando RSI < oversold
MACDfast, slow, signalCompra cuando MACD > signal
Bollingerbb_period, bb_stdCompra en banda inferior
Breakoutentry_period, exit_periodCompra en máximo de N días

Estructura del proyecto

backend
cli.pyCLI con Typer
strategiesSMA, RSI, MACD, Bollinger, Breakout
runnerEjecución de backtests
projectGestión de proyectos
frontend
app.pyDashboard Streamlit
data/projects/{name}
config.yamlDefinición de experimentos
summary.yamlResultados agregados
results/{run_id}Outputs por ejecución

Recursos

  • Curso LinkedIn Learning - materiales de referencia sobre los que construimos
  • backtesting.py - motor de backtesting para ejecutar estrategias
  • yfinance - obtención de datos históricos de acciones
  • uv - gestor de paquetes Python (rápido, maneja entornos virtuales)
  • Typer - framework CLI para el comando backtest
  • Streamlit - dashboard para visualizar resultados
Índice
Buscar sección

Usamos cookies para mejorar tu experiencia y analizar el uso del sitio. Puedes gestionar tus preferencias en cualquier momento.