Linguaggio di programmazione più rilevante per il settore finanziario? [chiuso]


10

Sono una matricola al college e sto facendo un doppio maggiore in ingegneria software / finanza. Ho imparato a programmare da solo e ormai ho una buona familiarità con PHP. Mi chiedevo che cosa pensate voi ragazzi sia il linguaggio di programmazione più rilevante per l'uso delle banche finanziarie / di investimento?

Ho letto questa discussione: /software/13109/books-on-developing-software-for-financial-markets-investment-banks

Voglio iniziare a studiare / leggere su una lingua (le basi non roba finanziaria / quantistica) per gettare le basi per il futuro roba finanziaria / quantistica.


Lo dico solo per metà scherzando: COBOL :)
Dan McGrath il

Ho un lavoro in finanza e abbiamo usato Java e C #. Tutto dipende dalla sensibilità del progetto e da cosa è richiesto . Ad esempio sicurezza, affidabilità, flessibilità ecc.
Amir Rezaei

Ho notato che i linguaggi funzionali si stanno facendo strada nel settore finanziario, in particolare OCaml. Letture extra: janestreetcapital.com/minsky_weeks-jfp_18.pdf
dan_waterworth

La programmazione funzionale è adatta per calcoli finanziari come la finanza quantitativa. Prova F #, ho sentito che sta diventando sempre più popolare nel settore finanziario blogs.msdn.com/b/dsyme/archive/2011/01/12/…
Homde

Considera anche Q / KDB + , a seconda di dove vuoi lavorare.
LennyProgrammers,

Risposte:


10

Lavorando nel settore finanziario (anche se, in Australia), le lingue che ho visto comunemente usate tra gli altri istituti con cui ho parlato sono

  • Anything .NET (C #, ASP, ecc.)
  • Giava
  • C ++

Anche la conoscenza del database ti sarà molto utile. Prova ad imparare un dialetto di SQL come MS SQL o Oracle.

So che ci sono alcuni piccoli istituti che usano anche DB multivalore per i loro principali sistemi di transazione. Questo significa qualcosa di simile

  • UniData / UniBasic
  • UniVerse / UniBasic
  • jBase

Se sei davvero interessato all'apprendimento di lingue specifiche che puoi utilizzare direttamente per un lavoro, il mio consiglio è di esaminare le inserzioni di lavoro nell'area locale in cui desideri trovare un lavoro per avere un'idea di ciò che gli istituti finanziari stanno utilizzando specificamente.

Tuttavia, 2 cose da notare sono:

  • Quali abilità stanno cercando ora potrebbero cambiare al momento della laurea
  • Non importa molto. Impara i fondamenti e dovresti essere in grado di raccogliere tutto ciò di cui hai bisogno.

1
Secondo il voto per l'apprendimento di SQL, soprattutto se sei interessato al trading ad alta frequenza.
M. Tibbits,

Nessun problema @NoviceCoding
Dan McGrath,

Elenco eccellente C'è anche bisogno di VBA e / o Excel. Separo i due, perché è un mix di VBA di Excel e quindi roba da foglio di lavoro come VLookups
Ian

6

È un campo MOLTO ampio, ma alcune cose da considerare ...

Creazione di interfacce front office personalizzate - Java

Creazione di sistemi di pacchetti - Non specifici per la lingua. Murex, Calypso e Sophis sono alcune delle tecnologie.

Mantenimento del codice legacy: Java, C ++ e (sì) anche COBOL.

Analisi di trading del front office - VBA (Sì) e altri linguaggi di scripting in misura molto minore.

Trading a bassa latenza - C ++

Analisi quantitativa - C ++

Integrazione - Java, XML, FPML (Financial Products Markup Language)

Generale: è necessario conoscere UNIX e SQL


1
+1 Questa sembra la risposta più completa. Sbaglio o non hai menzionato alcun linguaggio funzionale?
Виталий Олегович,

Non l'ho mai visto per un vero lavoro. Forse una volta per risolvere un rompicapo interno. Ho visto linguaggi di scripting come Python qua e là.
MathAttack,

3

Smalltalk : Kapital di JP Morgan. Dalle conversazioni che ho avuto, molti attuali o ex-Smalltalker provengono da UBS e una grande percentuale dei Smalltalker del Sud Africa proveniva o veniva insegnata da persone della Rand Merchant Bank, una grande società di investimenti bancari locali.

OCaml : Jane Street


2

Una volta mi è stato detto da un amministratore delegato di Morgan Stanley che il futuro della programmazione finanziaria sarebbe stato dominato da Python - al quale ho pensato, "Così dice l'uomo che non programma mai ..." La persona alla sua immediata destra era un nero programmatore C ++ per cintura che sapeva abbastanza da ottimizzare manualmente le routine nell'assemblaggio Intel (dopo aver ottenuto 2 dottorati).

A parte questo, sono sicuro che ogni negozio è diverso. Tuttavia, abbiamo trovato il prototipo migliore in Matlab: la maggior parte delle query ha un buon background matematico e questo è un linguaggio abbastanza facile da imparare. Quindi tutto il codice di produzione è stato inserito in C / C ++ con front-end personalizzati per Excel o il proprio software cluster ad alte prestazioni homebrew.

Tuttavia, se dovessi avviare il mio fondo, sostituirei R a Matlab, perché ho trascorso innumerevoli ore (mentre ero in prima persona con l'unico ragazzo di cui mi fiderei) al telefono con il supporto tecnico di Matlab per il debug del loro flexlm licenza e interfaccia C ++.


1
Ri: Python, interessante, la Securities and Exchange Commission degli Stati Uniti ha recentemente proposto un mandato che richiederebbe agli emittenti di titoli di presentare un programma informatico che mappasse il flusso logico dei fondi e che "questo programma informatico sarebbe archiviato ... in Python". sec.gov/rules/proposed/2010/33-9117.pdf
Steve Tjoa

Wow. Non ne avevo idea. Da quando cambio tra Ubuntu e Windows, non riesco proprio a prendere una lingua in cui gli spazi bianchi (tabulazioni vs spazi) contano ...
M. Tibbits

@MTibbits, cosa, Ubuntu non ha spazi? :)
Benjol,

@Benjol, Ubuntu ha spazi, deve essere Windows che no.
dan_waterworth,

Tutto dipende da cosa vuoi ottenere. Conosco diverse persone in banche d'investimenti che realizzano prototipi in Python usando un'associazione Python alla loro libreria C ++. Per quanto riguarda la descrizione delle attività commerciali in Python: diverse persone citate all'epoca, questa non è una buona idea, perché non è possibile verificare i programmi Python. Un linguaggio di programmazione nella famiglia ML sarebbe più adatto.
LennyProgrammers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.