CZR Capital #49 - 6 paquetes imprescindibles de Python
Hoy quiero hacer un recopilatorio de herramientas para que tus códigos de python alcancen un nivel superior, nivel quant.
PyFolio
Pyfolio es una librería de Python para el análisis de rendimiento y riesgo de carteras financieras que funciona bien con la librería de backtest de código abierto Zipline.
En el núcleo de pyfolio hay herramientas que permiten realizar plots individuales y estadísticas resumidas para obtener una vista de rendimientos de los resultados del algoritmo.
Estas herramientas presentan métricas de rendimiento y riesgo para los backtest por separando períodos de prueba in-sample y out-of-sample.
Además, visualiza cómo se comportan varias métricas de riesgo y rendimiento a lo largo del tiempo.
Esta librería ya no está mantenida oficialmente por Quantopian, que se disolvió en 2020.
Stefan Jansen ahora mantiene activamente pyfolio bajo el repositorio llamado pyfolio-reloaded.
Aprende más: https://pyfolio.ml4trading.io
API de Python de Interactive Brokers (IB API)
La API de TWS es una interfaz simple pero potente a través de la cual los clientes de IB pueden automatizar las estrategias de trading, solicitar datos de mercado, monitorizar los saldos de las cuentas y las carteras en tiempo real.
La API está diseñada para automatizar algunas de las operaciones que normalmente realizaría manualmente dentro de TWS, como colocar órdenes, monitorizar el saldo y las posiciones de su cuenta o ver los datos en vivo de un activo.
La mayoría de las validaciones y comprobaciones se producen en el backend de los servidores de TWS e IB.
Debido a esto, es muy conveniente familiarizarse con el propio TWS para entender cómo funciona la plataforma.
Aprende más: https://interactivebrokers.github.io/tws-api/
QuantStats
QuantStats realiza perfiles de cartera, lo que permite a los cuantitativos y a los gestores de cartera comprender mejor su rendimiento proporcionándoles análisis en profundidad y métricas de riesgo.
QuantStats tiene un módulo de estadísticas para calcular varias métricas de rendimiento de una estrategia de trading o backtest, y un módulo de ploteado para visualizar esas métricas a lo largo del tiempo.
Tiene un módulo de informes para generar informes de métricas, plotear por lotes y crear hojas de resumen que se pueden guardar como HTML.
QuantStats funciona muy bien con la salida de muchos entornos de backtests.
Aprende más: https://github.com/ranaroussi/quantstats
Backtrader
Backtrader es un framework de backtest, basado en Python y basado en eventos.
Te permite dedicar más tiempo a la redacción de estrategias de trading, modelos, señales y análisis reutilizables y menos tiempo construyendo la infraestructura.
Otra buena característica de Backtrader es que se conecta a Interactive Brokers para obtener datos en vivo y comercio.
También puedes importar tus propios datos personalizados a través de CSV.
Viene con indicadores integrados que utilizan la popular biblioteca TA-Lib. Backtrader tiene analizadores reutilizables para rendimientos a lo largo del tiempo, el ratio de Sharpe y la volatilidad.
La suya es una poderosa combinación que te permite evitar escribir el código desde cero.
Aprende más: https://github.com/mementum/backtrader
SDK de OpenBB
El SDK de OpenBB te da acceso programático a las capacidades de la Terminal OpenBB.
Tienes los bloques de construcción para crear tus propias herramientas financieras y aplicaciones, ya sea un panel de visualización o un informe personalizado en Jupyter Notebook.
Obtienes acceso a datos financieros normalizados de docenas de proveedores de datos sin tener que desarrollar tus propias integraciones desde cero.
Además de las fuentes de datos financieros, OpenBB SDK también le proporciona una caja de herramientas para realizar análisis financieros en una variedad de clases de activos, incluyendo acciones, criptomonedas, ETF, fondos, etc...
Aprende más: https://openbb.co/
Librería de RiskFolio
Riskfolio-Lib es una librería para hacer la asignación cuantitativa de activos estratégicos o la optimización de la cartera en Python.
Ayuda a los profesionales a construir carteras de inversión basadas en modelos matemáticamente complejos con poco esfuerzo.
Está construido sobre cvxpy y está estrechamente integrado con pandas DataFrames.
Riskfolio-Lib ayuda con la optimización de la cartera utilizando la variación media, la cartera de paridad de riesgo, clustering, el peor de los casos, Black Litterman y docenas de otros.
Aprende más: https://riskfolio-lib.readthedocs.io/en/latest/index.html