TA-Lib, una Librería para Análisis Técnico al alcance de todos

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.
Tiempo de lectura: 5 minutos
Tabla de contenidos

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íasDescripción
Overlap StudiesLos 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 IndicatorsIndicadores 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 IndicatorsEl 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 IndicatorsLa 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 TransformInformación estadística sobre cómo está cambiando el precio (promedio, mediana, entre otras)
Cycle IndicatorsLos analistas técnicos utilizan los indicadores de ciclo para analizar las variaciones en la amplitud de los valores.
Pattern RecognitionLos 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 FunctionsFunciones estadística que permiten determinar correlación, desviación estándar, varianza entre otras.
Fuente: https://info.cloudquant.com/2017/12/talib_intro/

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:

<strong>Por</strong> Alexander Ríos
Por Alexander Ríos

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

Inscríbite para estar al día con la serie de automatización de una mesa de operaciones

Datos
Comparte esta noticia
Facebook
Twitter
LinkedIn
WhatsApp
Haz parte de esta comunidad

Recuerda que la tecnología no para de avanzar, si te interesa estar actualizado en materia de mercados financieros, algoritmos y más no olvides seguirnos y hacer parte de nuestra comunidad.

Otros Artículos

Suscríbete a nuestro Newsletter
No te pierdas las últimas noticias del mercado.

Algorithmic Process Automation (APA)

Esta es una “caja” de estrategias para el operador o trader, que le permite llevar adelante la optimización y minimización de errores, en la ejecución de tareas repetitivas dentro de una mesa de operaciones. Mejora de este modo la productividad y eficiencia del equipo de trabajo en el accionar diario.

Estrategias

Realice operaciones de canje entre dólar mep y cable mediante la operatoria de bonos o acciones. Para utilizar esta estrategia, debes configurar la cantidad de dólar cable a operar, el tipo de operación (compra o venta), el precio al que se desea realizar, y los títulos que se emplearán para realizar la operación.

Tiene como objetivo realizar una compra de un activo promediando un valor por debajo del máximo configurado. Está pensada para optimizar el flujo de una operación, consiguiendo el precio deseado sin la necesidad de la intervención de un operador. Se puede configurar el monto total a operar, el precio límite y por último el tamaño máximo de las órdenes.

Tiene como objetivo colocar un monto en una moneda determinada a tasa entre plazos. Pensado para poder optimizar el curso de operaciones de colocación a tasa a través de un algoritmo y no requiriendo una intervención activa de un operador.

Realizá operaciones de compra o venta de dólares mediante la operatoria de bonos o acciones. Para utilizar esta estrategia, debes configurar la cantidad de dólares a operar, el tipo de operación (compra o venta), el precio al que se desea realizar, y los títulos que se emplearán para realizar la operación.

Dada una posición tomada en un valor negociable, la desarmar y la rearma en otro valor negociable, respetando un ratio de precios configurado entre ambos.

Price Improvement Iceberg (PII). Esta estrategia busca estar siempre primera en el book de órdenes con el objetivo de discretizar una orden de compra o venta. Permite configurar precio límite, monto total a operar, límite de monto por orden y cuenta con un mecanismo para ocultarle al mercado su accionar, modificando las órdenes que va enviando en su tamaño.

Tiene como objetivo tomar un monto en una moneda determinada a tasa entre plazos. Pensado para poder optimizar el curso de operaciones de tomar tasa a través de un algoritmo y no requiriendo una intervención activa de un operador.

Tiene como objetivo realizar una venta de un activo promediando un valor por debajo del máximo configurado. Está pensada para optimizar el flujo de una operación, consiguiendo el precio deseado sin la necesidad de la intervención de un operador. Se puede configurar el monto total a operar, el precio límite y por último el tamaño máximo de las órdenes.

Pensada para simplificar la gestión pasiva de liquidez de una gran cantidad de cuentas comitentes, esta estrategia permite la automatización en la ejecución de órdenes de cauciones colocadoras en el mercado. A partir de una lista de cuentas y saldos, el algoritmo envía órdenes al mercado siguiendo parámetros de plazo, tasa, agresión y tamaño. El resultado es la ejecución de cientos de órdenes en pocos minutos manteniendo un control global del proceso en cada momento.

Es un algoritmo pensado para simplificar el proceso de colocación de órdenes para tomar liquidez del mercado. A partir de un detalle de saldo requerido por cuenta comitente y la definición del plazo (caución a t dias), el motor administra el envío de órdenes dentro de parámetros definidos de tasas objetivos y agresividad en la colocación. El resultado es la ejecución de cientos de órdenes en pocos minutos manteniendo un control global del proceso en cada momento.