Predicción de tendencia del precio de acciones en la bolsa de valores de Lima mediante técnica de Deep Learning
Existe un tipo de RNN que puede ser utilizado en la predicción de precios de acciones y si se logra ajustar el modelo LSTM se puede predecir la tendencia futura.
Predicción de tendencia del precio de acciones en la bolsa de valores de Lima mediante técnica de Deep Learning
En las numerosas actividades de Data Science Research Perú, se realizan charlas relacionadas a la inteligencia artificial y temas afines. La inspiración para elaborar el presente artículo se generó de uno de esos eventos [1]( Pronóstico de series temporales con LSTM); por otra parte, en el presente artículo se realizará la predicción de tendencia del precio de acciones en BVL.
REDES NEURONALES LSTM
El modelo Long Short Term Memory (LSTM), es un tipo de redes neuronales recurrentes que está especializado en predecir series temporales, es decir se toma en cuenta los valores de días anteriores para su entrenamiento.
Las acciones son instrumentos financieros que se compran y venden en los mercados de valores, existen en cada país, en nuestro caso en el Perú: Bolsa de Valores de Lima (BVL). Las acciones tienen variables de estudio según su precio y tendencia. En días laborables se cotizan, compran y venden por personas naturales(los ciudadanos) o personas jurídicas(las empresas). El procedimiento es simple, se compra cuando el precio de acciones es barato y se vende cuando está caro, la diferencia representa la utilidad [2].
Existen numerosas técnicas de predicción empleadas desde siempre, incluyendo las básicas, ARIMA [3], técnicas estadísticas y las recientes como redes neuronales. Para nuestro caso se emplea el machine learning mediante LSTM(algoritmo de redes neuronales especializado en predecir series temporales) [4][5].
ALGORITMO
El procedimiento se resumen en los siguientes pasos:
Preprocesamiento de datos( Separación datos de entrenamiento y prueba)
Elección de parámetros:
Taza de aprendizaje
Número de épocas
Número de células LSTM
Modelo LSTM de entrenamiento y prueba
Comparación de resultados
Ajustar parámetros
Comparación con datos de prueba
Análisis de resultados
Para implementar el algoritmo, se emplea la librería Keras de python:
DATOS
Los datos corresponden a los últimos años reportados en el Yahoo Finance, donde el 80% de datos será utilizado para el entrenamiento del algoritmo y 20% para pruebas.
Se analizan la tendencia de cinco empresas peruanas que cotizan en la BVL:
COMPAÑÍA DE MINAS BUENAVENTURA S.A.A
INTERCORP FINANCIAL SERVICES INC.
SOUTHERN PERU
CREDICORP
CEMENTOS PACASMAYO
RESULTADOS
Inicialmente se debe entender que existen dos tipos de tendencia en los precios de acciones:
Alsa: Cuando el precio de la acción está en ascenso.
Baja: Cuando el precio de la acción está en descenso.
Así entonces los resultados presentados en la Tabla 1, indican que la predicción de tendencia para un día tiene una eficiencia del 20% y 40% para una semana.
Los colores rojos indican que no hay similitud entre los precios reales de mercado y la predicción y los colores verdes indican que se logró predecir la tendencia del precio.
Conclusión
Si bien hay resultados iniciales de predicción de tendencia del 20% de eficiencia para un día y 40% de eficiencia para una semana, pueden ser ajustados nuevamente con parámetros diferentes como un mayor número de épocas o la cantidad de capas ocultas.
Debido a que el ajuste del modelo LSTM es un proceso iterativo se requiere el apoyo de expertos en mercados de valores para aumentar la eficiencia hasta niveles superiores del 80% que se considera aceptable.
Otros artículos en la web[4], donde explican resultados similares donde no es posible alcanzar una alta eficiencia en la predicción debido a la cantidad de datos históricos.
Referencias
[1] “Facebook.” https://www.facebook.com/DataScienceResearch/photos/basw.Abo2YKi7rydjrOtdU2DB9hr3a8NZZiqS5sMX658mQDJHy4K3-nI26M304wHWAq5uNLGauLvioM_8WmU7zp33KWPlKMxUpi-44Sx_kwVPxVlZ6I3MUaFZJA09OIMfgTNYdwRm0XpoFCAOIeVBBELzOkrm/792797001422733/?opaqueCursor=AbqzR7jVV2oulHBN0Jt2dDIm7W3S4-_zBardbL5m-FSMxUmHMZVyvy5eLndBmvvHehCwpQwe2xY3TL5xXxlQ-iyjV9r3GxnQ-alrJQUZhArDDUuachgUoGT6dFfKsuPQUvX8thWi9K_HIW4teUxbbAyk_26AW5Cs0M1xdtOABSLnXxnkff9_wJl9JyUj8fqPvLPxrbBFy7HZrAewAiebkuYPL_PcuGXAufQV187k2rHI0QcDhQGwuCzuS9hAJan8EVBP357p4O1A6VirzlDImVABCHN6bjJBY6f3VvEn_RTiGT8lrYNKrTHZhk6HsEI0242wK8Gfk9IkrBSMYBcleV4zKGgs8LoBqDh0ui02WgcOTLL_OdbhfZlFUCj_1wlyvEC3QCXvyfFzoFJVq8lpkidXEhCJTG1JOHNLHUeB0AuE109PLrW5NXPWYDAH9hjQRYe-0RgEmeU03GUKbm_oDjVp7hvGjDF5Rku-VdkMa_KwZuHHF2-svzMTRTFKuhtaryXcj-fGi1TOJoIIzX4wlS5mrXju2kwITbDjLIrsMMiCt6f5T8IRVjssLGRyZGb42lxSQ3e0TuJhIUcY1Y0bUKYX31zlOhI31j3_YCaRg8ucUC7m1ORGjyf0o5DYHpmYuoKEsiqh3iVL3dEQ0BLJ7Ffg-Q1oTkcXJP1nSoNNLF7VV3qS8pP6ucfapxzydpRxAzZSH6ShEbxysiUXDIvUEjF_GhbLpSNahVEO3zjvxyRcmwaGiZoz7YWFcMJqXaxPtUcR7UlMtNJ_WhX-xinFtWgjBltxXI2ReXKwRLvODvuP-HcuBJPioytz5RGAa8knfD8K70kMlyU7SU1SdK1NB9YnHSsmvdJDwh5B9aQi1axpDtoDM8oTg5s5_PnT2DYdpWxaH9hfSFC9wbUa3xrUaXGDFCwsBDFo1U6-VIbkWvGpH7ZiFP-_s8GMd58VJKSJhR_SoAN6-AngD-fSJgFQsqdO (accessed Nov. 20, 2021).
[2] BBVA, “¿Cómo comprar y vender acciones?,” BBVA, Feb. 15, 2017. https://www.bbva.com/es/comprar-vender-acciones-funciona-mercado-valores/ (accessed Dec. 09, 2021).
[3] P. P. Ippolito, “Stock Market Analysis Using ARIMA - Towards Data Science,” Towards Data Science, May 21, 2019. https://towardsdatascience.com/stock-market-analysis-using-arima-8731ded2447a (accessed Dec. 09, 2021).
[4] A. Xavier, “Predicting stock prices with LSTM - Neuronio - Medium,” Neuronio, Jan. 22, 2019. https://medium.com/neuronio/predicting-stock-prices-with-lstm-349f5a0974d4 (accessed Dec. 09, 2021).
[5] “[No title].” https://www.ijert.org/research/stock-market-analysis-using-lstm-in-deep-learning-IJERTV9IS040649.pdf (accessed Dec. 09, 2021).