En el trading algoritmico existen millones de opciones para llevar a cabo tus analisis o backtests, pero vamos a utilizar el mejor quant stack para realizar una pipeline de research y backtesting profesional.
Que fue Quantopian?
Quantopian fue, un proyecto extremadamente ambicioso donde querian construir un crowd-sourced hedge fund rentable siguiendo la sugiente filosofia:
- Open Source: Todas las herramientas, tanto los codigos base, son libres (y ese es el motivo, que en 2023, este mas en forma que nunca)
- Infraestructura Profesional: Replicando softwares privados, y lanzandolos en produccion, facilitando y democratizando el proceso , y simplificando la tarea del researcher a investigar
- Educacion y Comunidad: Formando a la comunidad con contenido de alta calidad, tanto de sus propias herramientas, como de finanzas o programacion. Ademas de tener una comunidad de alta reputacion, explicando tematicas que con anterioridad eran muy opacas, y se consideraba como conocimiento empresarial de los fondos. (Facil ver a quants de wall streat en un hilo de un random).
Este mix perfecto fue aquiriendo valor, y fue recibiendo financiacion
- https://www.institutionalinvestor.com/article/2bsvz8k1h4id41opnf4lc/portfolio/steven-cohens-crowdsourced-quant-experiment-gets-real
- https://www.reuters.com/article/hedgefunds-cohen-quantopian-idUSKCN1071XI
El objetivo final era crear un hedge fund, basado en las ideas de la comunidad, y obtener rentabilidad .
Reunian a todas las grandes mentes de las finanzas cuantitativas en una sana comunida, incluso generaban un evento presencial anual del que hay en youtube muy buenos videos, como por ejemplo:
Todo este mix de variables, habian generado un ecosistema, donde era todo perfecto para el usuario. Pero quiza no tanto para la empresa…
La Gran Caida del Imperio de Quantopian
En la ultima fase de quantopioan. Los researchers que trabajabamos activamente en quantopian, disponiamos de datos fundamentales de factsheet, un data catalog, con multitud de datos alternativos en tiempo real, ademas abrieron la puerta a procedimientos de custom ingest bundles, con los cuales, podrias procesarte los datos y enviarlos para que te los sirvieran dentro del pipeline.
El abanico de posibilidades que abrieron fue abismal, y aqui fue donde empezo el fin.
Quantopian habia cortado el modo para llevar a produccion en una cuenta con capital simulado los algoritmos, de la noche a la mañana. Unicamente nos dejaban trabajar con cuentas reales. Tras hablar con ellos. Podria resumir su justificacion como:
” Estamos gastando X millones anuales, por crear la mejor comunidad jamas imaginada, y los retornos de los modelos, que pasan a la evaluacion, son lamentables”.
Con el paso del tiempo, devolvieron la totalidad de los fondos bajo gestion de clientes, y cerraron por completo el website. El creador fue directo hacia Robinhood, para ser CTO, y llevar toda su parte tecnologica. Dejando todo el codigo de quantopian libre, y sugiriendo hacer backups de todo, por que el iba a eliminarlo definitivamente. Acciones, que con perspectiva, y tras ver el modelo de negocio de Robinhoob, cobran muchisimo mas sentido.
En especial, cuando ahora, podemos evaluar con perspectiva este evento, y cuando alguien tenia alpha de verdad, se iba de quantopian, y lo colocaba por algun otro lado.En resumidas cuentas, en quantopian, estaba todo el mundo trabajando, a coste 0, desde el research, modelizacion, backtesting, y implantacion en real. Cuando encontraban una fuente de alpha, escapaban de quantopian. Generando un gran leak en su modelo de negocio. Dado que el objetivo final, es la creacion de un hedge-fund deslocalizado, con una fusion de alphas de todos los participantes. Pero la realidad, es que una vez tienes el alpha en las manos, la gente se iba… Y esa canibalizacion del modelo de negocio acabo muriendo de exito…
Volvemos a 2023
Quantopian fue totalmente abandonado en 2020, y el codigo ha dejado de ser mantenido de manera oficial. Y gracias a la comunidad existente una comunidad muy amplia la cual ha tomado uno de los siguientes caminos, para solucionar el gran shutdown de quantopian.
- Buscar una alternativa, como QuantRocket o Quantopian.
- Mantener Quantopian para que siga siendo compatible.
Las dos opciones son totalmente validas, pero vamos a centrarnos la opcion de mantener quantopian en 2023. Al elegir esta solucion disponemos de las siguientes ventajas:
- Control total : De la plataforma, del motor de backtest, de absolutamente todo, lo cual no existen limites para implatar cualquier tipo de estrategia
- Data Management: Somos totalmente responsables de los datos (y de toda la pipeline en general)
- Advanced Reporting. Ademas de poder hacer research y backtest, tambien podemos hacer factor analisis, para evaluar con determinacion la validez de un modelo.
El elegir mantener quantopian nos proporciona una base solida, para elaborar nuestros proyectos, y crear tecnologia con propiedad intelectual.
Nuestra Quant Stack
Ahora vamos a explicar todas las librerias necesarias. La creacion completa de una pipeline de calidad, robusta y estable, no es un proceso simple, y vamos a necesitar la colaboracion de diferentes herramientas para cada parte del proceso. Vamos a presentar el stack completo necesario para trading cuantitativo, trading algoritmico, research financiero, asset allocation etc…
Process Pipeline

Un ejemplo de Process Pipeline, denominada como ML4T Workflow, muestra como seria una pipeline minima para poder operar un modelo basado en Machine Learning, de una forma sensata. Dentro de muchas partes de la cadena, existen otras pipelines secundarias. Pero a grandes rasgos, la pipeline principal sigue un esquema muy similar a este en un entorno de produccion, En la fase de Research es muy parecida, pero omitiendo algunas partes no criticas del proceso.
El process Pipeline, o la “cadena de valor”, es todo el recorrido que realiza un dato, desde que es generado, hasta que se procesa una señal. Todo este proceso, podria tener un simil, con la produccion industrial, donde mediante la ingestion de unos inputs (en la industria serian, unas materias primas), y la elaboracion de diferentes procesos (en la industria serian las diferentes etapas de produccion), se consiguen unos outputs, en forma de ordenes (que en la industria seria el producto finalizado).
Ademas deberiamos añadir la gestion de la posicion, es decir, verificar que la posicion se comporta dentro de los limites esperados, y validad con informacion en tiempo real las pruebas para verificar que el modelo sigue vivo, y que no estamos inmersos en un proceso aleatorio sin ventaja ninguna.
Este a sido un resumen muy superficial, de algunas partes de la process pipeline basicas, que poco a poco iremos desgranando, cada vez iremos adentrandonos en el laberinto, para conocer sus limites y sus posibilidades.
Toolbox
La toolbox, son las herramientas mas relevantes necesarias para cada etapa del proceso. Ademas de las clasicas pandas, numpy, matplotlib,scipy etc… Utilizamos otro tipo de librerias mas especificas. Excepto Arcticdb, que sus dueños son la gestora de Man Group, especializados en hedge funds, el resto forma parte de la difunta quantopian, y en 2023 esta mas aguiles que nunca!
- Arcticdb : Financial Datalake, NoSQL Database para todo tipo de datos. Sin esquemas, versionado, cloud-by-definition via S3. Mediante esta parte se gestiona toda lo referente de datos.
- zipline-reloaded : Backtester and Research engine de Quantopian. Hay que realizar unos pequeños ajustes en el codigo de la libreria, para hacerlo funcional en 2023.
- alphalens-reloaded : Factor Reseach Analisis. Automatiza la generacion de los estimadores y ratios mas relevantes para la evalucion de un factor contra un conjunto de activos
- pyfolio-reloaded : Reporting Tool. Automatiza la generacion de reportes sobre backtests, tanto a nivel un activo, como a nivel portfolio, para todo tipo de activos.
- empyrical-reloaded: Herramienta que calcula todos los ratios estadisticos para evaluar el peformance de las estrategias.
ArcticDB
Mediante ArcticDB vamos a crear nuestro Datalake en la nube. Pudiendo acceder y descargar en formato dataframe en tiempo record, gracias a su peta-byte scale dataframe, siendo una opcion valida para almacenar todo tipo de datos, desde orderbooks, datos en ticks no agregados, o datos mensuales.


Al ser NoSQL puede almacenar todo tipo de informacion, y ser extremadamente eficiente para tratar y procesar toda la informacion. Ademas, ArcticDB es una solucion serverless, eliminando la necesidad de mantener un servidor para mantener una estructura de datos, realizando toda la carga computacional desde el cliente que realiza la peticion.
Como storea los datos ArcticDB?
Utiliza una estructura tipo clave-valor con la siguiente estructura.

Zipline
Zipline es una libreria de Python, utilizada para backtestear systemas mediante la tecnica del event-driven. Ha sido desarollado tanto para research, backtesting and live trading en quantopian. Ahora esta mantenido por la comunuidad, impulsado por Stefan Jansen.
Con Zipline, podemos hacer backtest, de todo lo que podamos programar. Es mas, Andreas Cleanow realizo todo el trabajo para adaptarlo a futuros, y lo libero, y hay otros mods como por ejemplo para backtestear opciones, derivados sobre energia (incluso utilizando las previsions de generacion solar y eolica en el mix teorico). El limite es la imaginacion humana.

Al ser un standar en la industria,muchas de las pipelines y softwares propietarios, parten de la base de pipeline, y el esquema interno clasico del funcionamiento de zipline es el siguiente
Este esquema, se modula en funcion a las necesidades, ademas permite programar nuevos bloques y añadirlos a la pipeline como si se se tratara de legos, dando versatilidad para desarollar cualquier tipo de estrategia imaginable. Por ejemplo, nosotros utilizamos arcticdb para recupilar nuestros datos, y con pocas lineas creamos una plataforma que interconecta nuestro datalake, con el backtester, proporcionandole gigas de datos de calidad para research y backtesting, de una forma extremadamente rapida, y sencilla de mantener. El Datalake lo vamos a crear aqui, en quantarmy
En siguientes entregas entraremos mas en profundidad en zipline, de momento con tener una idea superficial de las librerias, son mas que suficientes.
Alphalens
Alphalens automatiza el pipeline necesario para analizar factores a futuro. Calculando todos los factores en todos los periodos solicitados, y analizando los resultados. Una forma rapida, y robusta de modelizar una ventaja.
Denominamos Factor como el modelo utilizado para explicar (desde una deficion estadistica) los retornos del activo (usualmente, pero se puede fijar cualquier otro target). Mediante el factor, asignamos un valor a cada activo del universo, para poder ejectutar una pipeline, que de forma automatizada realiza un analisis de amplio espectro, facilitando la tarea del research, a unicamente verificar resultados.
Los factores clasicos suelen ser:
- Momentums, diferentes estimaciones
- Reversiones a la media, diferentes estimaciones
- Volatilidad, diferentes estimaciones
- Factores Fundamentales estilo, capitalizacion, sector, etc…
- Tecnicos: En funcion a un criterio, como unas bandas de volatilidad
- Estacionales: En funcion a ventantas temprales
- Sentimiento: En funcion a modelos de analisis o perecpcion de riesgo
- De cuarta generacion: Modelos basados en blackboxs de inteligencia artificial
- De quinta generacion : Con modelos basados en Autoaprendizaje completos (actuales)

Y meditante este tipo de analisis, podremos responder a las siguientes hipotesis:
- Esta el factor vivo (Es predictivo¿?)(Lo ha estado¿?)
- Como de predictivo es el factor
- Es consistente en el universo? o sobre ciertos activos
- Cuantos activos deberian ir, deberian haber cortos?
- Cual es el mejor holding period?
- Cual seria el turnover en funcion del period
- Como actuaria el factor, en diferentes niveles de volatilidad, de market cap del universo, a la beta, etc…
Mediante la metodologia cientifica, y y la prueba y error, generaremos hipotesis, que tendremos que validad de forma matematica, para poder avanzar en el proceso.
Pyfolio y Empirical
Mediante la combinacion de Pyfolio y Empirical, creamos una pipeline final de reporting, con un alto grado de personalizacion, que nos dara dos opciones.
- Utilizar los templates preseteados, que son mas aguiles de acceder
- Generar Templates personalizados para generar los informes totalmente personalizados (incluso darle imagen de marca)
Utilizaremos los templates preseteados, y aremos incursiones a como crear templates personalizados.
Y para diferenciar las dos librerias entre si, Pyfolio, es la plantilla predefinida que genera los reportes, y Empirical es la libreria que mediante los datos de los backtests, genera ratios, estadisticas, estimadores etc… necesarios para que Pyfolio genere el reporte.

Resumen
Mediante este conjunto de herramientas, creamos nuestro stack quant, que formara parte de nuestra pipeline. Esta pipeline los permitira investigar y backtestear todo tipo de modelos de una forma solida y segura
Proximamente
En las proximas entregas:
- Zipline, Backtesting en Python 2 : Mi primer Data Research
- Zipline, Backtesting en Python 3: Mi primear Pipeline
- Zipline, Backtesting en Python 4: Mi primer Backtest
- Zipline, Backtesting en Python 5: Mi primer Portfolio Report
- Riskfolio, Risk management en Python 6: Mi primer modelo Risk Management en Python
Otras Entradas Recomendadas