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



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.


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

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

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


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

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

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


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

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


Естественно, это лишь один из вариантов хода событий — также виджет иногда нужно обновлять после того, как пользователь нажал на виджете кнопку (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) по каждому символу в виде гистограммы.

  5. Book Trace 3D: поверхность состояния биржевого стакана. Оси: время, цена, кумулятивный объем спроса/предложения.


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


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

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

Об авторе


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


Mixed Reality Imagine Hack


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

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

Комментарии (2)


  1. Juma
    06.02.2018 15:38
    +1

    На видео, реальное использование технологии показано только с 2:53. Все остальное это обычные 2D картинки которым придали объем. С этим справится и пара больших мониторов.
    Сколько уже рекламных роликов про HoloLens просмотрел, но за это время дальше Minecraft на столе так и не продвинулось.
    У этой технологии точно есть будущее?


    1. alatushkin
      06.02.2018 19:19

      Есть, просто пока не совсем ясно «какое».

      Те же задачи что упоминаются в сценарии в тексте статьи — могут быть с тем же успехом решены с помощью VR «для бедных»: телефон в пластиковой корбке на голове. Причем, некоторые даже «в браузере» (Three,Babylon,libgdx).
      А когда, через несколько лет экраны «4К» (с высокой плотностью пикселей) станут в телефонах более распространены — дело пойдет еще веселее.

      Просто с «реальными» задачами, где была бы в этом насущная необходимость и понятный ROI — туго пока. Все в поиске.
      И поиск осложняется тем, что эти очки — сами по себе мало полезны — пользу они могут принести только как компонент какой-то информационной системы.
      Например если бы эти очки стоили бы «копейки», то ими можно было бы оснащать, например, инженеров обслуживающих сложные технически объекты вроде, атомных и прочих эс, атомных ледоколов, всяких буровых установок, больших телекоммуникационных узлов: там как правило уже есть свои ИС с которыми это всё можно было бы интегрировать.
      В купе с голосовыми командами и электронным ассистентом -это повысило бы производительность труда таких работников: любые нужные статусы перед глазами, включение-отключение по команде, диагностические карты/последовательности, история операций, заявки на замену — тысячи мелочей которые выливаются в человеко-часы. Выше производительность — меньше людей и меньше ФОТ. + Глубокое внедрение снизит требования к квалификации обслуживающих инженеров: машина(или более опытный супервайзер в канале) будет подсказывать что делать: снова снижение ФОТ.