Фондовый рынок – это высокотехнологичная отрасль.
Для того чтобы инвестор мог купить акции той или иной компании, не вставая с дивана, используются различные протоколы передачи финансовых данных (например, ИСПРАВИТЬ , БЫСТРЫЙ , Плаза 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 будет плюсом.
- Оформление в соответствии с ТК РФ;
- Медицинская страховка (по окончании испытательного срока);
- Лояльное руководство и гибкий график работы;
- Офис в Москве в 15 минутах ходьбы от метро Павелецкая или Серпуховская;
- Никакого дресс-кода и уважения ценностей каждого сотрудника.
Теги: #разработка #фондовый рынок #программное обеспечение для биржи #онлайн-трейдинг #SmartX #Matrix #разработка сайтов
-
Прелог, Владимир
19 Oct, 24 -
Почему В Амстердаме Так Много Дата-Центров?
19 Oct, 24 -
Поиск Изображений Лиц
19 Oct, 24 -
Dos-Эксплойт Для Движка Webkit
19 Oct, 24 -
Talkpad.ru — Наш Ответ Скайпу!
19 Oct, 24 -
Робот Играет В Бильярд
19 Oct, 24 -
Еженедельный Подкаст №68
19 Oct, 24