Język programowania najbardziej odpowiedni dla sektora finansowego? [Zamknięte]


10

Jestem studentem pierwszego roku na studiach i pracuję na kierunku inżynieria oprogramowania / finanse. Uczę się programowania na własną rękę i do tej pory dobrze znam php. Zastanawiałem się, co według was jest najbardziej odpowiednim językiem programowania do bankowości finansowej / inwestycyjnej?

Przeczytałem ten wątek: /software/13109/books-on-developing-software-for-financial-markets-investment-banks

Chcę zacząć uczyć się / czytać na temat języka (podstawy, a nie sprawy finansowe / ilościowe), aby stworzyć podstawy dla przyszłych rzeczy finansowych / ilościowych.


Mówię to tylko w połowie żartobliwie: COBOL :)
Dan McGrath

Mam pracę w finansach i użyliśmy Java i C #. Wszystko zależy od wrażliwości projektu i tego, czego się wymaga . Na przykład bezpieczeństwo, niezawodność, elastyczność itp.
Amir Rezaei

Zauważyłem, że języki funkcjonalne wkraczają do sektora finansowego, zwłaszcza OCaml. Dodatkowa lektura: janestreetcapital.com/minsky_weeks-jfp_18.pdf
dan_waterworth 13.01.11

Programowanie funkcjonalne nadaje się do obliczeń finansowych, takich jak finanse ilościowe. Wypróbuj F #, słyszę, że staje się coraz bardziej popularny w blogach
Homde

Rozważ też Q / KDB + , w zależności od tego, gdzie chcesz pracować.
LennyProgrammers 13.01.11

Odpowiedzi:


10

Pracując sam w sektorze finansowym (choć w Australii), języki, które widziałem powszechnie używane wśród innych instytutów, z którymi rozmawiałem, to

  • Wszystko .NET (C #, ASP itp.)
  • Jawa
  • C ++

Znajomość bazy danych również będzie dla ciebie bardzo przydatna. Spróbuj nauczyć się dialektu języka SQL, takiego jak MS SQL lub Oracle.

Wiem, że istnieje kilka małych instytutów, które również używają wielowartościowych baz danych do swoich podstawowych systemów transakcyjnych. To znaczy coś takiego

  • UniData / UniBasic
  • UniVerse / UniBasic
  • jBase

Jeśli naprawdę interesujesz się nauką konkretnych języków, których możesz bezpośrednio używać w pracy, radzę zapoznać się z ogłoszeniami o pracy w okolicy, w której chcesz znaleźć pracę, aby dowiedzieć się, z czego konkretnie korzystają instytucje finansowe.

Należy jednak zwrócić uwagę na 2 rzeczy:

  • Umiejętności, których szukają, mogą się zmienić do czasu ukończenia studiów
  • To nie ma aż tak wielkiego znaczenia. Naucz się podstaw, a powinieneś być w stanie wybrać wszystko, czego potrzebujesz.

1
Po drugie głosuję na naukę SQL, szczególnie jeśli jesteś zainteresowany handlem z wysoką częstotliwością.
M. Tibbits,

Nie ma problemu @NoviceCoding
Dan McGrath,

Doskonała lista. Potrzebuje tam również VBA i / lub Excel. Oddzielam te dwa, ponieważ jest to mieszanka Excel VBA, a następnie rzeczy z arkusza roboczego, takie jak VLookups
Ian

6

To BARDZO szerokie pole, ale należy rozważyć kilka kwestii ...

Budowanie niestandardowych interfejsów Front Office - Java

Budowanie systemów pakietów - nie specyficzne dla języka. Murex, Calypso i Sophis to tylko niektóre z technologii.

Utrzymanie starszego kodu - Java, C ++, a (tak) nawet COBOL.

Analityka transakcji front office - w znacznie mniejszym stopniu VBA (tak) i inne języki skryptowe.

Handel przy niskim opóźnieniu - C ++

Analizy ilościowe - C ++

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

Ogólne - musisz znać UNIX i SQL


1
+1 To wydaje się bardziej kompletna odpowiedź. Czy się mylę, czy nie wspomniałeś o żadnym języku funkcjonalnym?
Виталий Олегович

Nigdy nie widziałem tego do prawdziwej pracy. Być może kiedyś rozwiąże łamigłówkę w domu. Widziałem tu i tam języki skryptowe, takie jak Python.
MathAttack

3

Smalltalk : JP Morgan's Kapital. Z moich rozmów wynika, że ​​wielu obecnych lub byłych Smalltalkerów pochodzi z UBS, a duży procent Smalltalkerów z Południowej Afryki pochodzi z lub był nauczany przez ludzi z Rand Merchant Bank, dużej lokalnej firmy bankowości inwestycyjnej.

OCaml : Jane Street


2

Dyrektor zarządzający Morgan Stanley powiedział mi kiedyś, że przyszłość programowania finansowego będzie zdominowana przez Pythona - do czego pomyślałem: „Tak mówi człowiek, który nigdy nie programuje ...” Osoba po jego prawej stronie była czarną koder pasowy C ++, który wiedział wystarczająco dużo, aby ręcznie zoptymalizować procedury w zespole Intela (po uzyskaniu 2 doktoratów).

Poza tym jestem pewien, że każdy sklep jest inny. Okazało się jednak, że najlepiej jest prototypować w Matlabie - większość kwantów ma dobre podstawy matematyczne i jest to dość łatwy do opanowania język. Następnie cały kod produkcyjny został wdrożony w C / C ++ ze spersonalizowanymi front-endami dla Excela lub własnego, wydajnego oprogramowania klastrowego homebrew.

Gdybym jednak miał założyć własny fundusz, zastąpiłbym Matlab R, ponieważ spędziłem niezliczone godziny (podczas gdy na imię z jedynym facetem, któremu ufam) przez telefon z pomocą techniczną Matlaba debugując ich flexlm licencjonowanie i interfejs C ++.


1
Re: Python, co ciekawe, amerykańska Komisja Papierów Wartościowych i Giełd niedawno zaproponowała mandat, który wymagałby od emitentów papierów wartościowych przedłożenia programu komputerowego, który odwzorowuje logiczny przepływ funduszy, i że „ten program komputerowy można złożyć… w Pythonie”. sec.gov/rules/proposed/2010/33-9117.pdf
Steve Tjoa,

Łał. Nie miałem pojęcia Ponieważ przełączam się między Ubuntu i Windows, po prostu nie mogę wybrać języka, w którym spacje (tabulacje i spacje) mają znaczenie ...
M. Tibbits

@MTibbits, co, Ubuntu nie ma spacji? :)
Benjol,

@Benjol, Ubuntu ma spacje, muszą to być okna, które nie mają.
dan_waterworth 13.01.11

Wszystko zależy od tego, co chcesz osiągnąć. Znam kilka osób z banków inwestycyjnych, które wykonują prototypowanie w Pythonie przy użyciu powiązania Pythona z biblioteką C ++. Jeśli chodzi o opisywanie transakcji w Pythonie: kilka osób wspomniało wtedy, nie jest to dobry pomysł, ponieważ nie można zweryfikować programów w języku Python. Język programowania w rodzinie ML byłby lepszym rozwiązaniem.
LennyProgrammers,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.