Hice modelito de machine learning para predecir "Alt Season" próximos 30 días (cuando baja fuerte la dominancia de #BTC y se vuelan las small cap crypto)
Pero el 🧵es para manijear #python y no crypto así que si les interesa hay que leer hasta el final para ver el resultado
A pesar de lo rústico del modelo, tiene un % de aciertos alto, tanto cuando predice que se dará la Alt season, como cuando predice que no
Esto se ve en la llamada "matriz de confusión" que se arma sometiendo al modelo a predecir con datos con los que no fue entrenado
Arranco tomando datos de dominancia de CoinmarketCap y los históricos de precio y volumen de Coingecko, el código python para ambas cosas son un par de líneas como ven
Luego preparo los "features" (que serían los inputs con los que el modelo se entrenará para encontrar la mejor alternativa de esquema de reglas para predecir)
Y el "TARGET" que es el label binario del evento futuro a predecir, en mi caso si la dominancia de #BTC baja un 5% o mas
Como ven es bastante básico, uso simplemente de inputs datos pasados de #BTC de:
- Su dominancia
- Cambios de precio
- El volumen
- La volatilidad
- El ratio μ/σ
Y los calculo con una ventana semanal y mensual
Luego viene el Over Sampling
¿quejeso?
El tema es que quiero predecir si la dominancia va a caer mas del 5% en un mes, y eso no pasa muy seguido, o sea mi muestra de datos está desbalanceada, si entreno el modelo así, va a tener un sesgo a predecir que no habrá nunca Alt Season
Como se imaginarán en #python esto es cuestión de un par de líneas de código nomás y problema resuelto, genero datos con inputs similares a los que tuvieron esa alt season que son los menos (16.54%) para que quede balanceado para entrenar
Y ya tenemos todo casi listo para entrenar un modelo de machine learning
Antes separo primero los datos de entrenamiento de los de validación (los de validación son los datos con los que voy a chequear si se entrenó bien o manda cualquier fruta)
Y ya, entreno mi modelo
El algoritmo que elegí fue "Random Forest" que genera una especie de Arbol de decisiones (pregunta primero por un feature, luego por otro y así hasta terminar decidiendo si es mas probable que haya o no una alt season con esos features)
Osea, encuentra reglas para predecir
Todo esto explicado (resumido) para un hilo de twitter obvio
Bueno, cuestión, ahora que ya el algoritmo generó "las reglas" o preguntas para decidir, lo que hago es pasarle los datos actuales a ver que predice
Entonces? bueno, reflexionemos:
1- Solo el 16.54% de los días pasados había una alt season el mes siguiente
2- El algoritmo acierta el 88% de las veces que predice que habrá alt season
3- Los ultimos 30 días, incluido ayer predijo que habrá alt season mas del 50% de los días
Disclaimer: Es un modelo medio "básico" hay mucho por trabajarle, mi idea era manijear #Python y no manijear crypto small caps, pero seguro capté mas la atención con esto aplicado a algo real
Así que bueno, dejo acá el código para todes
colab.research.google.com/drive/1IC836Ly…
Share this Scrolly Tale with your friends.
A Scrolly Tale is a new way to read Twitter threads with a more visually immersive experience.
Discover more beautiful Scrolly Tales like this.