Обзор клиента
Наш клиент — ведущая европейская компания в сфере торговли энергией. По мере роста бизнеса объем ежедневных сделок увеличивался быстрее, чем ожидалось, а существующая система не справлялась с нагрузкой. Кроме того, она требовала постоянного ручного вмешательства, что приводило к задержкам, дополнительной нагрузке и трудностям при реагировании на изменения рынка. Для решения этих проблем требовалось создать новое решение, ускоряющее повседневные операции, сокращающее ручной труд и предоставляющее трейдерам инструменты для алгоритмических стратегий.
Задача
Существующая платформа клиента обрабатывала около 5 000 сделок в день и в значительной степени опиралась на ручной ввод данных. Это снижало операционную эффективность и ограничивало скорость реакции на изменения рынка. Кроме того, система не поддерживала сложные процессы торговли электроэнергией — включая отчётность по межсоединениям, резервирование мощностей и автоматизированный расчёт рисков, — что создавало существенные ограничения для дальнейшего роста.
Основные цели
Для решения поставленных задач и создания эффективного решения мы разбили проект на несколько этапов и определили следующие цели:
- Автоматизировать однотипные торговые операции и минимизировать ручное вмешательство.
- Обеспечить поддержку финансовых расчетов и физических поставок по сделкам с энергией.
- Реализовать обработку больших объёмов транзакций в реальном времени.
- Создать систему, поддерживающую алгоритмическую торговлю и расширенные возможности отчётности.
Обзор проекта
Для обеспечения масштабируемости мы разработали современную торговую систему на базе микросервисной архитектуры. Платформа была построена по событийно-ориентированной модели: сделки обрабатывались в реальном времени через потоковые пайплайны, а фоновые сервисы отвечали за сложные расчёты и управление рисками. Решение объединяло финансовую логику, ограничения физических поставок и рыночные правила, позволяя трейдерам сосредоточиться на принятии торговых решений, а не на ручной обработке данных.
- Регион: Европа
- Индустрия: Торговля энергией
- Сроки: 2020–2024
Технологический стек
- Языки и фреймворки: C++, Java
- Сообщения и потоковые системы: Apache Kafka, Amazon MSK, RabbitMQ
- Архитектура: микросервисы, REST API
- Базы данных: Amazon Aurora PostgreSQL, Amazon DynamoDB
- Облачная инфраструктура: Amazon EKS, Amazon S3, Amazon EBS, Amazon EFS
- DevOps и IaC: AWS для CI/CD, Terraform, Helm
Краткое описание проекта
В результате была создана полностью интегрированная торговая платформа, объединяющая автоматизацию процессов, алгоритмическую поддержку и инструменты мониторинга. Сделки, финансовые расчеты и операции по поставке обрабатывались в реальном времени, при этом сохранялась возможность ручного вмешательства без нарушения автоматизированных сценариев. Платформа обеспечивала выполнение сложных расчётов — включая потери энергии, резервирование мощностей и рыночные корректировки — а также формировала отчётность по межсоединениям для соблюдения нормативных требований и корректной трансграничной торговли.
Ключевые особенности платформы
- Микросервисная архитектура: каждый сервис выполнял отдельную функцию, что позволяло независимо масштабировать и обновлять систему.
- Событийно-ориентированная обработка сделок: Apache Kafka и Amazon MSK обеспечивали потоковую обработку сделок в реальном времени.
- Возможности ручного вмешательства: трейдеры могли при необходимости вносить корректировки вручную без нарушения автоматизированных процессов.
- Финансовая и физическая логика сделок: система включала расчеты потерь энергии, резервирование мощностей и рыночные корректировки.
- Отчётность по межсоединениям: была реализована поддержка нормативного соответствия и отчетности для трансграничных потоков энергии.
Результаты
Платформа дала значительные бизнес-результаты за счет повышения скорости обработки сделок, операционной эффективности и способности быстро реагировать на изменения рынка. Система начала обрабатывать более 1 миллиона сделок в день с возможностью дальнейшего масштабирования, объем ручных операций существенно сократился, а скорость проведения сделок, торговый оборот и их совокупная стоимость заметно выросли.
Команда проекта
- Менеджер проекта: контролировал этапы разработки и координировал работу с клиентом.
- Архитектор решения: проектировал микросервисную архитектуру и событийно-ориентированные процессы обработки данных.
- Фулл-стек разработчики: создавали бэкенд-пайплайны и интеграционные слои.
- QA и DevOps-инженеры: отвечали за автоматизацию тестирования, настройку CI/CD-процессов и развертывание решений в Kubernetes.