Si llevas un tiempo dándole vueltas al trading algorítmico, tarde o temprano te toca enfrentarte a la pregunta del millón: ¿con qué librería hago el backtesting? Y como ocurre siempre en esto del desarrollo de estrategias, la respuesta es el clásico «depende». Pero tranquilos, que en este artículo vamos a intentar aclarar el panorama para que no tengáis que aprenderlo a base de palos como hemos tenido que hacer algunos…
Antes de listar las opciones, una reflexión rápida: elegir mal la herramienta puede costarte horas de frustración antes de escribir una sola señal de entrada. No es un tema menor. Así que vamos al lío.
¿Qué es una Librería de Backtesting y Para Qué la Quiero?
Pues básicamente es un framework que te permite simular cómo habría funcionado tu estrategia de trading en el pasado usando datos históricos. En lugar de ponerte a gestionar tú mismo la lógica de las órdenes, el capital, las comisiones y el registro de operaciones, la librería se encarga de todo eso por ti y encima te escupe métricas: Sharpe ratio, drawdown máximo, número de operaciones, etc.
Es, dicho de forma más simple, el simulador donde pruebas tus ideas antes de arriesgar ni un euro real.
El Estado del Arte: ¿Qué hay disponible?
Hay bastantes opciones en el ecosistema Python, pero siendo honestos, la mayoría o están abandonadas o tienen limitaciones que las hacen poco prácticas para uso serio. La tabla de abajo resume lo que hay:

De todas ellas, las dos únicas con actividad real en sus repositorios son Backtesting.py y VectorBT. El resto existen, tienen comunidad, y seguramente encontraréis tutoriales por ahí, pero meteros en un proyecto serio con una librería que nadie mantiene es buscaros problemas.
8 Librerías de Backtesting para Python
1. VectorBT: Para los que van en serio con la Optimización
VectorBT es, sin discusión, la librería más rápida que existe ahora mismo en Python para backtesting. Funciona de forma vectorizada —es decir, procesa todos los datos a la vez usando arrays de NumPy en lugar de ir barra a barra— y eso la hace especialmente potente cuando queréis hacer miles de iteraciones en cuestión de segundos.
¿Cuándo tiene más sentido usarla? Pues cuando el objetivo es optimización masiva de parámetros. Si queréis probar 500 combinaciones de medias móviles o un grid de parámetros para vuestro sistema de breakout, VectorBT las corre en el tiempo que otras librerías procesan 5. La diferencia de velocidad es brutal.
Ventajas:
- Velocidad de ejecución muy superior al resto
- Documentación excelente (de las mejores del ecosistema)
- Comunidad activa con muchos tutoriales disponibles
- Integración nativa con TA-Lib y Pandas-TA
Inconvenientes:
- Sintaxis bastante opinionada, cuesta acostumbrarse. Vais a tener la documentación abierta en otra pestaña durante un buen rato
- Las nuevas funcionalidades están detrás de un modelo de suscripción (VectorBT Pro). Es la única librería de backtesting de Python que tiene features de pago
- La naturaleza vectorizada complica ciertas estrategias con lógica recursiva, como trailing stops o gestión dinámica del tamaño de posición
Un detalle importante que poca gente menciona: VectorBT ejecuta las órdenes al precio de cierre de la barra por defecto. Esto genera un sesgo de look-ahead que puede inflar artificialmente vuestros resultados. Siempre ajustad este parámetro si queréis números que se correspondan con la realidad.
Más info: https://vectorbt.dev/
2. Backtesting.py: El Equilibrio entre Potencia y Usabilidad
Si VectorBT es el bólido de carreras, Backtesting.py es el coche que realmente usáis cada día. Su enfoque es event-driven —barra a barra, igual que funciona el mercado real— y eso lo hace mucho más intuitivo para traducir ideas a código.
Tiene soporte para múltiples timeframes, optimización de parámetros integrada, estrategias componibles y testing de modelos de machine learning. Y lo más importante: migrar una estrategia desde el backtesting a un entorno de live trading es mucho más natural precisamente porque la lógica es event-driven. No estáis trabajando con arrays sino con eventos, igual que cuando el mercado os manda un tick en producción.
Ventajas:
- Curva de aprendizaje muy suave, podéis tener vuestro primer backtest corriendo en menos de una hora
- Estructura lógica que se parece a cómo piensa un trader
- Gran comunidad y documentación
- Soporta trailing stops y otras lógicas recursivas sin complicaciones
- También conecta con TA-Lib y Pandas-TA
Inconvenientes:
- Más lento que VectorBT (irrelevante para estrategias simples, relevante si vais a hacer optimización masiva)
- No permite backtesting multi-activo simultáneo. Para pairs trading hay un workaround: expresar el precio de un activo en función del otro. No es lo más elegante del mundo, pero funciona
Más info: https://kernc.github.io/backtesting.py/
3. Backtrader
Backtrader fue durante mucho tiempo la referencia en Python para backtesting event-driven y a día de hoy sigue siendo una opción sólida si ya lo conocéis. Tiene un conjunto de funcionalidades muy rico, buena documentación, integración con TA-Lib para indicadores técnicos, y hasta aparece citado en papers académicos y libros sobre trading cuantitativo.
El problema gordo es que el proyecto lleva tiempo sin actualizaciones en su repositorio de GitHub. Si empezáis desde cero, probablemente os compense más ir directamente a Backtesting.py, que está activamente mantenido. Pero si ya tenéis código escrito en Backtrader y os funciona, no hay ninguna razón urgente para migrar.
Ventajas:
- Muy fácil de usar y con una estructura clara
- Permite testear estrategias multi-activo
- Integración con TA-Lib
- Comunidad muy activa y muchos recursos de aprendizaje disponibles
Inconvenientes:
- El proyecto ya no se mantiene ni desarrolla activamente
- Velocidad de ejecución baja comparada con las opciones modernas
Conclusión: Alternativa sólida a Backtesting.py, pero solo si ya lo conocéis.
Más info: https://www.backtrader.com/
4. Zipline
Zipline fue el motor de backtesting detrás de Quantopian, la plataforma de hedge funds crowdsourced que cerró en noviembre de 2020. Estaba considerado uno de los proyectos más completos y fiables del ecosistema en su momento, y su comunidad sigue viva a pesar del cierre de la plataforma.
El problema, además de que ya no se mantiene, es que su instalación no es precisamente un paseo. Tiene dependencias complicadas que pueden daros más de un dolor de cabeza dependiendo de vuestra configuración.
Ventajas:
- Enfoque event-driven relativamente fácil de usar
- Comunidad todavía activa
- Muchos recursos y tutoriales disponibles (herencia de la época Quantopian)
Inconvenientes:
- Proyecto sin mantenimiento desde que Quantopian cerró
- Instalación complicada
Conclusión: No lo recomendamos si no venís ya del ecosistema Quantopian.
Más info: https://github.com/quantopian/zipline
5. bt
bt es un backtester event-driven pensado especialmente para estrategias de cartera y rebalanceo, lo cual le da un nicho bastante concreto donde puede brillar. Es relativamente fácil de arrancar y el proyecto sigue teniendo cierta actividad, aunque irregular.
El punto flaco es su sintaxis bastante opinionada, que hace complicado implementar estrategias personalizadas que se salgan de su esquema. La documentación es incompleta y los tutoriales escasean, lo que lo convierte en una opción frustrante para quien no tenga ya cierta experiencia.
Ventajas:
- Relativamente fácil de empezar
- Conveniente para backtesting de carteras y estrategias de rebalanceo
- Proyecto con cierta actividad
Inconvenientes:
- Documentación pobre
- Sintaxis opinionada que dificulta la personalización
- Pocos recursos y tutoriales disponibles online
Conclusión: Candidato interesante para portfolios, pero necesita mejor documentación para recomendarlo sin reservas.
Más info: https://pmorissette.github.io/bt/
6. PyBacktest
PyBacktest es uno de los pocos backtesters vectorizados disponibles, lo que en teoría lo haría una alternativa ligera a VectorBT. En la práctica, es un proyecto inmaduro, sin documentación digna de ese nombre, con funcionalidades muy limitadas y sin desarrollo activo.
Si lo que buscáis es velocidad vectorizada, id directamente a VectorBT. No hay ningún argumento para elegir PyBacktest sobre él.
Ventajas:
- Enfoque vectorizado que permite cálculos rápidos
Inconvenientes:
- Sin mantenimiento ni desarrollo activo
- Funcionalidades muy limitadas
- Sin documentación
- Pocos recursos disponibles
Conclusión: No es la que recomendaría precisamente.
Más info: https://github.com/ematvey/pybacktest
7. PyAlgoTrade
PyAlgoTrade es un backtester event-driven que tiene la particularidad de permitir paper trading y live trading de criptomonedas en Bitstamp. Dicho esto, sus funcionalidades son claramente inferiores a las de los backtesters modernos, no tiene métricas ni gráficas decentes, y lleva tiempo sin desarrollo ni mantenimiento.
Ventajas:
- Permite trading en vivo y paper trading en Bitstamp
- Integra bien con TA-Lib
Inconvenientes:
- Funcionalidades muy limitadas comparadas con opciones actuales
- Sin métricas ni charting digno de ese nombre
- Sin desarrollo ni mantenimiento activo
Conclusión: Muy limitada y abandonada.
Más info: https://gbeced.github.io/pyalgotrade/
8. AlephNull
AlephNull es un módulo de backtesting construido sobre Zipline, el proyecto que estaba detrás de Quantopian. Comparte con él la filosofía event-driven y, también, el mismo problema: está completamente obsoleto, sin desarrollo ni comunidad activa detrás.
Ventajas:
- Enfoque event-driven intuitivo
Inconvenientes:
- Sin nuevas funcionalidades ni mantenimiento
- Sin comunidad activa
- Completamente obsoleto frente a las opciones modernas
Conclusión: En estado de abandono total y desfasada por completo.
Más info: https://github.com/CarterBain/AlephNull
¿Cuál Elijo?

Conclusión
Tras repasar el panorama completo, la sensación que queda es parecida a la del artículo que hicimos sobre APIs de datos financieros: hay muchas opciones sobre el papel, pero en la práctica el ecosistema útil se reduce bastante. Backtesting.py y VectorBT son las únicas dos librerías que podemos recomendar hoy para proyectos nuevos, y se complementan bien: una para desarrollar y llevar estrategias a producción, la otra para optimizar a lo bestia.
El resto tienen su historia, sus comunidades y sus tutoriales por ahí, pero apostar por una librería abandonada para un proyecto serio es un riesgo que no vale la pena.
¿Usáis alguna de estas librerías en vuestros proyectos? ¿Tenéis alguna alternativa que no hayamos mencionado? Podéis dejar vuestros comentarios abajo o continuar el debate en el Foro.
Saludos,
X-Trader







