Другая реальность финансового рынка

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

kbujbuaagcoyjdogzgi40y78l_e.jpeg

Disclaimer: данная статья не призвана научить вас разработке под HoloLens на Unity. Для этого есть эта статья. Ниже вы найдёте отличный сценарий использования смешанной реальности в сфере финансов.



Передаю слово автору.

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

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

Чтобы разнообразить свои сервисы и повысить качество визуализации огромного количества информации, dxFeed разработал приложение для анализа данных на основе HoloLens.

Mixed Reality в финансовой индустрии


Финансовые рынки и трейдинг сегодня сильно зависят от степени автоматизации и алгоритмов. Человеку требуется анализировать и обрабатывать огромные потоки информации.

Мы перенесли финансово-аналитические платформы в среду Mixed Reality, чтобы дать пользователям (трейдерам и инвесторам) возможность работать с информацией на более глубоком уровне.

Плоские ранее графики стали объемными, размеры монитора перестали иметь значение, а обзор в 360 градусов дал возможность открыть неограниченное количество экранов.
По нашим наблюдениям, наибольший интерес к этим технологиям проявляют частные трейдеры, инвесторы и консультантов в финансовых организациях по всему миру: для них возможность сотрудничества без привязки к локации является крайне полезной. Банки, инвестиционные фонды, хедж-фонды, FX-брокеры и биржи также осваивают технологии MR, чтобы обогнать своих конкурентов и предложить клиентам услуги, например, консультацию в виртуальном кабинете или отслеживание своего портфеля в 3D.

Поговорим про сценарии


В начале 2016 года мы начали разработку финансового приложения dxFeed Holographic Solution, как только получили первый HoloLens Development Kit.

Первым делом мы визуализировали собственные данные, которые получаем с мировых бирж, а для технической реализации ориентировались на рекомендации Microsoft: использовать Unity, технологию распознавания жестов HoloLens, а также распознавание голоса с помощью Cortana.

gpbfuetiigqkl59ld0etu2v-bvc.png


Эта функциональность, а также возможность манипуляции голографическими объектами могут быть крайне полезны во многих сценариях:

  • Инвестор может пригласить консультанта в виртуальную переговорную для того, чтобы показать, как рост или падение цены влияет на портфель, и продемонстрировать возможные решения.
  • Финансовый аналитик, отслеживающий акции определенной компании на бирже, может получить и визуализировать огромное количество данных, проанализировать прошлые курсы акций и мгновенно передать своему клиенту полученную информацию в голографическом виде.
  • Студенты или новые сотрудники, которые только обучаются трейдингу, могут использовать технологии AR/MR для изучения индикаторов и анализа паттернов по историческим данным и воспроизведению рыночной активности. Это также будет для них отличной возможностью погружения в финансовые рынки для дальнейшего взаимодействия.


Реализация на одном примере


Для примерного понимания принципа работы приложения и перечня используемых технологий рассмотрим конкретный пример. Допустим, что мы хотим отобразить один из наиболее простых виджетов — например, тиковый график (Tick Chart). Такой график показывает пользователю время, цены и объем совершенных индивидуальных сделок, а также коридор лучших цен спроса и предложения (Bid/Ask).

Данные для графика предоставляются в виде потока данных о событиях Time and Sales, который dxFeed получает напрямую от бирж. Для обработки данных будем использовать dxFeed C# API. Обратите внимание, что эта библиотека по сути является обёрткой для dxFeed C API, которая, в свою очередь, была разработана под десктопные Windows и использует WinSock2 для доступа в интернет вместо инструментов Windows Runtime.

Итак, мы подключили поток данных Time and Sales по конкретному задаваемому символу (например, MSFT).

nnuu2dhnwqtcr7o4rrocdyjhzy4.png


Сам виджет будет представлять из себя ни что иное как GameObject с набором компонентов. Обработка полученных событий на стороне виджета происходит в несколько этапов:

  • Вычисление текущего диапазона отображаемых данных, надписей на осях, набора отображаемых точек и т.д.
  • Масштабирование и генерация геометрии (треугольников) по отображаемым точкам. Данная операция включает в себя большое количество рутинной вычислительной работы, что делает возможным и сообразным её выполнение посредством вычислительного шейдера (Compute Shader). То есть здесь надо было написать шейдер, который масштабирует точки, генерирует из них сплошную линию с заданной толщиной, обрезает её по границе графика и добавляет ей толщину по оси z для красоты. Заметим, что это вычисление можно производить не на каждом кадре, а всего один раз за обновление данных.
  • Генерация оставшейся части геометрии на процессоре: положений символов текста, горизонтальных и вертикальных линий, границ графика и т.п. В конце всё это будет слито в один Mesh.
  • Завершительные операции в UI-потоке: изменение MaterialPropertyBlocks с учётом данных на выходе вычислительного шейдера (пришедших в ComputeBuffer) и каких-либо ещё изменений; расположение дочерних Unity UI объектов виджета.


nqrktquwk5opmglcucgpr-0ypcy.png


Естественно, это лишь один из вариантов хода событий — также виджет иногда нужно обновлять после того, как пользователь нажал на виджете кнопку (Air Tap на HoloLens) или просто посмотрел (Gaze) на него. Иногда виджету нужно поменять свой размер — например, по запросу того же пользователя. У некоторых виджетов есть всплывающие панельки с миниатюрной картинкой среза графика в заданном месте. Или, иногда нужно отобразить список доступных символов (финансовых инструментов), чтобы пользователь поменял текущий, или создать дочерний виджет, показывающий данные в другом разрезе.

Помимо виджетов с графиками, табличками и прочими визуализациями, приложение умеет отображать новостное видео. Сам движок Unity видеопоток отображать не умеет, поэтому пришлось выбирать и использовать конкретный сторонний бэкенд, в данном случае Microsoft Media Foundation. Для него сделали свой нативный плагин.

Также следует отметить, что сейчас в качестве отдельного эксперимента разрабатывается возможность совместного доступа к одному рабочему пространству с нескольких очков. Для этого используется транспорт из Mixed Reality Toolkit и софт компьютерного зрения на базе Vuforia. На уровне виджета это означает, что какую-то часть его внутреннего состояния (положение, размер, текущий отображаемый символ) нужно хранить отдельно в той или иной сериализуемой структуре данных, чтобы ей можно было обмениваться с другими устройствами.

Примеры других виджетов, которые сейчас умеет отображать dxFeed Holographic Solution:


  1. Market depth: классический биржевой стакан в виде таблички. Отображается один символ из списка, который пользователь может поменять кнопкой на виджете.
  2. Watchlist: таблица с различными параметрами по нескольким финансовым инструментам, например, последние котировки, цена и объем последней сделки.
  3. Volatility Surface: зависимость собственной волатильности опциона от его strike и expiration.
  4. Clusterization Summary: разница между последней ценой сделки (last trade price) и итоговой ценой (summary price) по каждому символу в виде гистограммы.
    zgpmcowlpc0y0l-0hmj3iszfeqi.png
  5. Book Trace 3D: поверхность состояния биржевого стакана. Оси: время, цена, кумулятивный объем спроса/предложения.
    prfybf8i8rksddtr5189ltcynfk.png


Перспектива dxFeed Holographic Solution


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

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

Об авторе


t5xt5wd6aliufdzkhiyzxryygg0.jpegДмитрий Парилов — руководитель VR/AR направления компании dxFeed, председатель FinTech комитета ассоциации VR/AR (The VRARA). Дмитрий начал свою карьеру в IT-индустрии 12 лет назад и сейчас ведет проекты в сфере финансовых технологий, возглавляя команды, распределенные по всему миру.

Mixed Reality Imagine Hack


Обратите внимание, что сейчас у нас проходит сбор заявок на международный студенческий конкурс Imagine Cup 2018. Победитель может выиграть 100K $.

В преддверии конкурса мы проводим серию хакатонов, на которых вы можете найти команду или ментора, пообщаться с экспертами и презентовать им свой проект. Ближайший из них будет посвящён разработке под MR/VR и пройдёт 9 — 10 февраля в Москве при поддержке AVRA и ТемоЦентр. Присоединяйтесь.

© Habrahabr.ru