Llopis Olmos, Alberto Alejandro
Organizational Units
Job Title
Last Name
First Name
ORCID
Personal page
Name
Email Address
Search Results
Framework en python para el backtesting de algoritmos de inversión en el mercado de valores
2023-09-18, Llopis Olmos, Alberto Alejandro, Busquets Mataix, José Vicente, Meneses González, Kevin Moisés, Dpto. de Informática de Sistemas y Computadores, Instituto Universitario de TecnologÃas de la Información y Comunicaciones, Centro de Investigación en Gestión e IngenierÃa de Producción, Escuela Técnica Superior de IngenierÃa Informática
[ES] Para el desarrollo de estrategias de inversion en bolsa, es muy arriesgado ponerlas en funcionamiento luego de crearlas. Es necesaria una estimacion de sus posibles resultados, de donde nace la idea de backtesting: con datos pasados, comprobar que resultados habria obtenido el algoritmo. De esta forma podemos obtener una estimacion del riesgo y de los beneficios que tiene el algoritmo. El proceso de backtesting requiere de un proceso extenso: la recogida de datos pasados, el procesamiento de los mismos, para asegurar su validez y que estan en el timeframe en el que funciona nuestro algoritmo, separacion de los datos para entrenamiento y test, para tener diferentes casos con los que estimar el rendimiento, el proceso de simulacion de la operativa, y por ultimo el analisis de resultados. Cada una de estas fases es compleja en si misma, pero no existen estandares para el desarrollo completo del proceso. En este documento se enseñaran las librerias de codigo estandar para cada una de estas fases, asi como sus ventajas y desventajas frente a sus alternativas. Para cada fase se facilitaran implementaciones de metodos de muy alta conveniencia, ya que muchas de las herramientas proporcionadas a continuacion no estan especializadas para el analisis de datos en bolsa. Para la obtencion de datos existen muchas posibles fuentes: pandas, kaggle y binance entre muchas otras. Para la recepcion y procesamiento de estos datos se usara python, en concreto pandas. Esta libreria es un estandar para la ciencia de datos y permite una manipulacion y visualizacion rapida de datos. Existen otras muchas alternativas, y se usaran sus ventajas en conveniencia para el desarrollo del framework. Para el proceso de backtesting, existe la libreria backtesting, un estandar de evaluacion de algoritmos en bolsa en python, que expandiremos con indicadores de riesgo como la simulacion de montecarlo, o indicadores de rendimiento como el ratio de ganancia frente al mercado. Los resultados que proporciona el backtesting son fundamentales para la decision de puesta en marcha en tiempo real de la estrategia. Un analisis o desarrollo incorrectos puede suponer la perdida total del capital.