¿Cómo crear visualizaciones financieras y gráficos de vela con Python?

La visualización de datos es una parte crucial para el análisis y la toma de decisiones financieras

Alejandro Galaviz
Nowports Tech and Product
6 min readJun 20, 2022

--

Crear visualizaciones financieras

Seguramente has visto en películas, series o fotos, esas escenas donde hay un caos en las salas de trading de la bolsa de valores y donde se muestran pantallas con miles de gráficas con precios y movimientos de acciones. Pues bien, hoy esa información está al alcance de tu mano.

Actualmente, tienes esos datos disponibles, puedes acceder fácilmente a ellos e incluso, tú mismo puedes generar las gráficas que desees analizar. Así que si quieres aprender a crear tus propias visualizaciones, sigue leyendo.😉

¿Qué es la visualización de datos?

La visualización de datos es una herramienta que sirve para analizar cualquier tipo de fenómeno de manera visual. Una de sus funciones es identificar patrones, cambios o evoluciones a través del tiempo y aplica para cualquier área de estudio.

En el caso de las finanzas y el estudio del comportamiento de las acciones de la bolsa de valores, la visualización de datos es una parte crucial para el análisis y la toma de decisiones financieras, por eso se dice que genera valor en el ámbito financiero.

Y para que lo comprendas mejor, ahora realizaré un ejercicio para analizar y crear visualizaciones con valores de precios de las acciones de la bolsa.

¿Cómo crear visualizaciones financieras?

Utilicé una fuente online gratis de consulta para obtener los datos e hice distintos gráficos a lo largo de este ejercicio. ¡Empecemos!

Preparación de notebook y obtención de datos

Aunque en el siguiente ejemplo usé la versión Python 3.8.8 y para el desarrollo de la demostración utilicé Jupyter, con la distribución de Anaconda, tú puedes utilizar la interfaz que desees.

Primero preparé el notebook importando las librerías y funciones que tenía planeado usar. Para este caso utilicé las siguientes con un fuerte enfoque sobre Pandas y Matplotlib:

Pandas y Matplotlib

Los precios de cierre de las acciones de la bolsa los obtuve de la fuente Yahoo! Finance, usando la clase DataReader. Y, aplicando el siguiente comando conseguí los precios de cierre para la compañía Apple (AAPL) de 2020 y 2021:

Comando DataReader

Una de las ventajas de consultar datos haciendo uso de programación es que puedes, por ejemplo, ejecutar ciclos de trabajo sobre diferentes valores. En este ejercicio cree un par de funciones para obtener los datos de distintas compañías de manera cíclica y así, obtener una tabla con todos ellos.

Las compañías que elegí fueron: Apple (AAPL), Microsoft (MSFT), General Electric (GE), IBM (IBM), American Airlines (AA), Delta Airlines (DAL), United Airlines (UAL), Pepsi (PEP) y Coca-Cola (KO).

Ciclos de trabajo en programación
Ejemplo ciclos de trabajo en programación

Visualización de series de tiempo financieras

Una de las mejores maneras para analizar y encontrar patrones y relaciones en este tipo de datos es visualizando la información. A continuación te explicaré un par de visualizaciones de series de tiempo que puedes realizar fácilmente.

Para este análisis vamos a visualizar el comportamiento del Adjusted Price de cada acción a través del tiempo. Y como este es el único precio que me interesa visualizar, separé los datos de la siguiente manera:

Visualización de datos en Phyton

También, moví el Ticker de las acciones a una columna porque el objetivo es crear una tabla pivote con la fecha como índice y los valores de cada acción en las columnas:

Columnas

Con este DataFrame que cree, puedo graficar fácilmente la evolución del precio de una acción. Para ello, solo seleccioné la columna que quise visualizar a través del método plot().

El siguiente comando crea la gráfica de precios de cierre para AAPL:

Precios de cierre para AAPL

Aún más fácil, también es posible graficar todos los precios de cierre juntos sin especificar ninguna columna:

Precios de cierre

Generación de gráficas de vela

Antes de comenzar con este punto, primero me gustaría explicarte qué son las gráficas de vela.

Según expertos en IBM, las gráficas de vela son un estilo de gráficas financieras que se utilizan para describir los movimientos de los precios de un valor, derivado del mercado financiero o divisa.

Cada vela representa un día y una gráfica de un mes puede mostrar 20 días bursátiles como 20 velas. Se utilizan mucho para analizar patrones de precios de acciones y divisas.

Ahora bien, para mostrarte cómo crear una gráfica de vela con Python, utilizaré los datos de AAPL del mes de diciembre de 2021, graficando cada día como una vela diferente en la gráfica.

El primer paso que di para realizar esta gráfica fue separar la información a utilizar, en este caso, los precios de AAPL de diciembre 2021:

Precios de AAPL de diciembre 2021

Lo siguiente fue transformar el formato de fecha a un nuevo formato para utilizar la función de generar gráfica de candelabro. Para esto, cree una nueva columna llamada date_num con la lógica nueva del formato, la cual pide el número de días de diferencia entre la fecha evaluada y 0001–01–01.

De hecho, si quieres conocer más de este formato de fecha y otro tipo de representación de tiempo, puedes 👉revisar esta documentación👈

Formato de fecha

Después, transformé una vez más los datos que tenía a un formato compatible con la función que genera la gráfica. Convertí la data almacenada en el DataFrame a un tuple con la siguiente estructura: ([‘date_num’, ‘Open’, ‘High’, ‘Low’, ‘Close’], …)

([‘date_num’, ‘Open’, ‘High’, ‘Low’, ‘Close’], …)

Adicionalmente, hice una instancia de DateFormatter para darle el formato adecuado a las fechas y también, una variable con los puntos para graficar sobre el eje X. Para este ejercicio, busqué que se vean solo los puntos de los días lunes para un mejor manejo de las etiquetas en la gráfica.

DateFormatter
DateFormatter

Ya teniendo todo lo necesario para generar la gráfica de vela, finalmente ejecuté la función deseada con el siguiente comando y los parámetros especificados para obtenerla:

Ejemplo de gráfica de vela

¡Y listo!

Usa las herramientas disponibles a tu favor

Usar herramientas tecnológicas como lenguajes de programación o visualizadores de datos te permite analizar información de muchas maneras y encontrar patrones y relaciones que mejoran la toma de decisiones.

El ejercicio que te mostré en este artículo es solo un ejemplo de cómo puedes generar material gráfico muy valioso para ejecutar un análisis de valor que se puede extrapolar a muchas otras aplicaciones, así que es tu turno ¡te invito a explorar tus datos con tecnología!

¿Quieres leer más temas relacionados? 👉Visita el blog de Nowports Tech👈

--

--