Какие языки программирования наиболее востребованы в сфере финансов

http://www.quantstart.com/articles/Which-Programming-Language-Should-You-Learn-To-Get-A-Quant-Developer-Job
  • Перевод
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. Если вы освоите эти два языка (и сможете это подтвердить на собеседовании), то проблем с трудоустройством в финансовой отрасли у вас не будет никаких.

Статьи по теме:

  • +4
  • 57,3k
  • 8

ITI Capital

213,00

Лучший онлайн-брокер для работы на бирже

Поделиться публикацией
Комментарии 8
    +1
    Вывод как-то не слишком убедителен.
      +1
      Почему?
        –2
        Почему из скриптовых выделен именно Python?
        Почему совсем проигнорированы C# и Java? Вроде, написано, что они тоже широко используются, но изучить их на приемлемом уровне легче, чем C++.
      –1
      заголовок не соответствует статье. то, что в финансовой сфере используются именно эти языки, не значит, что они подходят лучше всего.
        +1
        Пожалуй вы правы, изменили
        +1
        Было бы полезно еще упомянуть F#, который стремительно набирает обороты на финансовом рынке (см., например, blogs.msdn.com/b/dsyme/archive/2010/06/28/f-case-study-banking-firm-uses-functional-language-to-speed-development.aspx или книгу и книгу F# for Quantitative Finance www.amazon.com/F-Quantitative-Finance-Johan-Astborg-ebook/dp/B00HJR6S8U). По эффективности получается что-то близкое к C#/Java, в по выразительности и удобству обработки данных не уступает R и MatLab (причем с точки зрения инструментов разработки — Visual Studio — их сильно превосходит).

        Всем советую попробовать!
          +1
          Я бы тогда упомянул и ocaml. Тем более есть коммерческие компании в финансовой сфере ведущие разработку именно на нём (JaneStreet)
          0
          Встречал что Erlang используется.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое