Eché un vistazo a la caja de herramientas financieras de Matlab e intenté asignar las funciones a los paquetes de Python correspondientes.
Para la asignación de activos, la optimización de carteras y el análisis de riesgos:
- Paquetes estándar como
scipy
proporcionan un gran número de optimizadores que debería adaptarse a sus necesidades. También hay paquetes preconfigurados que hacen optimizaciones de cartera más directamente, pero no tengo mucha experiencia con ellos.
- Paquetes especializados como
pyfolio
y alphalens
proporcionan una gran cantidad de funciones que facilitan enormemente el análisis del rendimiento y del riesgo.
- Para algunas aplicaciones de riesgo, también puede encontrar
Copulalib
útil.
Para los instrumentos de fijación de precios -
- Como ya ha mencionado,
Quantlib
es casi con toda seguridad la mejor solución de código abierto que existe y hay algunas formas de hacer que Quantlib sea accesible desde Python (por ejemplo, QuantLib-Python ).
- Si tiene otro código C++ que ya utiliza para la fijación de precios, eche un vistazo a Impulsar Python .
Para el análisis de series temporales:
- Una combinación de
pandas
y statsmodels
es el estándar de oro y debería ser más que suficiente para la mayoría de los propósitos. El primero ofrece una amplia colección de utilidades para trabajar con series temporales ( DataFrame
, Series
, Panel
etc.), mientras que el segundo proporciona una completa biblioteca para ejecutar desde regresiones lineales hasta sofisticados modelos factoriales dinámicos.
pandas-datareader
tiene muchas funciones preconfiguradas para recuperar datos financieros y económicos de fuentes públicas.
- También he encontrado
arch
bastante ingenioso para ejecutar modelos de tipo GARCH.
Para el análisis técnico:
ta-lib
tiene una envoltura de Python fácil de usar.
Para los gráficos financieros:
matplotlib
es la biblioteca central. pandas
tiene funciones de trazado incorporadas que utilizan matplotlib para hacer que muchos tipos de gráficos sean muy fáciles de trabajar.
- Para ver gráficos más bonitos, consulte también
seaborn
.
Para los SDE:
- Todavía no me he encontrado con problemas que no se puedan resolver con
scipy
.
Y para el cálculo numérico en general, necesitas:
numpy
para el cálculo numérico;
scikit-learn
para el aprendizaje automático.
sympy
para la matemática simbólica.