Saltar al contenido
Home » Blog » Las 3 mejores librerías para el análisis técnico

Las 3 mejores librerías para el análisis técnico

    imagen librerías de python

    Muchas veces intentamos hacer a mano lo que ya está hecho en alguna librería en python. En el caso del análisis técnico es muy probable que ya existan librerías para hacer eso que tu estás pensando en utilizar para mejorar tu trading. Por esta razón es importante conocer las principales librerías que nos pueden ayudar en nuestro análisis técnico.

    En esta entrada vamos a ver las tres principales librerías para el análisis técnico que tiene Python para hacer nuestra vida más fácil a la hora de tratar con los indicadores técnicos.

    TA-Lib

    https://github.com/mrjbq7/ta-lib

    TA-Lib puede ser la librería más famosa para realizar análisis técnico desde python. Es un wrapper de una librería de C y esto hace que su instalación sea algo más compleja que utilizar el comando pip. En la entrada de 61 patrones de velas para mejorar tu trading, ya vimos la instalación de esta librería y como sacar con ella los patrones de velas.

    Esta librería cuenta con 97 indicadores técnicos (158 si incluimos los patrones de velas) entre los que se encuentran los más famosos y los que son más habituales que necesitemos. Los podemos ver con detalle en esta lista:

    librerías de análisis técnico con TA-Lib

    Un ejemplo de como obtener los valores de las bandas de bollinger puede ser el siguiente:

    import yfinance as yf
    import pandas as pd
    import talib
    data = yf.download("AAPL", start="2019-01-01", end="2020-01-01")
    df['upperband'], df['middleband'], df['lowerband'] = talib.BBANDS(data['Close'], timeperiod=20)
    df.tail()

    Donde la salida nos mostrará algo similar a esto:

    Resultados de Bollinger con TA-Lib

    FinTA

    https://github.com/peerchemist/finta

    Esta librería cuenta con una ventaja sobre TA-Lib (además de que posee más indicadores técnicos) y es que está implementada junto con pandas. De esta forma, los análisis son más fáciles de programar y así no tenemos que hacer asignaciones a mano como hemos hecho en el ejemplo anterior.

    La instalación de esta librería sí que es a través de un simple pip:

    pip install finta

    Finta cuenta con 80 indicadores técnicos que se pueden ver aquí:

    librerías de análisis técnico con FinTA

    Para ejecutar cualquiera de las funciones que trae esta librería se hace a través de pandas, lo cual hace que sea tremendamente sencillo. Con pocas líneas de código ya podemos ver lo fácil que puede llegar a ser conseguir datos con esta librería:

    import yfinance as yf
    import pandas as pd
    from finta import TA
    data = yf.download("AAPL", start="2019-01-01", end="2020-01-01")
    TA.BBANDS(data).tail()

    Y veremos que esto nos devuelve una tabla de pandas con los resultados:

    Resultados de Bollinger con FinTA

    Como se puede ver es realmente simple trabajar con esta librería gracias a su integración con pandas.

    Pandas-TA

    https://github.com/twopirllc/pandas-ta

    Esta librería, como su nombre indica, también trabaja con la librería pandas. La ventaja que tiene sobre FinTA es que es compatible con TA-Lib, y lo utiliza (como dicen en su web ‘eventualmente’) para mejorar sus cálculos. Por ejemplo, para la parte de reconocimiento de velas, lo hace directamente ayudándose de TA-Lib y no tiene código propio para el reconocimiento de patrones de velas.

    Su instalación también es con un simple pip:

    pip install pandas_ta

    Pandas-TA posee casi 160 indicadores técnicos, (sin entrar en los patrones de velas), algo que casi dobla a la anterior librería. Para que podáis echar un vistazo rápido os dejo una lista de ellos:

    librerías de análisis técnico con Pandas-TA

    Otra ventaja que posee esta librería es que con ella es posible descargarse también los datos (eso sí, hay que tener yfinance instalado). Esto nos hace que prácticamente utilizando solo Pandas-ta tengamos acceso a todo lo que necesitamos para realizar cualquier análisis técnico.

    Por seguir con el ejemplo de la librería anterior con las Bandas de Bollinger, para sacar estos datos con Pandas-ta sería así:

    import pandas as pd
    import pandas_ta as ta
    df = pd.DataFrame().ta.ticker("AAPL", start="2019-01-01", end="2020-01-01")
    df.ta.bbands().tail()

    Este código devolvería un dataframe como este:

    Resultados de Bollinger con Pandas-TA

    Donde podemos ver la banda inferior, media y superior, además nos muestra la amplitud de la banda y el porcentaje de la vela.

    Ayuda con las librerías

    Si tenéis cualquier duda con algún indicador la ayuda es fácilmente consultable con:

    help(ta.bbands)

    En su salida os mostrará toda la ayuda necesaria para entender como llamar a la función, cómo es su salida o qué argumentos tiene:

    Ayuda de Pandas-TA

    Esto sirve para cualquier librería pero en el caso de Pandas-TA hay que reconocer que la ayuda es mucho mejor que las que ofrecen otras librerías.

    Conclusiones

    Como se puede observar parece que pandas-ta (en conjunción con TA-Lib) son los que muestran mayor cantidad de datos, lo que puede inclinar un poco la balanza hacía estas dos librerías.

    También el uso de las librerías de pandas hace que sea más sencillo trabajar con Fin-TA o Pandas-TA antes que con TA-Lib. Esta última librería hace que tengamos que llamar a las funciones utilizando funciones lambdas o similar para que el código sea realmente eficiente, lo que lo complica más.

    Mi consejo es que probéis todas las librerías y os quedéis con la que más cómodos os sintáis o se adapten más a vuestras necesidades, ya que las 3 son muy buenas opciones.

    Como siempre, si tenéis cualquier duda o mejora del artículo no dudéis en poneros en contacto conmigo y os contestaré lo antes posible.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *