Skip to content

Desarrollamos un bot utilizando algoritmos de trading y estadística descriptiva para apoyar a la toma decisiones de venta o compra de criptomonedas con el objetivo de generar rentabilidad.

Notifications You must be signed in to change notification settings

pabloing93/Trading-Robot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trading Robot 🤖

Tecnologías utilizadas 📊

Pandas

Pandas es una biblioteca esencial para el análisis y manipulación de datos en Python. Muy utilizada en proyectos de Ciencia de Datos.

BeautifulSoup (bs4)

BeautifulSoup es una biblioteca utilizada para técnicas de webscraping. La utilizamos en nuestro proyecto para obtener datos de Coinmarket.

Matplotlib Pyplot

Una biblioteca de visualización de datos en Python. Nos facilita la creación de gráficos y mejor comprensión de la distribución de los datos a través de visualizaciones.

Yfinance

Yfinance es una herramienta open source que nos proporciona una API para acceder a datos financieros y del mercado en tiempo real.

Etapas del algoritmo

Configuración del ambiente

Important

Se requiere instalar las tecnologías necesarias para poder ejecutar el proyecto de manera local

pip install pandas, matplotlib, yfinance, beautifulsoup4

Obtencion de datos 📁

La función importar_base_bitcoin() utiliza la API de yfinance para obtener datos históricos de Bitcoin durante los últimos 7 días con intervalos de 5 minutos. Llamamos a la función y almacenamos su valor en una variable como se muestra a continuación:

image


 code link 

La función extraer_tendencias() recibe como parámetro "BTC" que es el símbolo de la moneda de la cuál extraeremos la información del precio y la tendencia. Llamamos a la función y almacenamos su valor en una variable como se muestra a continuación:

image image


 code link 

Procedimiento: Utilizando el símbolo de la moneda aplicamos webscraping a la página web https://coinmarketcap.com/ Obtenemos el precio y la tendencia en 1h % visualizacion

Depuración de los datos 🧹

La depuración de los datos se realiza a través de la función limpieza_datos()

image

Que se encuentra definida de la siguiente forma image


 code link 

  1. Hacemos una copia de df_bitcoin
  2. Eliminamos los registros duplicados de la columna Datetime.
  3. Eliminamos los registros cuyo valor en la columna Close sea nulo o 0.
  4. Nos quedamos con los registros cuyo valor en columna Volume sea mayor a 0.
  5. Identifica y eliminanos los "outliers" del precio de cierre de Bitcoin.

Gráfico Data Original

  1. Agrupamos los datos que se encuentren entre el primer y el tercer Quartil Q3 > Close > Q1
  2. Obtenemos el valor de la media desde los datos depurados

Gráfico Data Limpio

En resumen, este código se encarga de asegurarse de que los datos relacionados con el precio de Bitcoin sean precisos y útiles para futuros análisis. Esto implica eliminar datos duplicados, nulos e inusuales, y calcular el precio promedio después de realizar estas limpiezas.

Toma de decisiones 🚀

image

image


 code link 

El algoritmo de toma de decisiones consiste en analizar el precio actual de la moneda, el precio promedio y la tendencia.

  • Caso 1: Si el precio actual es mayor o igual al precio promedio y la tendencia es "baja", entonces se recomienda "Vender".
  • Caso 2: Si el precio actual es menor que el precio promedio y la tendencia es "alta", entonces recomienda "Comprar".
  • Si ninguno de estos casos se cumple, se recomienda "Esperar".

Finalmente, la función devuelve una decisión, que puede ser "Vender", "Comprar" o "Esperar" en función de los valores de entrada.

Visualizacion 📈

En éste procedimiento del algoritmo mostramos los resultados en un gráfico para facilitar su comprensión de los datos resultados y dar apoyo en la toma de decisiones.

image image
 code link 

visualizacion

Automatizacion 🧠

Este proceso automatizado permite a los usuarios rastrear el precio de Bitcoin y tomar decisiones rápidas basadas en datos actualizados en tiempo real.

image

About

Desarrollamos un bot utilizando algoritmos de trading y estadística descriptiva para apoyar a la toma decisiones de venta o compra de criptomonedas con el objetivo de generar rentabilidad.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages