¿Lenguaje de programación más relevante para el sector financiero? [cerrado]

10

Soy un estudiante de primer año en la universidad y hago una doble especialización en ingeniería de software / finanzas. He estado aprendiendo programación por mi cuenta y ya estoy familiarizado con php. Me preguntaba cuál creen ustedes que el lenguaje de programación más relevante es para el uso de banca financiera / de inversión.

He leído este hilo: /software/13109/books-on-developing-software-for-financial-markets-investment-banks

Quiero comenzar a aprender / leer un idioma (lo básico, no las cosas financieras / cuantitativas) para establecer una base para las futuras cosas financieras / cuantitativas.

NovatoCoding
fuente
Digo esto solo en broma: COBOL :)
Dan McGrath
Tengo trabajo en finanzas y utilizamos Java y C #. Todo depende de la sensibilidad del proyecto y de lo que se demanda . Por ejemplo, seguridad, confiabilidad, flexibilidad, etc.
Amir Rezaei
Me di cuenta de que los lenguajes funcionales se están abriendo camino en el sector financiero, especialmente OCaml. Lectura adicional: janestreetcapital.com/minsky_weeks-jfp_18.pdf
dan_waterworth
La programación funcional es adecuada para cálculos financieros como las finanzas cuantitativas. Pruebe F #, escuché que se está volviendo
Homde
Considere también Q / KDB + , dependiendo de dónde quiera trabajar.
LennyProgrammers

Respuestas:

10

Trabajando en el sector financiero yo mismo (aunque en Australia), los idiomas que he visto que se usan comúnmente entre los otros institutos con los que he hablado son

  • Cualquier cosa .NET (C #, ASP, etc.)
  • Java
  • C ++

El conocimiento de la base de datos también será muy útil para usted. Intente aprender algún dialecto de SQL como MS SQL u Oracle.

Sé que hay bastantes institutos pequeños que también usan bases de datos multivalor para sus sistemas de transacciones principales. Esto significa algo como

  • UniData / UniBasic
  • UniVerse / UniBasic
  • jBase

Si está realmente interesado en aprender idiomas específicos que puede usar directamente para un trabajo, mi consejo sería leer detenidamente los anuncios de trabajo en el área local donde desea obtener un trabajo para tener una idea de lo que los institutos financieros están usando específicamente.

Sin embargo, 2 cosas a tener en cuenta son:

  • Las habilidades que están buscando ahora podrían cambiar para cuando te gradúes
  • No importa tanto Aprenda los fundamentos y debería poder recoger lo que necesite.
Dan McGrath
fuente
1
Respaldo el voto para aprender SQL, especialmente si está interesado en el comercio de alta frecuencia.
M. Tibbits
No hay problema @NoviceCoding
Dan McGrath
Excelente lista También necesita VBA y / o Excel allí también. Separo los dos, porque es una mezcla de Excel VBA y luego cosas de la hoja de trabajo como VLookups
Ian
6

Es un campo MUY amplio, pero algunas cosas a considerar ...

Creación de interfaces de front office personalizadas - Java

Creación de sistemas de paquetes: no específicos del idioma. Murex, Calypso y Sophis son algunas de las tecnologías.

Mantener código heredado: Java, C ++ y (sí) incluso COBOL.

Análisis de operaciones de front office: VBA (Sí) y otros lenguajes de secuencias de comandos en un grado mucho menor.

Comercio de baja latencia - C ++

Análisis cuantitativo - C ++

Integración: Java, XML, FPML (lenguaje de marcado de productos financieros)

General: debe conocer UNIX y SQL

MathAttack
fuente
1
+1 Esta parece la respuesta más completa. ¿Me equivoco o no mencionaste ningún lenguaje funcional?
Виталий Олегович
Nunca lo he visto por trabajo real. Tal vez una vez para resolver un desafío para la mente en casa. He visto lenguajes de script como Python aquí y allá también.
MathAttack
3

Smalltalk : Kapital de JP Morgan. De las conversaciones que he tenido, muchos Smalltalkers actuales o anteriores provienen de UBS, y un gran porcentaje de Smalltalkers de Sudáfrica provino o fue enseñado por personas de Rand Merchant Bank, una gran empresa local de banca de inversión.

OCaml : Jane Street

Frank Shearar
fuente
2

Una vez un director gerente de Morgan Stanley me dijo que Python dominaría el futuro de la programación financiera, a lo que pensé: "Eso dice el hombre que nunca programa ..." La persona a su derecha inmediata era un negro cinturón C ++ codificador que sabía lo suficiente como para optimizar a mano las rutinas en el ensamblaje de Intel (después de obtener 2 doctorados).

Aparte de eso, estoy seguro de que cada tienda es diferente. Sin embargo, descubrimos que es mejor hacer un prototipo en Matlab: la mayoría de los quants tienen buenos antecedentes matemáticos y este es un lenguaje bastante fácil de aprender. Luego, todo el código de producción se rodó en C / C ++ con interfaces personalizadas para Excel o para su propio software de clúster casero de alto rendimiento.

Sin embargo, si tuviera que comenzar mi propio fondo, sustituiría R por Matlab, porque pasé innumerables horas (mientras estaba en el primer nombre con el único tipo en el que confiaba) por teléfono con el soporte técnico de Matlab depurando su flexlm licencia e interfaz C ++.

M. Tibbits
fuente
1
Re: Python, curiosamente, la Comisión de Bolsa y Valores de los Estados Unidos propuso recientemente un mandato que requeriría que los emisores de valores presenten un programa informático que mapee el flujo lógico de fondos, y que "este programa informático se presente ... en Python". sec.gov/rules/proposed/2010/33-9117.pdf
Steve Tjoa
Guau. No tenia idea. Desde que cambio por cierto Ubuntu y Windows, simplemente no puedo tomar un idioma donde los espacios en blanco (tabulaciones vs. espacios) importan ...
M. Tibbits
@MTibbits, ¿qué, Ubuntu no tiene espacios? :)
Benjol
@Benjol, Ubuntu tiene espacios, deben ser ventanas que no.
dan_waterworth
Todo depende de lo que quieras lograr. Conozco a varias personas en bancos de inversión que realizan prototipos en Python utilizando un enlace de Python a su biblioteca C ++. Con respecto a la descripción de las operaciones en Python: varias personas mencionaron en ese entonces, esta no es una buena idea, porque no puede verificar los programas de Python. Un lenguaje de programación en la familia ML sería mejor.
LennyProgrammers