Интернет-Трейдинг: Как Стать Разработчиком Систем Для Торговли На Бирже



Интернет-трейдинг: Как стать разработчиком систем для торговли на бирже

Фондовый рынок – это высокотехнологичная отрасль.

Для того чтобы инвестор мог купить акции той или иной компании, не вставая с дивана, используются различные протоколы передачи финансовых данных (например, ИСПРАВИТЬ , БЫСТРЫЙ , Плаза II ), терминалы, брокерские и биржевые торговые системы, а для обеспечения работы всей этой экосистемы используется современное оборудование .

При этом, чтобы участвовать в интересных проектах, инженеру не обязательно ехать за границу – новые технологии активно внедряются на российском фондовом рынке.

Мы решили подробнее рассказать о двух таких проектах – торговом терминале SmartX и брокерской системе Matrix, и предложить заинтересованным пользователям принять участие в их разработке.



Терминал для торговли на бирже

Интернет-торговля в России развивается уже много лет. А наш первый торговый терминал SmartTrade появился в начале 2000-х годов.

Однако программное обеспечение, как и все в этом мире, устаревает, и иногда нужно просто двигаться дальше.

Поэтому было принято решение создать новый флагманский терминал, который вобрал бы в себя все лучшие качества наших предыдущих продуктов, но был бы более современным как по интерфейсу, так и по функциональности, и, в то же время, более гибким, чем его предшественники.

Во многом поэтому мы решили разработать торговый терминал СмартХ не совсем с нуля, а по лицензии технологии американской компании Модуль FE , в частности, торговая платформа М4 , который поставляется со всем исходным кодом и может быть изменен в соответствии с потребностями наших клиентов.



Интернет-трейдинг: Как стать разработчиком систем для торговли на бирже

Быстро стало понятно, что технологии Modulus не в полной мере отвечают нашим потребностям и реалиям рынка.

Поэтому требовались значительные доработки, в частности, в области производительности терминала.

Например, мы отказались от стандартной графики и выбрали новое графическое ядро — проект с открытым исходным кодом.

Гордаго , - который затем был сильно изменен в соответствии с нашими потребностями в производительности.

Также решения Modulus FE построены на платформе .

NET, поэтому изначально все элементы управления были стандартными «Dotnet», но, по тем же соображениям производительности, от них было решено отказаться.

Хорошей заменой после некоторой модификации стал другой открытый проект — SourceGrid. Скорость обновления таблиц на больших объемах данных в итоге увеличилась почти на 2 порядка.

Мы не остановились на достигнутом и провели целый ряд работ, направленных на оптимизацию производительности — подробнее об этом в наш материал .

Как это часто бывает, начав что-то менять, сложно остановиться, и после начала разработки нового терминала началась работа над созданием совершенно новой брокерской торговой системы.

Основная часть этой работы была завершена осенью 2013 года, получившаяся система получила название Матрица .

Давайте поговорим об этом подробнее.



Брокерская торговая система

В брокерской системе предыдущего поколения все биржевые данные (заявки, транзакции, состояние счета и т.д.) клиенты получали путем подключения к единому серверу доступа, однако в проекте Matrix было решено разделить эти потоки данных на два основных «банка».

: серверы приема заказов (Order Mamagemegent Servers — OMS) и серверы, которые предоставляют клиентам рыночные данные и информацию о счетах.

В аппаратной части комплекса используются блейд-серверы PowerEdge и системы хранения PowerVault от Dell. Помимо архитектуры, качество брокерской торговой системы зависит от качества программного обеспечения, реализующего основные функции, а также от надежности оборудования, на котором она работает. Чтобы быть уверенными в том, что наш продукт действительно соответствует мировым стандартам, были проведены тендеры среди поставщиков как аппаратных решений, так и разработчиков программного обеспечения.

В результате аппаратную часть новой системы предоставила Dell, а программное обеспечение (и некоторое оборудование) нам поставила IBM.

Интернет-трейдинг: Как стать разработчиком систем для торговли на бирже

Под каждым из этих серверов-балансировщиков находится еще несколько серверов, решающих локальные задачи.

Клиентские подключения распределяются между ними так, чтобы каждый сервер получал одинаковую нагрузку.

Наши серверы связаны друг с другом и с биржевой торговой системой с помощью специальной высокоскоростной шины, построенной на базе серверов IBM Data Power X75 и программного обеспечения MQ Low Latency Messaging. За этой шиной уже стоят серверы шлюза обмена.

Шина самостоятельно решает, через какой из них отправлять конкретный запрос или откуда брать данные.

В принципе, этого достаточно для нормального функционирования всей системы, но мы добавили в нее еще и сервер управления рисками, который, в отличие от предыдущей системы, теперь не является центральным звеном, и любые проблемы с ним не вызывают всей системы.

систему остановить.

Еще одним новшеством являются так называемые FIX-серверы, которые позволяют подключать к транспортному средству MatriX приложения, написанные по протоколу FIX. Подробнее об этом решении мы поговорим в отдельной теме.

Окончательная архитектура системы выглядит так:

Интернет-трейдинг: Как стать разработчиком систем для торговли на бирже

Такой «матричный» подход к построению системы позволил снизить ущерб от возможных сбоев (отказ конкретного звена не приводит к необратимым последствиям), а также дает возможность легко масштабировать систему в будущем.

Самое главное, что скорость работы резко возросла.

Сейчас скорость обработки приложений в системе колеблется от 500 микросекунд до 2 – это очень хороший результат. Общее время прохождения заявки от момента входа в «Матрицу» до выхода в системы обмена составляет от 2 до 5 миллисекунд (без учета потерь на каналах связи с системой) — это примерно в 40/50 раз быстрее, чем в системе предыдущего поколения.



Для чего все это?

Мы постоянно совершенствуем нашу продукцию, SmartX и Matrix далеко не единственные в своем ассортименте.

Чтобы сделать их еще надежнее и быстрее, нам нужны качественные инженеры, которых привлекают технологии обмена.

Если вы один из них, то ниже информация для вас.

Итак, кого мы ищем:

Разработчик C# (работает над терминалом SmartX)
  • Отличное знание ООП;
  • Знание стандартных алгоритмов;
  • C# GUI WINFORMS 2+ года;
  • Win32 2+ года;
  • Опыт разработки многопоточных приложений;
  • Умение работать в команде с аутсорсерами;
  • Умение использовать систему контроля версий (неважно какую);
  • COM/dcom будет плюсом.



Серверный C++ разработчик (торговая система Matrix)
  • Отличное знание ООП;
  • Знание стандартных алгоритмов;
  • Опыт программирования на C++ не менее 3 лет;
  • Опыт разработки под Linux;
  • Опыт разработки многопоточных приложений;
  • Умение работать в команде с аутсорсерами;
  • Умение использовать систему контроля версий (неважно какую);
  • COM/dcom будет плюсом.

Наша техническая команда по-прежнему относительно невелика, а это означает, что каждый участник сможет принимать ключевые решения, которые напрямую влияют на проект. Помимо прочего, работа в ITinvest — это:
  • Оформление в соответствии с ТК РФ;
  • Медицинская страховка (по окончании испытательного срока);
  • Лояльное руководство и гибкий график работы;
  • Офис в Москве в 15 минутах ходьбы от метро Павелецкая или Серпуховская;
  • Никакого дресс-кода и уважения ценностей каждого сотрудника.

Отправьте рассказ о себе и проектах, в которых вам удалось поучаствовать, в текстовом формате в теле письма на адрес электронной почты.

[email protected] .

Теги: #разработка #фондовый рынок #программное обеспечение для биржи #онлайн-трейдинг #SmartX #Matrix #разработка сайтов

Вместе с данным постом часто просматривают: