1 votos

¿MATLAB o Python como lenguaje de partida?

Tengo una formación bastante rigurosa en matemáticas (último año de mi licenciatura en Matemáticas Puras), y he estado explorando el mundo de las Finanzas Cuantitativas mientras exploro lo que podría hacer con mi título. La mayor parte del material que me han sugerido (principalmente Quantitative Trading, Ernest P. Chan 2009) está bastante anticuado, por lo que tengo curiosidad por saber cuáles son las principales herramientas que utilizan los traders/analistas hoy en día para la recogida de datos y el backtesting. La mayoría de las respuestas que estoy viendo están entre Python y MATLAB, pero he visto argumentos decentes para ambos. Ni siquiera estoy seguro de si este es el lugar adecuado para hacer este tipo de preguntas, pero soy bastante nuevo en este tipo de cosas y la mayoría de la gente aquí parece bastante conocedora.

1 votos

Lo siento, no he leído bien que se centra en recogida de datos y backtesting Por eso he eliminado esta frase. Mis propios dos centavos: A menudo, depende simplemente de dónde se hayan graduado/doctorado los quants senior, o de si hay un profesor universitario en tu equipo. He visto equipos que construyen todo en Java (...porque el profesor escribió un libro con código Java), o en R; otros construyeron un enorme Matlab/Octave Lib. Y algunos equipos incluso compraron el bloqueo del proveedor y fueron con Python para su Front Arena.

1 votos

Como alguien que ha utilizado Matlab durante casi 15 años (cinco en el mundo académico y diez en el comercio), recomendaría encarecidamente que alguien que empiece por primera vez aprenda Python como primer lenguaje.

1 votos

He utilizado ambos en mi carrera, y hay muchas similitudes. Parece que Python se ha puesto más de moda en los últimos años, posiblemente porque es "libre" y más utilizado. Sinceramente, yo probaría los dos y compararía y contrastaría. No hay nada (que yo sepa) que no se pueda hacer con cualquiera de los dos.

7voto

Cube_Zombie Puntos 174

Estas preguntas suscitan inevitablemente respuestas contundentes. La verdad es que ambas son excelentes. Yo utilizaba Matlab cuando entré en el sector, pero desde entonces he migrado al 100% a Python. A continuación expondré algunas razones rápidas:

  1. Python es un lenguaje de propósito general. Puedes usar Python para hacer finanzas computacionales, pero también puedes usarlo para automatizar casi todo. Yo utilizo Python para buscar datos en la web; he creado aplicaciones web con Python para poder explorar los datos de forma más interactiva; también he trabajado en una aplicación tonta para archivar/indexar todos los PDF que he leído. Usted puede hacer esto con Matlab también, sólo que no tan intuitivamente.

  2. Python es de código abierto y gratuito. Matlab es bastante caro. Incluso si el coste no es una preocupación, es mucho más fácil explorar cómo funciona todo cuando algo es de código abierto, lo que puede ser inestimable para el aprendizaje. Los paquetes de Python también suelen ser de código abierto. Personalmente he aprendido mucho leyendo el código de algunos paquetes.

  3. Python tiene una comunidad excepcional. La comunidad es mucho más grande, lo que significa que obtener ayuda/soporte es probablemente más fácil (por ejemplo, aquí en Stack Overflow). Si te encuentras con problemas/encuentras un error, envía un informe de error o incluso crea un pull request tú mismo. Los mantenedores de paquetes han corregido errores en cuestión de horas. Con Matlab, es probable que tenga que esperar hasta la próxima actualización del producto.

  4. La comunidad de Python también ha creado algunos paquetes realmente notables para hacer casi todo. Aquí En la página web de la empresa, se puede ver un mapeo que intenté entre las cajas de herramientas de Matlab y los posibles equivalentes en Python. Tengo que admitir que, para algunas cosas de gestión de riesgos que hice, las cajas de herramientas incorporadas de Matlab son excepcionales, pero con el tiempo he logrado encontrar/construir equivalentes que funcionan igual de bien, con una tonelada de flexibilidad añadida. Python también se ha convertido en uno de los lenguajes más populares en el campo de la IA, con una excelente comunidad de apoyo propia y muchos paquetes que puedes utilizar fácilmente en tus propios proyectos.

  5. Mucha gente se queja del rendimiento de Python. En mi opinión, no es un problema. Hay muchas maneras de hacer que tu código se ejecute órdenes de magnitud más rápido y que implican muy poco aprendizaje adicional. Por ejemplo, con unos simples numba puede hacer que las funciones de Python se traduzcan automáticamente a código máquina optimizado. También puede utilizar Cython para acelerar en gran medida su código Python, sin tener que aprender C/C++. Echa un vistazo a esto página que es un componente del excelente statsmodels para Python. En la parte inferior hay algunos resultados de referencia muy impresionantes (por cierto, contra Matlab).

6voto

noesgard Puntos 979

También podría considerar R. Al igual que Python, es de código abierto y tiene un gran número de bibliotecas.

Mi impresión es que Python y R son actualmente los lenguajes más populares para las finanzas cuánticas, con Python por delante de R. Como resultado, si uno de tus objetivos es la empleabilidad en el campo, Python podría ser una mejor opción.

2voto

ascobol Puntos 2324

Entre Python y MATLAB, elegiría Python. Es de código abierto, tiene muchas bibliotecas y está orientado a objetos. Además, su sintaxis es agradable.

Sin embargo, Python es lento.

Si sólo eres un usuario de la biblioteca, podrías pensar que Python es rápido. Esto se debe a que la biblioteca está ejecutando cosas en C o C++ bajo el capó. Python tiene el problema de los dos lenguajes, donde las bibliotecas dependen de tener código tanto en Python como en algo como C o C++ para ser rápidas. Esto se puede ver, por ejemplo, en la biblioteca tensorflow donde el 61% del código está en C++. Otro ejemplo es pytorch donde el 53% está en C++.

Al principio, estas cosas pueden parecer poco importantes, pero una vez que necesites o quieras codificar una biblioteca para resolver un problema específico complicado, no podrás hacerlo en Python (a no ser que una biblioteca existente ya tenga las funciones que necesitas, que probablemente estarán en C/C++ y envueltas en Python). O podrás hacerlo, pero será lento.

Esto requerirá que aprendas también C o C++.

Por estas razones, le recomendaré Julia lenguaje de programación. Puede ser rápido como C o Fortran y también puede funcionar como Python, es decir, resuelve el problema de los dos lenguajes. Es fácil de aprender. Además, su comunidad está llena de gente que intenta resolver problemas científicos. Tiene bibliotecas increíbles que se pueden utilizar para las finanzas cuantitativas. Puedes escribir tus propias bibliotecas en el mismo lenguaje. Y muchas, muchas más características.

¡Espero que esto ayude! Gracias.

0 votos

Pero, ¿viene Julia equipada con las bibliotecas que los desarrolladores han dedicado años a crear? Además, ¿hay bibliotecas específicas de finanzas cuantitativas con Julia? Por ejemplo, Python tiene Quantlib, zipline, yfinance, pynance, pandas por nombrar algunas, no estoy seguro si Julia tiene los recursos establecidos que son necesarios y específicos para las Finanzas Cuantitativas.

0 votos

Hola, QuantLib está en C++, no en Python, así que si quieres extender la librería, tienes que programar en C++. Como he dicho anteriormente, si eres sólo un usuario de la biblioteca , Python está bien. Por otro lado, Julia tiene muchas bibliotecas para las finanzas. Por ejemplo, tiene la mejor biblioteca del mundo para soluciones numéricas de ecuaciones diferenciales estocásticas. En lugar de pandas, tienes DataFrames.jl, que es mucho mejor. Además, puedes llamar a cualquier biblioteca de Python desde Julia y utilizar sus resultados. Pero la razón principal por la que recomendé Julia es para desarrollar bibliotecas de alto rendimiento en un lenguaje único.

0 votos

Por favor, consulte ce biblioteca y empezar a buscar en la comunidad de Julia. Se sorprenderá. Espero que esto te ayude. Por supuesto, tendrás que tomarte un tiempo (un par de semanas al menos) para digerir todo y ver de qué va Julia. Muchas gracias.

1voto

penti Puntos 93

Creo que el mejor lenguaje, especialmente para QuantFinance, es R.

Puedes encontrar algunos argumentos en la entrada de mi blog aquí: https://blog.ephorie.de/why-r-for-data-science-and-not-python .

Python intenta ser el preferido de todos mientras que R siempre ha sido un lenguaje estadístico, construido por estadísticos para estadísticos. Las finanzas cuantitativas son principalmente estadísticas y no hay un ecosistema más grande y sofisticado que el de R cuando se trata de ciencia de datos.

Para ver algunos casos de uso, consulte la categoría QuantFinance de mi blog: https://blog.ephorie.de/category/quantitative-finance .

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