Другая реальность финансового рынка
«Нашей задачей было исследование возможности и потенциала 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:
- Market depth: классический биржевой стакан в виде таблички. Отображается один символ из списка, который пользователь может поменять кнопкой на виджете.
- Watchlist: таблица с различными параметрами по нескольким финансовым инструментам, например, последние котировки, цена и объем последней сделки.
- Volatility Surface: зависимость собственной волатильности опциона от его strike и expiration.
- Clusterization Summary: разница между последней ценой сделки (last trade price) и итоговой ценой (summary price) по каждому символу в виде гистограммы.
- 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 и ТемоЦентр. Присоединяйтесь.