27 votos

¿Cuáles son los lenguajes de programación más utilizados en finanzas cuantitativas?

¿Qué lenguajes de programación son los más habituales en las finanzas cuantitativas y por qué se utilizan?

Nota: No me refiero a qué idiomas se utilizan para desarrollar el sistema contable en un fondo de cobertura: esto está específicamente relacionado con aspectos de valoración y negociación.

30voto

ejunker Puntos 3442

Búsqueda en http://www.quantfinancejobs.com para

  • "C#": 62 empleos, 54 (2011)
  • "C++": 209 empleos, 236 (2011)
  • "Java": 72 empleos, 121 (2011)
  • "VBA": 35 empleos, 20 (2011)

Buscar en http://www.quantcode.com/modules/jobs/ para

  • "C#": 228 empleos, 277 (2011)
  • "C++": 696 empleos, 813 (2011)
  • "Java 291 empleos, 328 (2011)
  • "VBA": 157 empleos, 190 (2011)

29voto

Greg Hurlman Puntos 10944

Una selección de C , C++ o Java es prácticamente necesario en alguna parte de la pila, ya que la mayoría de los proveedores de datos sólo suministran bindings para uno de esos lenguajes. Sin embargo, una vez que llegan los datos, la mesa de contratación puede utilizar lo que quiera.

Además de los tres anteriores, he visto que estos se utilizan en la producción:

  • Visual Basic / Excel
  • q / kdb+
  • R
  • Python
  • MATLAB
  • OCaml

También he visto Flex et AJAX utilizado para algunos componentes frontales.

Por último, algunas empresas crean sus propios lenguajes. Goldman Sachs tiene Jerga .


Pregunta relacionada:

¿Qué lenguaje debo utilizar en finanzas cuantitativas?

Respuesta relacionada:

  1. Lo que tu jefe te pague por usar.
  2. Al menos uno de los "Tres Grandes" anteriores para obtener la alimentación de datos.
  3. Si realmente puedes elegir, lo que te resulte más cómodo.

En cuanto a #3, por eso te darás cuenta de que la mayoría de los lenguajes elegidos son de naturaleza matemática (como R y MATLAB) o de muy alto nivel (como Python y OCaml).

13voto

urini Puntos 8233

F# se utilizaba en Credit Suisse y creo que en otras mesas. Por lo que sé de gente de Microsoft, los bancos pidieron a MS que lo convirtiera en un lenguaje compatible; de lo contrario, habría seguido siendo un proyecto de Microsoft Research.

También he visto utilizar Haskell para el comercio de derivados.

13voto

Adam Haile Puntos 12576

Creo que C++ es el lenguaje de infraestructura cuantitativa más común. No conozco ni un solo fondo de cobertura o banco de inversión que no lo utilice de forma extensiva o completa (y he hablado con mucho de ellos en algún momento del pasado). En algunos casos, como el de la antigua Lehman Brothers, ahora Barclays, C++ era el único lenguaje elegido, lo cual es un poco extremo, dado que C++ no es tan fácil de usar como un lenguaje de scripting. La mayoría de las empresas que conozco combinan C++ con un lenguaje de scripting de su elección. Tradicionalmente, éste era MATLAB, que sigue siendo increíblemente popular para la creación de prototipos. Más recientemente, R y Python se han hecho más populares. Especialmente R se utiliza ahora en varios fondos de cobertura que conozco, y ha ocupado muchos puestos de MATLAB; y sé de usuarios de Python en JPM y UBS. Python también tiene buenos enlaces con BLAS, LAPACK, NAG y MOSEK. Goldman se ha diferenciado desarrollando un lenguaje propio, SLANG; la definición misma de no popular. No creo que Java se utilice mucho o nada para el trabajo numérico. Sólo hay que tratar de encontrar mantenidos a BLAS y LAPACK.

Algún creador de mercado loco se diferenciará a través del lenguaje, como en el caso de Jane St., usuario solitario de OCAML. No me sorprendería encontrar una tienda de 10 personas que sólo utiliza LISP y que pasa desapercibida, y que es muy rica. Pero nunca he oído hablar de un solo Clojure/Scala/Groovy/Ruby/[añada su lenguaje de moda] en una empresa seria. Al menos, yo nunca invertiría mi dinero en una empresa que utiliza un lenguaje inmaduro de desarrollo web para gestionar la riqueza.

Resumiendo, yo diría que C++, y luego una serie de lenguajes de prototipado, con MATLAB todavía dominando, pero R teniendo un fuerte impulso positivo.

10voto

Matthew Ruston Puntos 176

Recientemente realicé una encuesta en LinkedIn sobre este tema que obtuvo los siguientes resultados 160 votos y generó una gran conversación sobre este tema.

http://linkd.in/gHNOgt (Resultados de la encuesta: Java ha ganado)

Me di cuenta a posteriori de que debería haber estructurado la pregunta de forma más específica"

En última instancia, dependiendo del componente de un sistema de negociación que se encargue de construir (back office, front office, sistema de mensajería, análisis cuántico, etc.), unas tecnologías hacen mejor las cosas que otras, y no existe una "talla única".

Curiosamente, si nos fijamos en la "edad" demográfica de los encuestados, C/C++ era típicamente de los mayores de 30 años, mientras que la generación más joven tendía hacia Java, F# (OCaml) o Python.

Además, es importante que Muchos programadores con formación matemática tienden a encontrar más útiles los lenguajes "funcionales". frente a los "lenguajes imperativos".

Ambos tienen sus pros y sus contras, pero recuerde: los lenguajes funcionales tienden a compilar en más rápido byte-code, pero quizá más difícil de adaptar a las nuevas tecnologías para la web.

Por mi parte, estoy escribiendo un libro de órdenes límite en F#, Scala (Java funcional) y Python, y voy a estudiar los resultados.

http://www.opensourcetrader.com

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