10 votos

¿Equivalente a la caja de herramientas financieras de Matlab en python?

He estado trabajando en la creación de un modelo de asignación de activos que requiere que el precio de un montón de instrumentos financieros (es decir, bonos, opciones) y optimizar sobre la base de una determinada restricción. Originalmente estaba haciendo esto en Matlab, pero ahora estoy buscando cambiarlo a Python. ¿Existe algún paquete que sea equivalente al Matlab Financial Toolbox en Python? He leído sobre muchos de ellos (por ejemplo, vollib, QuantLib/PyQL), pero no estoy seguro de cuál es el más confiable / popular / comúnmente utilizado.

16voto

Cube_Zombie Puntos 174

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.

-1voto

smiley Puntos 26

Para empezar, consulte Anaconda de Continuum Analytics. Agrupan todas las bibliotecas científicas y estadísticas de Python en un cómodo instalador. Algunos de estos paquetes pueden ser difíciles de instalar si tratas de instalarlos poco a poco. Si tienes Anaconda tienes más o menos la caja de herramientas financieras completa para Python y entonces puedes empezar a explorar los paquetes individuales. Anaconda proporciona una lista de paquetes instalados con enlaces a la documentación de cada paquete: https://docs.continuum.io/anaconda/pkg-docs.html

Si quiere empezar con una biblioteca específica proporcionada por Anaconda, le sugeriría pandas . Se extiende a muchas otras bibliotecas bajo el capó para los cálculos, pero es una biblioteca de nivel superior bastante omnipresente (es decir, la biblioteca con la que el usuario interactúa) cuando se trata de finanzas cuantitativas en Python.

0 votos

La única referencia que veo a algo financiero en la lista de paquetes que has enlazado es Quandl, y eso son datos, no análisis. "Más o menos la caja de herramientas financieras completa" parece un poco exagerado...

0 votos

@LuigiBallabio, según su página web, MatLab Financial Toolbox "proporciona funciones para la modelización matemática y el análisis estadístico de datos financieros." Eso es también lo que hacen las librerías empaquetadas bajo Anaconda (aunque también pueden usarse para datos no financieros).

0 votos

Para aclarar, la caja de herramientas financieras de MatLab proporciona funciones que hacen el modelado y el análisis directamente, es decir, le doy los datos de mercado necesarios y me pone el precio de una opción. Las bibliotecas de Anaconda son más generales, y tendría que escribir mis propias funciones para la fijación de precios de los instrumentos financieros. Estoy buscando un paquete de Python que haga todo eso por mí.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X