Как меняются подходы к разработке терминалов для торговли на бирже: 4 тренда 2018 года +9




Мы в ITI Capital занимаемся развитием собственных инструментов для торговли на российских и зарубежных биржах уже более 10 лет. За это время требования к подобным продуктам и подходы в их разработке неоднократно менялись. Сегодня мы поговорим о главных трендах текущего года, используя в качестве иллюстраций изменения, произошедшие за последнее время с нашим терминалом SMARTx.

Запрос на удобство


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

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

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



Вкладки рабочего пространства «как в браузере»

Сложное становится простым


В одном из предыдущих материалов мы рассматривали тренды в сфере интерфейсов мобильных торговых терминалов. Один из самых заметных проектов в этой сфере — стартап Robinhood, который позволяет совершать сделки на биржи с помощью тапов и свайпов в крайне простом и удобном приложении. В последнее время запрос на такое упрощение заметен и в сегменте десктопного торгового софта.

В первоначальном варианте терминала мы предусмотрели окно ввода заявки на покупку или продажу, в котором можно было задавать самые разные параметры будущей сделки:



Расширенное окно ввода заявки

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



Упрощенное окно ввода заявки

Кроме того, при торговле через терминал SMARTx существует возможность защиты уже открытой позиции стоп-заявками (они позволяют, например, автоматически продавать акции при достижении определенной цены — это позволяет гарантированно зафиксировать прибыль или ограничить убыток по сделке).

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

Чем больше данных — тем лучше


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

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



Таблица котировок терминала

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

Производительность очень важна


Пункт, вытекающий из предыдущего — требования к производительности торговых терминалов растут год от года. Мы уже рассказывали о том, как внедряли новые механизмы повышения производительности SMARTx. Среди ранее внедренных «фич» были:

  • Отложенная отрисовка таблиц и графиков — они обновляются при приходе новых данных и после освобождения основного потока от обработки очереди сообщений.
  • Фильтрация нагруженных потоков данных — при повышении рыночной активности терминал научился «отбрасывать» устаревшие данные и показывать только самую актуальную информацию.
  • Снижение memory traffic — мы создали собственный memory management для часто изменяющихся и обновляемых объектов и коллекций. В результате удалось снизить число сборок мусора при работе терминала, в итоге при этом терминал не подвисает и может работать без перезагрузки неограниченное время без повышения объема потребляемой памяти.



Тест производительности при открытии большого числа графиков в терминале

Однако несмотря на все эти нововведения оставались и проблемы. К примеру, изначально была создана только 32-битная версия терминала — и даже в 64-битных операционных системах работала она. Однако со временем выяснилось, что такая ситуация подходит не всем клиентам.

Среди наших пользователей много тех, кто использует торговых роботов и автоматизированные средства торговли, а терминал для них служит инструментом контроля ситуации на рынке. У таких трейдеров число заявок и сделок может исчисляться тысячами и даже десятками тысяч в день, при этом существует тренд на увеличение объемов торгов. При этом в 32-битных системах есть ограничение на потребляемую приложением память, поэтому при большом количестве сделок и заявок, в определенный момент терминал просто начинал работать крайне медленно и «падал». Чтобы решить эту проблему нам пришлось переработать платформу и создать 64-битную версию SMARTx.

Заключение


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

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

Другие материалы по теме финансов и фондового рынка от ITI Capital:





К сожалению, не доступен сервер mySQL