Cualquiera que haya trabajado en el desarrollo de una estrategia de trading desde cero sabe la dificultad de tener su lógica correcta. Puede pasar demasiado tiempo escribiendo código y esto no garantiza un algoritmo rentable. TA-Lib hace de este proceso, algo más llevadero.
TA-Lib es un acrónimo de “Tecnical Analysis Library”, que podríamos traducir como Librería para Análisis Técnico, una librería open source, desarrollada en C para procesar datos financieros, adaptada a través de Cython para ser utilizada en Python.
PUEDES PASAR DEMASIADO TIEMPO ESCRIBIENDO CÓDIGO Y ESTO NO GARANTIZA UN ALGORITMO RENTABLE.
¿Cómo TA-Lib hace del proceso más llevadero (ligero)?
Bueno, TA-Lib cuenta con más de 200 funciones para el cálculo de indicadores técnicos tales como ADX, MACD, RSI, Stochastic, Bollinger Bands, etc. Adicionalmente cuenta con reconocimiento de patrones de velas y unas pocas, pero útiles, funciones estadísticas, lo cual reduce el esfuerzo del programador en desarrollo de indicadores, siempre y cuando estos ya existan en TA-Lib.
¿Como instalar TA-lib?
El primer paso para poder utilizar TA-Lib, es ejecutar la instalación, diversas fuentes dicen que es posible instalarla como cualquier librería a través de la ventana de comandos al escribir pip install TA-Lib.
Esto a mí no me funciono, si a ti te funciona tuviste suerte. El proceso de instalación que realice esta descrito en un artículo de Ishan Shah y Rekhit Pachanekar que podrás encontrar en el siguiente link https://blog.quantinsti.com/install-ta-lib-python/ en el cual encontraras el procedimiento de instalación para Windows y MacOS, o si prefieres en este link https://www.youtube.com/watch?v=VJyNArEU0ws, encontraras el video de cómo hacer la instalación siguiendo el procedimiento planteado por Ishan Shah y Rekhit Pachanekar para Windows.
¿Qué incluye TA-Lib?
TA-Lib cuenta con varias categorías de análisis técnico y son relativamente fáciles de usar. Las categorías son las siguientes:
Categorías | Descripción |
Overlap Studies | Los estudios de superposición cubren los datos que se usan típicamente en “superposiciones” comunes para los gráficos de la bolsa. Los más comunes son los promedios móviles y las líneas de tendencia. |
Momentum Indicators | Indicadores de momentum o la velocidad de cambio de precio. Esto se considera fácilmente como una medida de la tasa de cambio (aumento / disminución) en el precio de mercado. |
Volume Indicators | El volumen es la cantidad de un valor que se ha negociado en el tiempo especificado (día, hora, minuto, …). El volumen puede usarse para juzgar la fuerza o la debilidad de un movimiento de mercado. |
Volatility Indicators | La volatilidad es la cantidad de dispersión o fluctuación en el precio de un valor. Los indicadores de volatilidad son útiles para determinar la cantidad de riesgo o beneficio potencial que existe. Los indicadores de volatilidad en TA-LIB pueden considerarse como indicadores de “Rango”. |
Price Transform | Información estadística sobre cómo está cambiando el precio (promedio, mediana, entre otras) |
Cycle Indicators | Los analistas técnicos utilizan los indicadores de ciclo para analizar las variaciones en la amplitud de los valores. |
Pattern Recognition | Los patrones de gráficos han existido durante mucho tiempo. Los patrones de gráficos observan el mercado, generalmente asumiendo que el precio es el mejor indicador de todas las demás estadísticas. Los patrones que se encuentran en los gráficos de acciones le dan al analista técnico un indicador de posibles cambios futuros. |
Statistic Functions | Funciones estadística que permiten determinar correlación, desviación estándar, varianza entre otras. |
Lo mejor es reforzar la base
Antes de empezar con los ejemplos quisiera resaltar lo siguiente, lo cual aprendí de muchos docentes que tuve. Se pueden tener mucho conocimiento en herramientas de software (Python, TradeStation, NinjaTrade, MetaTrader, TradingView, etc.), pero hacen falta siempre dos cosas (a ver cuál es más importante): Saber sobre lo que estás programando (análisis técnico) y tener criterio para interpretar los resultados. Cosas que lamentablemente no las compras en ningún lado.
SE PUEDE TENER MUCHO CONOCIMIENTO EN HERRAMIENTAS DE SOFTWARE PERO HACEN FALTA SIEMPRE DOS COSAS: SABER SOBRE ANÁLISIS TÉCNICO Y TENER CRITERIO PARA INTERPRETAR LOS RESULTADOS.
Es por ello que es importante tener una base sólida de conocimientos en Python específicamente dominio de la base de Python y de librerías tales como pandas, numpy, sklearn, scipy, etc que son las más comúnmente utilizadas para análisis de datos. Y entender cómo se calculan e interpretan los indicadores técnicos para poder desarrollar criterio con el paso del tiempo al poner en práctica los conocimientos.
Si deseas aprender Python desde cero, recomiendo el curso de Python de Arturo, Mexicano excepcional, en su canal de Youtube JAORSoftware, el cual encontraras en el siguiente link: https://www.youtube.com/playlist?list=PLJy7–EGFrT3KZVWWDJGFudvVXYKiAa0S y luego para empezar a enfocarlo a finanzas recomiendo seguir en Twitter a Juan Pablo Pissano @JohnGalt_is_www o adquirir sus libros. Y si desea reforzar tu conocimiento en análisis técnico puedes empezar por el canal de youtube de Patricio, @patonet, un ecuatoriano comprometido con la educación financiera pura y dura, el link de su canal es el siguiente: https://www.youtube.com/channel/UC79x_2UJHGRS_11yd2uoz9Q, si deseas una formación en análisis técnico más estricta puedo recomendar dos entidades: La primera “Centro de Estudios en Inversión Financiera” puedes encontrarlos en Twitter como @CEIFpro, dirigido por Alberto Cárdenas quien es Analista Técnico certificado por el CMT y la segunda entidad seria “Bolsa General” dirigida por David Galán, el link de su página web es el siguiente https://www.bolsageneral.es/.
Conclusión
En esta primera entrega hemos visto una breve introducción sobre TA-Lib, un link para el procedimiento de instalación, las categorías de funciones disponibles para análisis técnico y una reflexión sobre las bases de conocimientos que debemos reforzar antes de comenzar, seguir adelante, incluyendo algunas recomendaciones personales. Todo esto fue desarrollado con la idea de preparar el terreno para la segunda entrega de este artículo, donde veremos algunos ejemplos en Python para determinar algunos indicadores técnicos, como trazarlos e implementar el reconocimiento de patrones de velas.
Para ampliar la información:

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