18 votos

Cambio de Matlab a Python para el comercio y la investigación cuantitativa

¿Alguien más ha hecho este cambio? Me lo estoy planteando ahora mismo. ¿Cuáles fueron los aspectos negativos y positivos del cambio?

17voto

Kyle Cronin Puntos 554

Hice el cambio hace años y ha sido genial. I

  • Otros pueden ejecutar tu código Python cuando lo compartes con ellos. Matlab tiene compiladores y similares, pero son un paso extra que debes dar ya que la mayoría de la gente no tiene Matlab en su escritorio.
  • Python y sus extensiones son de código abierto, por lo que permiten ver bajo el capó
  • Python ctypes es ligeramente mejor que la integración de Matlab C
  • La sintaxis de Python es excelente (por ejemplo, la comprensión de listas), y la sintaxis de NumPy para las matrices también es más limpia que la de Matlab.
  • Python es más fácil de integrar con fuentes de datos y archivos externos

Por otra parte

  • Matlab se integra perfectamente con Java
  • Las rutinas de optimización de Matlab son realmente excelentes
  • Matlab 3D plotting es mejor

14voto

Antonio Haley Puntos 2588

Rich, puede que encuentres esto hoja de trucos útil en su viaje.

Hace unos minutos estaba defendiendo Python frente a Matlab ante un compañero de trabajo. Debo empezar diciendo que Matlab es un buen software - su documentación es increíble, al igual que los pdfs que acompañan a las diversas cajas de herramientas (como estoy seguro de que sabes).

Sin embargo, en lo que respecta a Python, Brian B plantea muchos puntos buenos. Me gustaría destacar dos grandes ventajas:

  • Sé que podré desarrollar P

  • Reconozco que una gran porción de la investigación cuántica es simple, sin glamour manipulaciones de datos - Python sirve como Python sirve como un lenguaje pegamento fuerte (como Perl, pero con bibliotecas numéricas mucho más fuertes). Puedo programar cron jobs para scripts de Python que cargan datos, me envían correos electrónicos, etc. Estoy seguro de que hay quien hace esto en Matlab (igual que hay quien hace todo tipo de locuras en VBA), pero Python es una herramienta mucho mejor para estos trabajos.

Dicho esto, todas las empresas de contabilidad legales pueden permitirse Matlab (y todas las costosas cajas de herramientas necesarias para el acceso a bases de datos, lectura/escritura de xls, compilación, que en realidad deberían ser gratuitas, en mi opinión). Si te dedicas exclusivamente a la investigación, probablemente puedas arreglártelas sólo con Matlab, pero lo encuentro algo restrictivo y, quizás, algo arriesgado en términos de disponibilidad.

3voto

kenorb Puntos 516

Hay una biblioteca de Python para esto que tal vez quieras mirar: http://gbeced.github.com/pyalgotrade/

2voto

brian Puntos 124

Sólo he encontrado que MatLab es útil para modelar y probar algoritmos, con la implementación en cualquier otro lenguaje.

1voto

peacemaker Puntos 165

Yo también soy un gran fan de python sobre los competidores. Utilizo mucho las bibliotecas pysci y matplotlib, que son de código abierto, aunque no están diseñadas específicamente para optimizaciones, pero son sólidas para visualizaciones y análisis rápidos.

Otra parte de la transición para mí fue la facilidad de uso del Mac. Es nativo, aunque utilizo macports (muy fácil de instalar) para varios otros proyectos y aumenta mi entorno de desarrollo muy bien. Macports proporciona un enorme catálogo de módulos que se instalan fácilmente con 1 comando y resolución de dependencias (sin el infierno de la gestión de paquetes de *nix) y, por supuesto, todos los IDE funcionan bien (yo uso VIM). Git es nativo, la depuración es muy madura, y si puedes superar la sangría estricta (macros o la ayuda del IDE) entonces es típicamente un código bastante legible.

Nunca he publicado antes, pero he acechado durante meses, así que espero que esta contribución ayuda.

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