- PVSM.RU - https://www.pvsm.ru -
В нашем блоге мы много пишем о технологиях, применяющихся в сфере финансов. За несколько сотен лет биржи прошли путь от публикации цены дважды в неделю на небольших клочках бумаги — как это было, например, в Лондоне, где брокеры собирались в кофейне «У Джонатана», до настоящего технологического большого взрыва в 80-е годы прошлого века.
В итоге сегодня для организации и участия в торгах используется передовой софт, железо, разрабатываются сложнейшие алгоритмы и оригинальные подходы к анализу и обработке данных. Кроме того, в сфере финансов, обычно, весьма неплохие зарплаты — комбинация этих факторов приводит к тому, что многие ИТ-специалисты хотели бы попробовать свои силы в этой отрасли.
Сегодня мы поговорим о том, чего стоит ждать тем из них, кто все-таки решится углубиться в финансовую отрасль — какие технологии (софт, железо, протоколы) здесь используются и какие требования предъявляются к специалистам?
Любая компания, работающая в финансовом секторе, использует значительный набор технологий, который может несколько отличаться в каждом случае. Однако выделить наиболее популярные у финансистов инструменты для создания и поддержания работы систем все же можно.
Так значительная часть инфраструктуры брокерских компаний и бирж создана с применением языка C++ — с его помощью создаются самые разные продукты от библиотек для расчета ценовых моделей производных инструментов до модулей обработки потоков данных. Неудивительно, что специалисты, знающие этот язык, крайне востребованы в сфере финансов. Более того, сам создатель языка C++ Бьерн Страуструп (Bjarne Stroustrup) работает [2] в инвестбанке Morgan Stanley (этот факт, в свое время, активно обсуждался [3] в сообществе разработчиков).
Также крайне востребованными языками программирования в сфере финансов являются C# и Java — они реже используются для инфраструктурных задач, но часто с их помощью реализуют определенные части торговых приложений или фронтенд-сервисы финансовых компаний (например, брокеров).
Для описания торговых стратегий и прототипирования моделей применяют в том числе и скриптовые языки, вроде Python, MATLAB и R. Впоследствии код таких прототипов может быть переведен на более производительный язык — например, C++. Однако в некоторых случаях механические торговые системы могут быть целиком реализованы на скриптовых языках. Некоторые из таких инструментов, вроде языка TradeScript [4], даже включают в торговые терминалы, что позволяет пользователям быстро «набросать» торговую стратегию, не отвлекаясь от анализа котировок и графиков.
На финансовом рынке также существуют свои собственные протоколы передачи финансовых данных. Некоторые из них — это международные стандарты, вроде протоколов FIX [5], а также проприетарные протоколы, использующиеся конкретными биржами. В на российском рынке популярностью пользуется два протокола — Plaza II [6], который был разработан специалистами биржи РТС, и ASTS Bridge [7], созданный на бирже ММВБ. Позднее две эти площадки были объединены в общую «Московскую биржу».
Есть свои протоколы и на зарубежных биржах — не так давно мы рассказывали о протоколах ITCH и OUCH [8], использующихся на американской Nasdaq.
В сфере финансов востребованы далеко не только разработчики программного обеспечения, но и специалисты, занимающиеся созданием и поддержанием работоспособности инфраструктуры. В одном из наших предыдущих материалов мы рассказывали [9] о том, как устроены биржевые дата-центры в России и за рубежом. Как правило, биржи и финансовые компании работают с ведущими ЦОД в своем регионе. Например, московская биржа сейчас работает с дата-центром DataSpace1, который стал первым дата-центром в России и континентальной Европе, который получил все три сертификата категории Tier III от Uptime Institute. Ниже представлены фото его систем охлаждения, электропитания и пожаротушения:
Кроме того, для размещения в подобных ЦОД часто используется передовое «железо» — многие вендоры создают продукты, «заточенные» под работу в сфере финансов. К примеру, в 2015 году Juniper выпустила [10] так называемый «сервер на коммутаторе» QFX5100-AA. Этот продукт предназначен для работе в средах, предъявляющих особые требования к производительности, скорости работы и масштабирования. Финансовый рынок — не единственный подобный сегмент, но один из самых очевидных.
Если говорить о реальных проектах, то инфраструктура торговой системы ITinvest Matrix создана с применением аппаратных средств Dell и IBM. В том числе, используются серверы IBM Data Power X75 (и софт MQ Low Latency Messaging), блейд-серверы PowerEdge и системы хранения данных PowerVault от Dell.
На финансовом рынке действуют самые разные компании — от бирж, банков и брокеров до независимых разработчиков софта для трейдеров и финансистов. Соответственно, и знания ИТ-специалистов могут быть использованы в разных плоскостях, например для создания торговых роботов, работы с инфраструктурой или разработки клиентского софта.
О задачах брокерских компаний можно судить на примере ITinvest. У нас есть несколько проектов, самыми важными из которых являются торговый терминал SmartX [11] (его историю мы описывали здесь [12]) и торговая система Matrix [13].
Отдельный и довольно большой пласт проектов — разработка мобильных приложений для онлайн-трейдинга. В ITinvest есть собственные приложения для iPhone, iPad и Android — ранее мы рассказывали об эволюции интерфейсов [14] этих терминалов с начала двухтысячных годов до наших дней.
Кроме брокеров и самих бирж ИТ-специалисты востребованы компаниями, занимающимися разработкой продуктов для финансистов и трейдеров, которые создают торговый софт. Историю одной из таких компаний StockSharp члены ее команды рассказывали [15] в гостевом материале в нашем блоге.
Также мы рассказывали истории разработчиков, которые занимаются самостоятельной торговлей на бирже и разрабатывают для этого соответствующие инструменты. В этом интервью [16] российский программист рассказал об использующихся им средствах для разработки торговых роботов, а в этом материале описана история [17] американского разработчика, заработавшего полмиллиона долларов с помощью машинного обучения и высокочастотного трейдинга.
Требования, предъявляемые к ИТ-специалистам в разных финансовых компаниях, могут отличаться. И если для специалистов по работе с инфраструктурой они обычно мало отличаются от того, что нужно знать в других отраслях, то для разработчиков есть и некоторые специфические пожелания.
Вот, что желательно знать программисту, чтобы получить работу в сфере финансов:
Кроме того, большим плюсом для поиска работы в сфере финансов будет наличие знаний предметной области — если разработчик понимает разницу между фьючерсом и опционом или аском и бидом и знает, что такое биржевой «стакан», то это может серьезно сократить время, которое понадобится на то, чтобы войти в курс дела. Также это позволит снизить количество ошибок, особенно на первых порах.
Не стоит забывать и о технологических знаниях, применимых именно к финансовой сфере — прежде, чем искать работу в условной брокерской компании, стоит разобраться, к примеру, с протоколами передачи данных вроде FIX или, в случае «Московской биржи», ASTS Bridge.
На фондовом рынке предъявляются и повышенные требования к внимательности и ответственности специалистов — каждая ошибка, которая вкралась в код, развернутый «в продакшене» может привести к серьезным убыткам. В случае бирж, к примеру, могут некорректно транслироваться потоки финансовых данных или торги могут быть вообще сорваны — ранее мы писали о причинах сбоев на зарубежных [20] и отечественных [21] биржах.
Автор: ITinvest
Источник [26]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/118926
Ссылки в тексте:
[1] Image: https://geektimes.ru/company/itinvest/blog/274783/
[2] работает: http://www.morganstanley.com/profiles/bjarne-stroustrup-managing-director-technology
[3] обсуждался: https://www.quora.com/Why-did-Bjarne-Stroustrup-join-Morgan-Stanley
[4] TradeScript: http://www.itinvest.ru/software/comp/smartx/plagin-konstruktor-robotov/
[5] FIX: https://habrahabr.ru/company/itinvest/blog/242789/
[6] Plaza II: https://habrahabr.ru/company/itinvest/blog/261709/
[7] ASTS Bridge: https://habrahabr.ru/company/itinvest/blog/270961/
[8] ITCH и OUCH: https://habrahabr.ru/company/itinvest/blog/278811/
[9] рассказывали: https://habrahabr.ru/company/itinvest/blog/274021/
[10] выпустила: https://habrahabr.ru/company/itinvest/blog/261961/
[11] SmartX: http://www.itinvest.ru/software/comp/smartx/
[12] здесь: https://habrahabr.ru/company/itinvest/blog/213825/
[13] Matrix: http://www.itinvest.ru/software/matrix/
[14] эволюции интерфейсов: https://habrahabr.ru/company/itinvest/blog/273175/
[15] рассказывали: https://habrahabr.ru/company/itinvest/blog/265203/
[16] интервью: https://habrahabr.ru/company/itinvest/blog/223551/
[17] история: https://habrahabr.ru/company/itinvest/blog/211642/
[18] GPU: https://habrahabr.ru/company/itinvest/blog/276943/
[19] сопроцессорами: https://habrahabr.ru/company/itinvest/blog/277463/
[20] зарубежных: https://habrahabr.ru/company/itinvest/blog/262757/
[21] отечественных: https://habrahabr.ru/company/itinvest/blog/268303/
[22] Статья: Какие языки программирования используются в сфере финансов: https://habrahabr.ru/post/271493/
[23] Каким может быть стек технологий для высокочастотного трейдинга: https://habrahabr.ru/post/275663/
[24] Каким может быть стек технологий для торговли опционами на Московской бирже: https://habrahabr.ru/post/277845/
[25] Описание API торговой системы SmartCOM: http://www.itinvest.ru/software/smartcom/
[26] Источник: https://geektimes.ru/post/274783/
Нажмите здесь для печати.