- INTRODUCCIÓN
Nos proponemos utilizar datos históricos del mercado de valores para estimar el precio de cierre de las acciones de cuatro empresas líderes en tecnología (Apple, Amazon, Google y Microsoft) para el año 2023-2024
Para ello, observamos los datos obteniendo los datos históricos de Yahoo Finance [1] para estas empresas utilizando la biblioteca yfinance en Python. Así, exploraremos y analizaremos estos datos para comprender mejor el comportamiento pasado de las acciones.
Más adelante, utilizaremos técnicas de modelado predictivo, incluyendo el uso de redes neuronales convolucionales (CNN), redes neuronales recurrentes (RNN) y modelos de series temporales, específicamente el uso de redes neuronales LSTM (Long Short Term Memory), para predecir el precio de cierre de las acciones de estas empresas para el año 2024. [2]
Basándonos en el primer análisis exploratorio de Kaggle, decidimos no solo predecir el precio de cierre del resto de empresas, si no también probar distintos modelos y evaluar su rendimiento. Además enfocamos a fondo la parte que predecimos para analizar tendencias de estas empresas.
A través de este análisis, buscamos proporcionar una estimación fundamentada y basada en datos del precio de cierre de las acciones de estas empresas para el próximo año, utilizando una variedad de técnicas de modelado avanzadas. [3]
- ESTADO DEL ARTE
La inteligencia artificial en finanzas consiste en el uso de la tecnología, incluyendo algoritmos avanzados de ML para analizar datos, automatizar tareas y mejorar la toma de decisiones en el sector de los servicios financieros.
Se refiere a la aplicación de un conjunto de algoritmos de ML para permitir a las organizaciones de servicios financieros mejorar la eficacia, precisión y rapidez de tareas como el análisis de datos, la previsión, gestión de riesgos, detección de fraudes…
La IA permite una mejor comprensión de los mercados financieros y la creación de formas de relacionar las acciones de los clientes con ciertos factores. [4]
Además, se prevé que las instituciones financieras dupliquen su gasto en IA, por lo que resulta un tema interesante para las empresas en la actualidad. [5]
- DESARROLLO
Para comenzar, observamos un análisis exploratorio para entender el conjunto de datos del que partimos. En los datos encontramos la siguiente información:
- Date: fecha en la que se registraron los datos de la bolsa de valores para las acciones de cada empresa.
- Open: precio de apertura, es decir, el precio al que una acción comienza a cotizar un día determinado.
- High: precio más alto al que llegó la acción durante el día de negociación.
- Low: precio más bajo al que cayó la acción durante el día de negociación.
- Close: precio de cierre, es decir, el último precio al que se negoció una acción durante el día de negociación.
- Adj Close: precio de cierre ajustado, teniendo en cuenta eventos corporativos. Ajusta el precio de cierre en consecuencia para proporcionar una imagen más precisa del rendimiento de la acción.
- Volume: volumen de acciones negociadas durante el día de negociación. Indica cuántas acciones se compraron y vendieron.
- Company Name: nombre de la empresa que se está analizando.
Tras analizar estadísticas descriptivas sobre estas variables, se representa el precio de cierre a lo largo del tiempo para cada empresa:
Para Google, Microsoft y Amazon podemos observar una clara tendencia ascendente a lo largo del tiempo, lo que indica que el precio de las acciones a estado subiendo en general. Sin embargo, para Apple, los precios han ido subiendo y bajando, encontrándose al final de la gráfica en uno de los puntos más altos, esto indica que es más volátil.
Utilizan la media móvil (MA) para suavizar los datos sobre precios, creando un precio medio constantemente actualizado. El promedio se toma durante un periodo de tiempo determinado, 10, 20 y 50 días. Veámosla con claridad ya que es un buen acercamiento a los datos internos de las empresas.
Las medias móviles más largas (50 días) suavizan los datos más que las otras, lo que ayuda a identificar tendencias a largo plazo, se observa cómo esta (línea verde) es más suave que el resto.
Las medias móviles más cortas (10 días) son más sensibles a cambios recientes en el precio, lo que puede ayudar a identificar tendencias a corto plazo.
Vemos cómo en las cuatro gráficas la línea roja (media móvil de corto plazo) empieza a cruzarse por encima de la línea verde (media móvil a largo plazo) al final de 2023, lo que puede indicar señales de compra.
Cuando se cruza por debajo, podemos interpretar una señal de venta.
Para Apple, vemos que las medias móviles de 10 y 20 días reaccionan más rápidamente a cambios de precio que la de 50 días. Identificamos un cruce significativo a finales de 2023, donde la línea roja supera notablemente a la línea verde; esto puede ser interpretado como un cambio positivo en la tendencia de los precios de la acción. Puede verse como una señal alcista, sugiriendo que el precio de la acción podría estar comenzando a ascender. Los inversores podrían considerar este cruce como una señal para comprar la acción, anticipando que el precio continuará subiendo (podemos identificar lo mismo en Google en marzo de 2024, en Microsoft en noviembre de 2023 y en Amazon también noviembre de 2023).
Se analiza el retorno diario de stock en media, nos es útil para ver densidades y distribuciones y hacernos una idea rápida de la distribución de cada empresa:
Sabemos que los retornos positivos indican un aumento del precio de la acción de un día al siguiente, retornos negativos una disminución del precio. Los retornos positivos son beneficiosos para los inversores, ya que reflejan un crecimiento en sus inversiones.
Para Apple vemos que el pico más alto se encuentra en -0.01 aproximadamente, lo que indica el valor más frecuente de los retornos diarios (el retorno diario más frecuente es una pérdida del 1%). La mayoría de puntos se encuentran en la parte positiva (retornos positivos), parece sesgado hacia la derecha. Aunque el retorno más común es una pequeña pérdida, hay más días con retornos positivos, sugiriendo una tendencia general de crecimiento a pesar de las pequeñas pérdidas frecuentes.
Para Google, el pico más alto se encuentra en la parte positiva (0.01 aproximadamente), lo que indica una ganancia del 1%. Pero en este caso, es más sesgado hacia la izquierda, hay una tendencia a tener más días con retornos negativos, lo que sugiere más variabilidad.
En Microsoft se encuentra más distribuido y equilibrado, centrándose en valores de entre -0.01 y 0.02 principalmente, aunque más sesgado hacia la derecha (parte positiva). Para Amazon es muy similar. Ambos combinan pequeñas pérdidas y ganancias, aunque con tendencia ligera hacia días con ganancias (crecimiento moderado).
Pasando al objetivo, comenzamos observando el modelo ya implementando LSTM para predecir el precio de cierre de las acciones de Apple.
Calculamos métricas y obtenemos:
Gracias a este análisis exploratorio, se nos despierta la curiosidad de probar más modelos que apoyen la regresión: Probamos con redes Fully Connected y GRU: Gated Recurrent Units ya que son más simples computacionalmente que las LSTM, son más rápidas de entrenar y menos propensas al sobreajuste en conjuntos de datos más pequeños. Son eficientes y pueden captar dependencias a largo plazo en secuencias de datos. Observamos primeramente sus métricas para tener una primera idea global.
Ampliando en 2023/2024 para ver la predicción más distinguidamente y analizar en detalle cada red, obtenemos:
Cuadra con el resultado obtenido en las métricas ya que FCNN se va de más y las que mejor siguen la trayectoria real son GRU y LSTM. La razón es que las Fully Connected no capturan dependencias temporales porque procesan los datos de manera independiente y estática, sin considerar secuencia ni orden temporal, a diferencia de estas 2 mencionadas que rinden mejor en el contexto de tendencias en series temporales como los precios de acciones.
Sabiendo esto, hagamos estas predicciones para las 4 empresas en cuestión:
Apple es la que acabamos de enseñar.
Google tiene predicciones menos estables en los últimos meses, sin embargo, no sufre la caída en invierno que sufre Apple:
Podemos ver que, en general, ha ido mejor que con Apple.
Seguimos con Amazon, quien recuerda más a Apple. Sin embargo, sufre una caída más pronunciada en el invierno. Observamos:
Vemos que como estos datos son menos constantes y consistentes es más complicado ajustarse a ellos a la hora de predecir y se ve reflejado en las métricas.
Por último, Microsoft resulta ser más estable, con la caída que afecta al resto menos pronunciada pero más duradera:
Analizando esto, se vuelve a evidenciar que el mejor modelo es GRU ya que mantiene sus MAE entre 1-5, algo bastante impresionante.
- DISCUSIÓN DE RESULTADOS
Al enfocar nuestro análisis en los precios de cierre predichos para estas empresas, observamos que el precio de cierre de Microsoft es el más alto. Sin embargo, este estudio se centra en determinar cuál de nuestras redes neuronales funciona mejor, dado que ya teníamos los datos de cierre disponibles.
El modelo GRU ha resultado ser el más preciso. Estas redes son efectivas en problemas de regresión y series temporales debido a su capacidad para capturar dependencias a largo plazo, su estructura facilita un entrenamiento más rápido por su simplicidad, y su habilidad para contextualizar datos y capturar patrones.
Utilizamos las métricas MSE (Error Cuadrático Medio) y MAE (Error Absoluto Medio) para evaluar el desempeño de los modelos. Estas métricas confirmaron que el modelo GRU ofrece una mayor aproximación a los valores reales en comparación con otros modelos evaluados habiendo conseguido la mínima de 1.87.
En resumen, hemos experimentado la eficacia de la red GRU en la predicción de series temporales (enfocado a finanzas y mercado), así como el entrenamiento de otras de clasificación como LSTM y FCNN (más conocidos en el grado) y predicho los valores de cierre para 4 grandes empresas para este año.
- MATERIALES
Presentamos el código referente al entrenamiento y validación de las diferentes redes utilizadas.
Comenzamos por LSTM:
También intentamos utilizar la CNN, normalizando los datos para adecuarla a la tarea de clasificación:
Finalmente, entrenamos diferentes redes neuronales especialmente enfocadas en la tarea y comparamos sus resultados:
Para LSTM:
Para GRU:
Para FCNN:
Definimos las siguientes funciones para calcular métricas de cada uno de los modelos definidos previamente:
—
- REFERENCIAS
[1] Yahoo Finance https://github.com/ranaroussi/yfinance
[2] Kaggle LSTM time series + stock price prediction https://www.kaggle.com/code/carlmcbrideellis/lstm-time-series-stock-price-prediction-fail
[3] Python para predecir stock market https://youtu.be/fGLY0dIHJ2w?si=lfrpfsuJY6ytCIVm
[5] Repercusiones de la IA en finanzas https://www.imf.org/es/Publications/fandd/issues/2023/12/AI-reverberations-across-finance-Kearns
[6] Link a nuestro jupyter, continuación del oficial de kaggle:
https://docs.google.com/document/d/1NJWxg0oVhtz4cVsgmJcpBO1EdEdhL935lRv4_q3fdAs/edit?usp=sharing