Skip to content

Alejarp78/Robot_Trading_Basico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Canuto_Desarrollo_Web

Sobre mí

Hola, soy Jhozmer Ramírez! 👋, les presento el desafío 1 (Robot Trading) propuesto por Alura Latam en el BootCamp "Data Science and Machine Learning".

Habilidades en este proyecto

Python : Numpy, Pandas, Matplotlib, yfinance, BeautifulSoap

Título del Proyecto

Robot Trading

Propuesto por Alura Latam y ORACLE "ONE OracleNextEducation"


Canuto_Desarrollo_Web

Canuto-Developer

Copyright ©Octubre 2023 - Jhozmer Ramírez

GitHub: issues: alejarp78 forks: alejarp78 stars: alejarp78 License: alejarp78

Índice 🔖

Descripción

_Este proyecto contiene un código en Python que lleva por nombre "Robot Trading", que es capaz de tomar decisiones de compra y venta de Bitcoin en tiempo real, lo que implica tomar datos de una de las páginas web más comunes de visualización de seguimiento de precios para criptoactivos.

Para lograr este cometido es necesario entrar a una API que proporcione datos históricos de Bitcoins en formato JSON. Una vez en la página se realiza "Web Scraping" en un site de noticias para obtener el precio actual y algunos indicadores de tendencia del Bitcoin. Con los datos históricos se procede a cargarlos en DataFrame de Pandas para poder manipularlos y analizarlos, de esa manera identificar y eliminar los "outliers", además de tratar cualquier valor "nulo" o "duplicado" en la base. Finalmente con la base limpia, se calcula el precio promedio del Bitcoin.

Después de obtenido el precio promedio del Bitcoin, se compara con el precio actual y la tendencia del BTC que previamente se obtuvo con el Web Scraping. Si el precio actual es mayor/igual que la media y la tendencia es de baja, entonces se debe vender, pero si el precio actual es menor que la media y la tendencia es de alta, entonces se debe comprar.

Se utiliza la librería Matplotlib para crear un gráfico donde se muestra la evolución del precio del Bitcoin durante el periodo seleccionado, y una línea recta que pase sobre el precio medio. Por último, se muestra un mensaje en el gráfico que indique “Vender”, “Comprar” o “Esperar” según sea la decisión del algoritmo.

Finalmente, con el algoritmo de decisión, se automatizó el proceso. Utilizando la librería de Python "time" para ejecutar el algoritmo de decisión cada 5 minutos y actualizar el gráfico.

Este es un proyecto básico pero ambicioso que requiere una cantidad importante de tiempo y esfuerzo, así como una comprensión básica de Python y lo más importante, mucha creatividad.

Imagen del resultado de las gráficos del Histórico del BTC ($)

Histórico_datos_BTC_original_tratados

Principal BTC Mean

Histórico_BTC_Datos_Tratados

Histórico_datos_BTC_tratado_Comprar_Tendencia

Histórico_datos_BTC_tratado_3_Vender

Mediana

Imagen del resultado de las gráficos del BoxPlot los datos tratados del Histórico del BTC ($)

BoxPlot_original

BoxPlot_Outliers

BoxPlot_Datos_Tratados

BoxPlot_Robot_Trading

Imagen del DataFrame de los datos tratados:

DataFrame corregido

Se dejan en este repositorio imagenes del DataFrame corregido y de cada una de las gráficas obtenidas.

Vídeo

Robot Trading MP4

https://github.com/Alejarp78/Robot_Trading_Basico/blob/main/Video_Robot_Trading_Corregido1.mp4

Pre-requisitos

  • Python 3.0 o superior
  • Datos en este cuaderno (Notebook Colab Jupyter)

Construido con

  • Numpy
  • Pandas
  • Matplotlib
  • yfinance
  • BeautifulSoap
  • lxml
  • Boxplot

Colaboradores

Alejarp78

Versionado

Versión Final 1.0

Mejoras

El Robot Trading posee indicadores de precio promedio y mediana, con Boxplot se pueden identificar los cuartiles, apoyados con colores, de la misma manera que las gráficas "Plot" están diferenciadas con varios colores para los valores: original (tal como se encuantra en la página de criptoactivos), con datos tratados o limpios (corrección de la gráfica eliminando valores nulos y duplicados). Posee una línea de tendencia, que permite observar su inclinación en función a la horizontal, para entender la velocidad de inversión según el volúmen.

Insignias

  • Alura Latam

Canuto_Desarrollo_Web

Autor

Gracias por visitar mi repositorio

  • Comenta a otros sobre este proyecto 📢
  • Deja tu opinión abajo 😊
  • Si te gusta sigue mi cuenta. 📌
  • Califica con una estrella 🌟

Copyright © 2023 Alejarp78

Página generada el 24 de octubre del 2023 por Jhozmer A. Ramírez P. Versión 1.0, Mérida-Venezuela.

About

Desafío_1 del BootCamp de Alura Latam sobre análisis de datos y machine learning.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published