[Перевод] Какие языки программирования лучше всего подходят для разработки финансовых приложений

imageПримечание переводчика: Данный текст был написан Майклом Халлс-Муром, математиком и физиком из Лондона, который профессионально занимается биржевой торговлей и является квантом. Майкл основал ресурс QuantStart.com, на котором публикуются разнообразные глубоко технические материалы, так или иначе связанные со сферой финансов.

Люди довольно часто спрашивают о том, какие языки программирования наиболее популярны в финансовой сфере — например на фондовом рынке. Какой из них следует знать, чтобы стать независимым разработчиком финансовых приложений или попасть на работу в какую-нибудь крупную компанию рынка? На этот вопрос нелегко ответить однозначно: C++, C# и Java имеют свои плюсы. Сегодня мы поподробнее рассмотрим каждый из них.

C++ В финансовой индустрии всегда ценятся специалисты, которые хорошо знают C++. Значительная часть биржевой и брокерской инфраструктуры создана как раз с применением этого языка, а ведь ее нужно поддерживать и развивать. На C++ может быть написано что угодно: от библиотек для расчета ценовых моделей деривативов до инфраструктурных решений, обработки разнообразных потоков и хранения данных.Зарплаты разработчиков, обладащющих 5-7 годами серьезного опыта разработки на C++, в том же Лондоне могут достигать £500-£700 фунтов в день (в России в компаниях столько заработать сложнее, но спрос также велик — например, С++ разработчики нужны на Московской бирже – прим. перев.). Конечно, нельзя утверждать, что подобная ситуация продлится вечно, но пока что реалии таковы.

Еще одно преимущество, которое дает знание C++ — это тот факт, что такие разработчики обычно очень нужны фондам, специализирующимся на HFT-трейдинге. Однако, для того, чтобы получить работу в таких компаниях, необходимо быть настоящим экспертом и обладать глубочайшими знаниями в области оптимизации, ограничений компилятора и строения операционных систем. На то, чтобы с нуля достичь такого уровня уходят годы, и прежде такие разработчики довольно долгое время трудятся в других областях, где можно получить хороший опыт — например, в телеком-компаниях.

C#/Java Мы объединили эти языки, потому что довольно часто они используются для решения задач одного уровня, особенно в инвестиционных компаниях и банках. Оба этих языка существуют уже довольно давно, но они моложе C++. Софт, написанный на C# и Java используется в огромном количестве проектов инвестиционных компаний, особенно в инфраструктуре — дата-фиды, фротенд-интерфейсы и иногда даже модули для расчета цен деривативов.image

Чтобы не начинать оливаров на тему того, какой язык лучше или хуже, можно сразу сказать, что и C# и Java очень активно используются на «стороне продаж» в финансовой отрасли (например, в банках), но специалисты в этих языках, обычно, меньше заняты на инфраструктурных проектах и не так часто вовлечены в создание торгового софта. Тем не менее, эксперты в этих областях также сильно востребованы на финансовом рынке (вакансии для тех же Java-разработчиков, есть как в банках и брокерских компаниях, так и на самой бирже — прим. перев).

Python, MATLAB и R Скриптовые языки собраны в отдельном пункте поскольку имеют довольно много общего и используются в похожих ситуациях. Три эти языка очень часто используют для прототипирования квантовых моделей в хедж-фондах и «квантовых» трейдерских подразделений в банках.Кванты-трейдеры и исследователи в области финансов пишут код своих прототипов именно на скриптовых языков. Затем эти прототипы уже описываются с помощью более (как кажется) быстрых языков, вроде С++, квантами-разработчиками. Когда я работал таких разработчиком, это было частью должностных обязанностей. Если суета торговых подразделений банков вам не по душе, то при наличии глубокого знания этих скриптовых языков, довольно легко найти работу в организации поспокойнее — например, в хеджевом фонде.

Заключение Если вы являетесь абсолютным новичком в программировании, то можно порекомендовать углубиться в изучение C++ и Python. Если вы освоите эти два языка (и сможете это подтвердить на собеседовании), то проблем с трудоустройством в финансовой отрасли у вас не будет никаких.Статьи по теме:

© Habrahabr.ru