Técnicas de Machine Learning para el trading automatizado de criptomonedas

Espín Barreda, David (2022). Técnicas de Machine Learning para el trading automatizado de criptomonedas. Trabajo Fin de Grado / Proyecto Fin de Carrera, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Descripción

Título: Técnicas de Machine Learning para el trading automatizado de criptomonedas
Autor/es:
  • Espín Barreda, David
Director/es:
  • Martín García, Alejandro
Tipo de Documento: Trabajo Fin de Grado o Proyecto Fin de Carrera
Grado: Grado en Ingeniería del Software
Fecha: Julio 2022
Materias:
ODS:
Palabras Clave Informales: Criptomonedas; Machine learning; Trading automatizado
Escuela: E.T.S.I. de Sistemas Informáticos (UPM)
Departamento: Sistemas Informáticos
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[thumbnail of TFG_DAVID_ESPIN_BARREDA.pdf] PDF (Portable Document Format) - Acceso permitido solamente a usuarios en el campus de la UPM - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (1MB)

Resumen

Hoy en día la realización de trading sigue siendo una práctica que requiere emplear mucho tiempo para su correcta realización, no obstante, gracias al aumento de recursos disponibles de los últimos años, la posibilidad de automatizar el trading es algo que está al alcance de un mayor número de personas. Por otro lado, en los últimos años se ha popularizado la inversión con un nuevo tipo de dinero, las criptomonedas, las cuales suelen presentar grandes variaciones en su precio, si se consigue predecir sus precios futuros se pueden llegar a obtener beneficios. Este proyecto se ha llevado a cabo con el objetivo de aprovechar los factores anteriores, para ello se ha implementado una herramienta que permite automatizar la compraventa de criptomonedas. Esta herramienta se basa en los resultados obtenidos por las predicciones realizadas con modelos de Machine Learning, en concreto, se han utilizado dos tipos de redes neuronales recurrentes: LSTM y GRU. El entorno sobre el que se ha desarrollado esta herramienta ha sido Google Colab y la implementación ha sido realizada con Python. Para obtener los datos de las criptomonedas se ha utilizado la API REST V3 de Binance. La herramienta se ha creado para dar soporte a varias configuraciones con el objetivo de facilitar su uso y personalización por otros desarrolladores. La herramienta se ha diseñado para proveer un entorno que facilita la evaluación, la configuración de la estrategia y la realización de pruebas para el trading. Se ha implementado un trading simulado y también se da soporte para realizar trading real. Además, se ha añadido una funcionalidad que permite probar y obtener resultados con múltiples combinaciones de parámetros como el intervalo de las velas, la criptomoneda elegida o incluso variantes de modelos distintos.Durante el proceso de machine learning se han añadido a los datos nuevas características propias, indicadores técnicos y estrategias usadas en trading. Es preciso destacar que se ha seguido un proceso adaptado para series temporales con el objetivo de reducir el riesgo de una fuga de datos. Finalmente, se ha escogido una combinación de parámetros estándar para hacer predicciones con la herramienta y se han mostrado las funcionalidades principales de la misma. Los resultados obtenidos indican que las predicciones realizadas mantienen un error muy distante del precio real, en consecuencia, la combinación elegida en este trabajo no debería ser usada en un entorno de trading real automatizado.
Abstract:
Nowadays, trading is still a practice that requires a lot of time for its correct performance, however, thanks to the increase of available resources in recent years, the possibility of automating trading is something that is available to a greater number of people. Additionally, in recent years investment with a new type of money has become popular, cryptocurrencies, which tend to have large variations in price, if you can predict their future prices you can get to make profits. This project has been carried out with the aim of taking advantage of the above factors, for this purpose a tool has been implemented to automate the buying and selling of cryptocurrencies. This tool is based on the results obtained by the predictions made with Machine Learning models, specifically, two types of recurrent neural networks have been used: LSTM and GRU. The environment used to develop this tool has been Google Colab with the Python programming language for the implementation. Binance's REST V3 API has been used to obtain the cryptocurrency data. The tool has been created to support many configurations in order to facilitate its use and customization by other developers. The tool has been designed to provide an environment that facilitates evaluation, strategy setup and testing for trading. Simulated trading has been implemented and support for real trading is also provided. Furthermore, a functionality has been added that allows testing and obtaining results with multiple combinations of parameters such as candlestick interval, chosen cryptocurrency or even different model variants. During the machine learning process, new proprietary features, technical indicators and strategies used in trading have been added to the data.It should be noted that an adapted process for time series has been followed in order to reduce the risk of data leakage. Finally, a combination of standard parameters has been chosen to make predictions with the tool and to show the main functionalities of the tool. The results obtained indicate that the predictions made maintain an error very distant from the actual price, consequently, the combination chosen in this work should not be used in a real automated trading environment.

Más información

ID de Registro: 71532
Identificador DC: https://oa.upm.es/71532/
Identificador OAI: oai:oa.upm.es:71532
Depositado por: Biblioteca Universitaria Campus Sur
Depositado el: 02 Sep 2022 05:30
Ultima Modificación: 02 Sep 2022 05:30