Обзор проекта
Мы сделали крутую платформу для управления портфелем криптовалют, которая решает проблему разрозненности данных по криптоактивам на разных биржах и в протоколах DeFi. Платформа объединяет данные портфелей с 47 разных бирж и кошельков, управляя активами на сумму более 2,3 миллиарда долларов, а также предоставляет аналитику рисков в реальном времени и автоматическую отчетность по соблюдению нормативных требований для институциональных портфельных менеджеров.
Задача
Видимость инвестиционных портфелей была разной на разных биржах и у разных провайдеров кошельков, что создавало проблемы с мониторингом рисков и результативности как для розничных инвесторов, так и для рынка криптовалют.
Фрагментация рынка
Мир криптовалют работает в системе обмена и хранения, которая не связана между собой, как финансовые системы со своими стандартными потоками данных и клирингом. Вместо этого криптоактивы хранятся в отдельных организациях с разными API-стандартами и процессами аутентификации, что приводит к фрагментированности информационных структур и форматов.
Воздействие волатильности
Сложность усугубляется волатильностью рынка, которая влияет на такие активы, как биткойн и альткойны, которые могут колебаться в течение определенных периодов времени более чем на 80 %. Чтобы эффективно управлять этим и быстро принимать решения на меняющихся рынках, портфельные менеджеры должны иметь постоянный доступ к данным о позициях и показателям риска, а также быть в курсе корреляций между активами.
Сложность соблюдения требований
Сложности возникают при выполнении обязательств. Чтобы следить за налоговыми деталями в разных регионах, нужно контролировать расходы по множеству мелких транзакций. Финансовые организации обязаны вести учет, чтобы соблюдать правила и нормы по борьбе с отмыванием денег (AML) и знанию своего клиента (KYC).
Основные проблемы, которые мы заметили
Управляющие портфелями столкнулись с проблемами, которые не могли решить обычные инвестиционные инструменты:
- Управление инвестициями, распределенными между такими платформами, как Binance и Coinbase Pro, а также использование аппаратных кошельков, таких как Ledger и протоколы DeFi, привело к появлению информации о портфеле из-за проблем с фрагментацией данных
- Отслеживание этих инвестиций вручную с помощью таблиц приводило к ошибкам в 15-20% случаев из-за пропущенных транзакций и устаревших данных о ценах
- Принимать решения в такой динамичной среде, как торговля криптовалютой, очень важно из-за того, как работает рынок и как быстро цены могут измениться — часто больше чем на 10% за считанные минуты
Если информация в портфеле неточная или с опозданием, это может привести к не самым лучшим торговым решениям и большим расходам на проскальзывание.
Операционная нагрузка
Операционная нагрузка
- Когда рынок был напряженным и корреляции между активами выросли из-за отсутствия анализа корреляций в реальном времени и оценки стоимости под риском (VaR), портфели оказались с рискованными концентрациями в коррелирующих активах
- Рабочая нагрузка по согласованию задач составляла 8–12 часов в неделю для каждого портфельного менеджера, что требовало помощи бухгалтера для расчета стоимости, необходимой для налоговых целей
- Баланс между безопасностью и доступностью: строгие меры безопасности хранения данных противоречили желанию мгновенно обновлять портфель и быстро проводить торговые операции
Результаты решения
Объединение портфолио
Руководители получили представление о 2,3 миллиардах долларов отслеживаемых активов, объединив данные от 47 бирж и поставщиков кошельков, чтобы устранить «слепые зоны» в портфеле.
Сокращение затрат
- Удалось сократить расходы на 75% благодаря автоматической сверке и мгновенной синхронизации
- Это изменение позволило менеджерам портфеля уделять время планированию, а не зацикливаться на сборе данных
- Экономия, которую мы получили благодаря ограничению скорости API и кэшированию, привела к сокращению расходов на сторонние данные на 62% и улучшению времени отклика с 2,5 секунд до 340 миллисекунд
Улучшения производительности
- Увеличил доходность с поправкой на риск на 23%, используя корреляционный анализ и системы раннего предупреждения для управления рисками концентрации портфеля
- Благодаря автоматическому отслеживанию затрат и эффективному созданию отчетов, время на подготовку отчетов о соответствии требованиям сократилось с 40 до 3 часов в квартал
- Снизили торговые расходы на 31%, используя маршрутизацию исполнения и выявляя возможности арбитража в реальном времени на разных торговых платформах
Расширенная безопасность и производительность
99.98% времени работы с функциями безопасности и стандартами соответствия нормативным требованиям на уровне предприятий.
Техническая архитектура
Дизайн системы
Система использовала микросервисный дизайн вместе с синхронизацией данных на основе событий, чтобы эффективно решить проблему консолидации портфеля, сосредоточившись на создании базы данных для обработки различных структур API и предоставлении единых представлений портфеля, независимо от настроек хранения.
Основные технические особенности
- В архитектуре предпочли конечную согласованность вместо принципов ACID, чтобы эффективно справляться с ограничениями API обмена и сетевыми разделами
- Система использовала метод, называемый «многоуровневое улучшение данных», чтобы основные данные о положении синхронизировались в реальном времени, но при этом можно было асинхронно рассчитывать сложные аналитические данные
- Границы безопасности, которые подходят для нескольких арендаторов, помогают защитить данные клиентов и эффективно использовать ресурсы
Обработка данных
Наш продвинутый аналитический движок обрабатывает 2 300 000 ценовых фидов каждый день, что позволяет легко проводить анализ рисков и применять автоматические стратегии корректировки.
Путь к реализации
Начальная настройка
Проект начался с настройки конвейера данных и структуры безопасности. Мы развернули кластеры Kubernetes в трех зонах доступности с функциями автоматического переключения при сбоях. Нашей первой задачей была интеграция с 5 ведущими биржами по объему торгов:
- Binance
- Coinbase
- Kraken
- Bitfinex
- Huobi
Архитектура базы данных
Команда приняла стратегические решения, например, выбрала PostgreSQL вместо NoSQL для управления данными портфеля, учитывая необходимость соблюдения ACID в методах хранения финансовой информации. Они также разделили базу данных по идентификаторам клиентов, чтобы обеспечить рост и одновременно гарантировать транзакции в каждом сегменте портфеля.
Управление качеством данных
Система анализа данных использовала подход Apache Kafka «точно один раз», чтобы избежать дублирования транзакций. Задачи потоковой обработки мгновенно вычисляли итоги, суммы прибыли или убытков и процентные доли портфеля.
Основные функции
Управление рисками
- Анализ корреляции в реальном времени и расчет стоимости под риском (VaR)
- Автоматическая перебалансировка, связанная с API биржи
- Меры безопасности для ограничения торговли в период повышенной волатильности рынка
Оптимизация налогообложения
Функции оптимизации налогообложения требуют расчета стоимости, который поддерживает:
- FIFO (первым пришел, первым ушел)
- LIFO (последний пришел, первый ушел)
- Конкретные методы идентификации
Система сохраняла полную историю транзакций с хэшами, чтобы поддерживать целостность контрольного журнала.
Безопасность и соответствие требованиям
- Интеграция с аппаратными модулями безопасности и решениями для хранения
- Многопользовательские границы безопасности с отдельными очередями сообщений и схемами баз данных
- Автоматическая отчетность о соответствии с ведением журнала аудита
Внедрение в производство
Тестирование и запуск
- Покрытие тестами для всех микросервисов превысило 85%
- Бета-версия была доступна для 50 клиентов в течение 6 недель и управляла активами на общую сумму 500 миллионов долларов
- В официальном релизе использовали стратегию развертывания «синий-зеленый» вместе с автоматизированными механизмами резервного копирования
Влияние и результаты
Операционное совершенство
Преобразование платформы привело к значительному повышению эффективности и улучшению управления рисками, а также улучшило пользовательский опыт. Портфельные менеджеры говорят, что теперь они экономят много времени в повседневной работе и получают доступ к продвинутым аналитическим функциям, которые раньше были доступны только количественным хедж-фондам.
Во время рыночных потрясений в октябре 2022 года, когда обычные методы отслеживания вручную не смогли обнаружить нарушения корреляции, пользователи платформы смогли сделать проактивные корректировки на основе оповещений в реальном времени.
Экономическая эффективность
Эффективность затрат
Экономическая эффективность превзошла ожидания благодаря внедрению ограничений на использование API и стратегических методов хранения данных. Система позволила сократить расходы на сторонние данные с 180 тыс. долларов до 68 тыс. долларов, одновременно повысив точность данных и скорость отклика в течение анализируемого периода.
Технический стек
Основная инфраструктура
Компоненты технологического стека
| Компонент | Технологии | Цель |
|---|---|---|
| Уровень API | Node.js с Express, GraphQL | Запросы данных и управление API |
| Кэширование | Redis Cluster | Управление сессиями и часто используемые данные |
| Хранение временных рядов | InfluxDB | Исторические показатели цен и производительности |
| Оркестрация контейнеров | Kubernetes с Helm | Развертывание приложения |
| Фронтенд | Реагируйте с помощью TypeScript, Material UI | Пользовательский интерфейс |
| Общение в реальном времени | Соединения WebSocket | Актуальные цены и обновления портфеля |
| Инфраструктура безопасности | AWS KMS, HashiCorp Vault | Управление ключами шифрования и секретами |
| Мониторинг | Prometheus, Grafana, ELK Stack | Сбор, визуализация и регистрация метрик |
Извлеченные уроки
Стратегия управления API
Чтобы справиться с ограничением скорости API, нужно использовать стратегию пакетной обработки запросов и стратегически кэшировать часто используемые данные, а не полагаться только на методы параллелизации, которые могут не обойти строгие ограничения, наложенные API биржи.
Качество данных — это приоритет
В начале мы больше думали о том, чтобы быстро показать результаты, а не о том, чтобы данные были точными, из-за чего пользователи начали сомневаться в нашей платформе. Потом мы пересмотрели подход и стали больше заботиться о проверке данных и их качестве, даже если это означало, что обработка будет дольше.
Баланс между безопасностью и производительностью
Создание баланса между безопасностью и производительностью было очень важно при интеграции аппаратных кошельков в процесс дизайна пользовательского опыта, чтобы пользователи могли получать доступ к обновлениям портфеля в реальном времени, не жертвуя безопасностью своих приватных ключей.
Лучше не полагаться только на один API биржи для информации о портфеле, потому что сбои и ограничения скорости могут привести к рискованным пробелам, особенно когда рынок нестабилен.
Ключевые показатели эффективности
Сокращение затрат
Экономия на операционных расходах
Отслеживаемые ресурсы
Общая стоимость портфеля под управлением
Интеграция с Exchange
Подключенные биржи и кошельки
Время ответа
Среднее время отклика API


