Back to Portfolio
BTC Predictor
Data Science / ML

BTC Predictor

Aplicación de ciencia de datos que predice el precio de Bitcoin al día siguiente con modelos de machine learning y hace seguimiento de su precisión histórica.

Project Overview

BTC Predictor es una webapp de ciencia de datos que predice el precio de Bitcoin para el día siguiente usando modelos de machine learning entrenados con datos históricos de CoinGecko.

El sistema registra cada predicción, calcula el error frente al precio real y simula el PnL (ganancia o pérdida) que se habría obtenido siguiendo la dirección predicha, permitiendo evaluar el desempeño del modelo en producción.

Se despliega como varios servicios independientes en Railway: una API web (FastAPI + Jinja2) siempre activa, un job diario que obtiene precios, y jobs diarios/mensuales que entrenan, evalúan y generan predicciones, todos respaldados por PostgreSQL.

Key Features

  • Predicción diaria y semanal del precio de Bitcoin con modelos de scikit-learn
  • Dashboard web con historial de predicciones y comparación de modelos
  • Backtesting mensual para evaluar el desempeño histórico
  • Simulación de PnL basada en la dirección predicha
  • Arquitectura de múltiples servicios (API, fetch-price, daily, monthly-backtest) orquestados en Railway

Technologies Used

PythonFastAPIJinja2PostgreSQLSQLAlchemyscikit-learnPandasDockerRailway

Problema

Los traders minoristas no tienen una forma sencilla de validar si un modelo de ML realmente predice la dirección del precio de BTC, más allá de backtests optimistas.

Enfoque

Se entrenó un modelo de scikit-learn sobre datos históricos de CoinGecko y se desplegó como servicio en producción, validado con un framework de backtesting walk-forward (sin lookahead bias) que compara 4 estrategias de PnL antes de confiar en sus predicciones.

Resultados

  • 16 User Stories completadas en 8 iteraciones, desplegadas a Railway
  • 4 servicios orquestados (API, fetch-price, daily, postgres) sin intervención manual
  • 89-97% de cobertura de tests por servicio (shared, api, workers)

Project Details

Client

Personal Project

Timeline

Mayo 2026

Role

Data Scientist & ML Engineer

© 2026 Cuauhtémoc Bautista

0%