Con el espectacular progreso reciente de IA como ChatGPT, podría haber un renovado interés entre los traders ocasionales y profesionales por explorar el uso de métodos de aprendizaje automático en sus estrategias de trading. Algunas importantes firmas de trading promocionan públicamente que utilizan métodos de aprendizaje automático, aunque no lo hacen.
Sin embargo, el aprendizaje automático puede ser más que una buena publicidad. Si se realiza de forma ingenua, puede ser propenso al sobreajuste. Es decir, ajustarse a las particularidades de un dato de una forma que no se mantiene fuera de ese conjunto de datos. Sin embargo, si se realiza con cuidado, puede ayudarle a evaluar si existe alguna significancia estadística potencial en una señal y a encontrar la forma matemática óptima de los puntos de compra/venta para cualquier señal en la que confíe.
En este artículo, examinaremos la regresión de cresta, una técnica sencilla que es un excelente punto de partida para el aprendizaje automático y el trading algorítmico. Hablaremos un poco sobre los detalles técnicos y luego realizaremos una prueba retrospectiva de una regresión de cresta en algunas criptomonedas con algunos gráficos excelentes para visualizar dónde el algoritmo decide comprar y vender, y dónde acierta y dónde se equivoca.
Las estadísticas del backtesting
Es importante comprender que la estadística, como campo, tiende a asumir que existe una relación matemática (p. ej., científica) en los datos, pero esta se ve oscurecida por cierto ruido aleatorio. En el trading, dado que las decisiones de los participantes del mercado son mucho menos precisas y se ven afectadas por noticias impredecibles ajenas a cualquier algoritmo, a menudo no es del todo posible utilizar el backtesting para demostrar que una estrategia de trading será rentable en el futuro. Una excepción podría darse en el trading de alta frecuencia, donde el uso de algoritmos por parte de otros participantes podría generar patrones estadísticamente detectables. En este caso, la cautela, el pragmatismo y el sentido común son fundamentales.
Regresión lineal
Uno de los métodos de aprendizaje automático más sencillos es la regresión lineal. Puede utilizarse como punto de partida para comprobar si las señales elegidas tienen valor predictivo, antes de explorar métodos de aprendizaje automático más sofisticados que podrían resultar más eficaces. Existen diversas maneras de configurar las entradas y salidas de una regresión lineal, pero un enfoque sencillo consiste en utilizar los n cambios de precio (relativos) previos para predecir el próximo cambio de precio (lo que suele denominarse autorregresión). Cabe destacar que una estrategia de cruce de medias móviles considera si una función lineal de las fluctuaciones de precio recientes (la media corta menos la media larga) es positiva o negativa. Por lo tanto, se trata de un subconjunto de las posibles estrategias de trading que puede detectar una regresión lineal.
A continuación, puede añadir a las fluctuaciones de precio pasadas sus señales favoritas, como medias móviles o líneas de regresión. Incluso puedes añadir señales calculadas a partir de otros activos que consideres relacionados o correlacionados para generar una estrategia de trading de pares o arbitraje estadístico (¡aunque este es un tema para otro artículo!).
Mientras nuestra regresión lineal intenta predecir el próximo movimiento de precio, necesitamos convertir esto en una estrategia de trading. Una estrategia sencilla de compra/venta consiste en comprar cuando el movimiento previsto supera un umbral positivo y vender cuando es inferior (más negativo) a un umbral negativo.
Regresión de cresta
La regresión de cresta es una modificación de la regresión lineal que ayuda a prevenir el sobreajuste. Por lo tanto, es particularmente útil en el contexto de las estrategias de trading.
La regresión lineal elige un coeficiente para cada señal de forma que los valores predichos se acerquen lo más posible a los valores reales. La regresión de cresta modifica esto intentando mantener coeficientes pequeños. El equilibrio entre ambas consideraciones se especifica mediante un parámetro "alfa" que el usuario puede elegir.
Por lo tanto, imaginemos que asignar un coeficiente alto a una de nuestras señales solo mejora muy ligeramente la predicción. La regresión lineal seguirá adelante y asignará el coeficiente grande, dando potencialmente mucho peso a una señal que no tiene mucho valor predictivo, y el valor predictivo que tiene puede ser falso. Por otro lado, la regresión de cresta dirá: "Esta señal no mejora mucho la predicción; es mejor que su coeficiente sea cercano a cero". El beneficio de evitar el sobreajuste de una estrategia de trading es evidente.
Algunos tecnicismos que vale la pena mencionar
Con cualquier modelo autorregresivo, se debe comprobar que los datos sean estacionarios antes de ajustar el modelo. Esto significa que las propiedades estadísticas, como la media y la varianza, no cambian con el tiempo. En la práctica, diferenciar los datos (es decir, trabajar con los cambios relativos en los datos en lugar de con los valores absolutos de los precios) probablemente resulte en datos suficientemente estacionarios para nuestros propósitos.
Es recomendable estandarizar las señales para que la media sea 0 y la desviación estándar 1 antes de realizar una regresión. Esto significa que el tamaño de los coeficientes es más comparable y ayuda a identificar rápidamente qué señales son significativas.
En el aprendizaje automático, es habitual ajustar el modelo a un bloque de datos (el conjunto de ajuste) y evaluarlo a otro (el conjunto de prueba). Esto ayuda a evitar el sobreajuste a la aleatoriedad de un dato en particular. Sin embargo, tenga en cuenta que su modelo aún podría sobreajustarse a idiosincrasias comunes a ambos conjuntos, pero que no necesariamente persistirán en el futuro (y es recomendable usar un stop loss al ejecutar su estrategia para gestionar comportamientos del mercado que diverjan repentinamente de lo representado en los conjuntos de prueba y ajuste).
Al utilizar datos intradiarios, como los de 1 minuto o 1 hora, es necesario decidir qué hacer con las brechas que se producen al comienzo de una nueva jornada bursátil. Un enfoque ingenuo es simplemente unir los datos de cada día, pero los saltos repentinos en los datos podrían afectar negativamente a su regresión. Para los datos de un minuto, los saltos representan solo una pequeña parte de los datos, por lo que este enfoque podría ser adecuado para un análisis inicial. La forma correcta de gestionar los saltos es no intentar predecir los primeros n movimientos de precio de cada día y eliminarlos de la regresión. En su lugar, la primera predicción incluida en la regresión debe ser el (n+1)º movimiento de precio del día.
Se debe elegir la frecuencia con la que se utilizarán los datos de trading. Por ejemplo, un minuto, una hora o un día. Suelo preferir intervalos de tiempo cortos por dos razones. La primera es que genera un número mucho mayor de puntos de datos. La segunda es que el comportamiento en intervalos de tiempo más cortos tiene más probabilidades de estar causado por estrategias de trading algorítmicas y, por lo tanto, de presentar patrones estadísticamente detectables. Sin embargo, las estrategias de momentum y reversión a la media impulsadas por el sentimiento (humano) del mercado también podrían ser eficaces en periodos más largos.
Nuestra estrategia se basa en varios parámetros. Uno de ellos es el parámetro alfa en la regresión de cresta, que controla la relatividad entre intentar obtener el ajuste más preciso a las predicciones y mantener coeficientes bajos. Otro es el umbral ya mencionado, que determina cuándo un movimiento previsto es lo suficientemente grande como para desencadenar una compra o venta. Encontrar buenos parámetros es cuestión de experimentación. El alfa debe elegirse de forma que parezca utilizar coeficientes cercanos a cero para cualquier señal que se considere extraña. El umbral determina la frecuencia de las operaciones y, si se establece demasiado alto, podría reducir la rentabilidad debido a las comisiones. Si se establece demasiado bajo, la estrategia podría perder operaciones rentables.
Prueba retrospectiva de la regresión de cresta en criptomonedas
Ahora que ya hemos hecho la introducción, ¡es hora de ver los resultados!
He escrito código en Python para obtener datos de Yahoo Finance, aplicarles un modelo de regresión de cresta, realizar pruebas retrospectivas de la estrategia y graficar los resultados. He optado por usar el modelo de regresión de cresta incluido en el paquete sklearn, aunque existen otros. He usado el paquete Lightweight_charts para graficar los datos de trading. Este permite desplazarse y hacer zoom sobre los datos de las velas, y colocar fácilmente marcadores de compra y venta para representar visualmente la estrategia de trading. Sin embargo, en el caso de algunos activos como BTC/USD y ETH/USD, Yahoo Finance devuelve los mismos valores de apertura, cierre, máximo y mínimo, lo que resulta en un único valor de precio graficado.
Para los fines de este artículo, lo simplificaré. Mi intención es demostrar el enfoque, en lugar de buscar una estrategia efectiva. Las señales que incluiré son los últimos 10 cambios de precio relativo, medias móviles y líneas de regresión con longitudes de 5, 10 y 50 intervalos. Explorar señales personalizadas para incluir en la regresión de cresta podría llevarnos a muchos extremos, y es mejor dejarlo para un próximo artículo. Al realizar pruebas retrospectivas, asumo que, tras la venta, la criptomoneda se está vendiendo en corto, aunque es fácil asumir que simplemente no tenemos exposición durante estos períodos.
Voy a utilizar una semana de datos de 1 minuto, y reservar aproximadamente un día (el día más reciente) como conjunto de prueba.
En los gráficos, la línea azul claro muestra la predicción del siguiente movimiento mediante la regresión de cresta. Sin embargo, recuerde que no intentamos predecir exactamente el siguiente movimiento. En cambio, el movimiento predicho se utiliza como indicador de cuándo comprar o vender. Cuando la magnitud absoluta del movimiento predicho supera un umbral, compramos o vendemos según si el movimiento es ascendente o descendente.
Normalmente, se podrían utilizar valores p para medir la significancia estadística de cada señal. Al realizar una regresión de cresta, que intenta reducir el coeficiente si una señal no mejora significativamente la predicción, podemos usar el tamaño de los coeficientes como una forma rápida de medir qué señales son importantes (aunque tenga en cuenta que esto no es lo mismo que la significancia estadística).
Bitcoin BTC/USD
Comencemos analizando el rendimiento de la regresión de cresta en la criptomoneda más grande por capitalización de mercado: Bitcoin. Los datos corresponden al periodo del 10 al 17 de junio de 2025. La siguiente salida de Python muestra los coeficientes (escalados por 1000) asignados a cada señal y la ganancia de la estrategia en comparación con la estrategia de comprar y mantener.
cierre_-10 = 0.00
cierre_-9 = 0.01
cierre_-8 = 0.00
cierre_-7 = -0.01
cierre_-6 = -0.02
cierre_-5 = -0.01
cierre_-4 = -0.02
cierre_-3 = -0.02
cierre_-2 = -0.00
cierre_-1 = 0.04
LíneaReg5 = 0.54
LíneaReg20 = -0.77
LíneaReg50 = -0.44
PromedioMov5 = 0.56
PromedioMov20 = 0.31
PromedioMov50 = -0.21
Beneficio de la estrategia = 412.19
Beneficio de comprar y mantener = -437.32
En este caso, la estrategia genera ganancias mientras que comprar y mantener genera pérdidas. El gráfico a continuación muestra por qué. La regresión de cresta es muy eficaz para vender durante caídas de precios bajos, por lo que la estrategia evita las pérdidas de comprar y mantener.
Por supuesto, las pruebas con otros bloques de datos podrían mostrar resultados diferentes, y algunos podrían indicar que la estrategia es menos rentable que comprar y mantener. Al observar el tamaño de los coeficientes, parece que las medias móviles de 5 y 20 minutos y la línea de regresión de 20 minutos son las más significativas, siendo las líneas de regresión y las medias móviles más significativas que los últimos diez movimientos relativos (de cierre_-1 a cierre_-10).
Ethereum ETH/USD
A continuación, probemos la regresión de cresta en los datos de precios recientes de Ethereum.
cierre_-10 = 0.03
cierre_-9 = -0.00
cierre_-8 = 0.01
cierre_-7 = 0.00
cierre_-6 = -0.02
cierre_-5 = -0.03
cierre_-4 = -0.00
cierre_-3 = 0.01
cierre_-2 = -0.01
cierre_-1 = 0.08
LíneaReg5 = 0.74
LíneaReg20 = -0.63
LíneaReg50 = -0.90
PromedioMov5 = -0.00
PromedioMov20 = 1.37
PromedioMov50 = -0.59
Beneficio de la estrategia = 127.63
Beneficio de comprar y mantener = -53.77
Nuevamente, la estrategia es considerablemente más rentable que comprar y mantener, y logra generar ganancias incluso mientras los mercados de criptomonedas están a la baja. Sin embargo, debo reiterar que no se debe asumir que esto siempre será así. Cualquier algoritmo de trading puede fallar en las circunstancias adecuadas.
En este caso, la media móvil de 20 minutos y la línea de regresión de 50 minutos son las más significativas en la predicción.
Lo que destaca del gráfico es la eficacia de la Regresión de Ridge al colocar compras en los mínimos y ventas en los máximos. Sin embargo, tenga en cuenta que es posible inventar datos que activen la estrategia erróneamente, por lo que no debe asumirse que funcionará siempre.
DOGE (DOGE/USD)
Se puede argumentar que los algoritmos sobre activos mucho más importantes, como los principales índices, tienen menos probabilidades de éxito que aquellos sobre activos más pequeños o menos negociados, debido a que estos activos están más saturados por operadores (incluidas grandes instituciones) que ejecutan algoritmos. Veamos cómo funciona el algoritmo en una criptomoneda más pequeña: DOGECOIN.
cierre_-10 = -0.00
cierre_-9 = -0.00
cierre_-8 = 0.03
cierre_-7 = 0.00
cierre_-6 = -0.02
cierre_-5 = -0.02
cierre_-4 = -0.02
cierre_-3 = 0.12
cierre_-2 = 0.09
cierre_-1 = 0.09
LíneaReg5 = 0.13
LíneaReg20 = -0.04
LíneaReg50 = -0.45
PromedioMv5 = -0.22
PromedioMv20 = 0.83
PromedioMv50 = -0.27
Beneficio de la estrategia = 0.0144
Beneficio de comprar y mantener = -0.0044
Nuevamente, la estrategia supera a la de comprar y mantener, siendo la media móvil de 20 minutos y la línea de regresión de 50 minutos las más significativas.
Al observar los gráficos, vemos nuevamente lo efectiva que puede ser la regresión de cresta para comprar en el mínimo y vender en el máximo.
Conclusión
En este artículo, mostramos cómo se puede entrenar un algoritmo de aprendizaje automático relativamente simple con datos de precios de criptomonedas para generar una estrategia de trading. Hemos visto que incluso un enfoque básico con medias móviles y líneas de regresión puede arrojar resultados alentadores. Quien desee profundizar en este enfoque puede empezar a experimentar con diferentes activos, una gran cantidad de señales de trading y parámetros de estrategia.
Sin embargo, es importante tener en cuenta que, si bien todos los resultados parecen positivos en los casos considerados en este artículo, ninguna estrategia funciona siempre. Habrá casos en los que la estrategia sea menos rentable que comprar y mantener. Por ejemplo, si el precio oscila en torno a una tendencia alcista prolongada, la regresión de cresta puede terminar comprando y vendiendo en las oscilaciones locales, perdiéndose gran parte del ciclo alcista. Para abordar esta situación, podría ser útil explorar formas de parametrizar dinámicamente la estrategia (como el parámetro de umbral), en función de la volatilidad o tendencia reciente.
Genius Mathematics Consultants brinda soporte cuantitativo a comerciantes de criptomonedas y empresas DeFi, incluido comercio algorítmico, fijación de precios de derivados y modelado de riesgos.