En la primera entrega vimos una breve descripción de la librería TA-Lib, su proceso de instalación y una descripción categórica de las funciones con las que cuenta esta librería, a continuación veremos unos breves ejemplos para el cálculo de indicadores como medias móviles, Bandas Bollinger, MACD, RSI, entre otros y finalmente el reconocimiento de patrones de velas, ¿Qué tan fiable será el reconocimiento de patrones de velas? Bueno esto lo veremos al final del artículo.
Indicadores Técnicos utilizando TA-Lib
Primero importaremos la librería Ta-Lib ya que la estamos utilizando para obtener diferentes indicadores. Junto con eso, usamos el matplotlib para dibujar los gráficos para el análisis. Como vamos a trabajar en los precios de las acciones, importaremos los datos de Yahoo Finance.
Por lo tanto, el código será el siguiente:
En el ejemplo, hemos importado los datos del precio de las acciones de Intel(Ticker INTC) para el último periodo de 1 año en timeframe diario. Comencemos con algo simple, encontraremos la media móvil simple, la media móvil exponencial y la media móvil ponderada de los datos de acciones de Intel. Utilizaremos el siguiente código:
El resultado es el siguiente:
Ahora presentaremos, un ejemplo calculando las Bandas de Bollinger con el siguiente código:
Para crear las bandas de Bollinger, simplemente pasamos el precio de cierre, es decir, la columna “Close” y definimos un período de tiempo de 20 para la media móvil. Esto se hace utilizando la función “ta.BBANDS ()”. Como las bandas de Bollinger consisten en tres bandas, almacenamos los datos en las siguientes tres columnas, “upper_band”, “middle_band” y “lower_band”.
A continuación se presentan ejemplos para cálculo de RSI, MACD, Estocástico:
A continuación se presenta los resultados
El siguiente código presenta el cálculo para el indicador “On Balance Volumen” y se muestra su gráfico, es importante destacar que acá se están tomando datos de un año razón por la cual el indicador parte de 0 y hace suma sucesiva del volumen cerrando para el 24/07/2020 con un OBV negativo, esto lo que indica es que en el periodo de un año las ventas han superado las compras en cuanto a volumen sin embargo, aplicando análisis técnico la tendencia de fondo de INTC es alcista.
A continuación observaremos el cálculo de indicador ATR (Average True Range) utilizando TA-Lib:
En cuanto a los patrones de reconocimiento de velas, existen diversas funciones como podrán observar en https://mrjbq7.github.io/ta-lib/func_groups/pattern_recognition.html
¿Cómo se utilizan estas funciones?
Bueno, al ingresar los datos de apertura, máximo, mínimo y cierre de la acción en estudio la función seleccionada retornara uno de tres posibles valores enteros, 0 cuando no reconoce patrón, 100 cuando reconoce un patrón alcista y -100 cuando reconoce un patrón bajista, siguiendo con los ejemplos con Intel tenemos lo siguiente:
Como resultado obtenemos:
Como podemos observar para el 24-07-2020 se identificó un patrón de velas bajista Belthold, el patrón de vela Belthold es una vela larga bajista donde la apertura y el máximo coinciden, el cuerpo es alargado y la distancia entre el mínimo y el precio de cierre es pequeña, como podemos observar en la siguiente imagen:
Fuente: https://www.investopedia.com/terms/b/bearishbelthold.asp
Si deseas saber más sobre este patrón de velas, puedes encontrar información relevante en los siguientes enlaces:
Como hemos visto es posible calcular y trazar diversos indicadores técnicos en Python haciendo uso de TA-Lib, lo que facilita muchísimo la labor del desarrollador ya que no deberá desarrollar funciones para el cálculo de estos indicadores, una vez calculado el desarrollador ya puede enfocarse en la estrategia, la programación de un cruce de medias móviles, de compra en zona de sobre venta de indicadores como RSI, MACD, u otros.
¿Recuerdan la pregunta al inicio del artículo? ¿Fue fiable el reconocimiento del patrón de velas? A continuación le muestro la gráfica actualizada de Intel para el 01/08/2020.
Acá pueden acceder al código para practicar y estudiar https://github.com/ArQuants/TA-Lib

Es Ingeniero Electricista de la Universidad de Carabobo (Venezuela), especialista en automatización de procesos industriales e Inversor Independiente.