Заказать

Кейс: CS

Этап разработки проекта CS - Введение

Введение

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

Интерфейс проекта CS - Оптимизация сбора данных

Оптимизация сбора данных

Большинство подобных проектов получают данные через официальные платные API, стоимость которых в трейдинговой тематике начинается от $200 в месяц. Чтобы оптимизировать бюджет, была разработана и внедрена альтернативная многоуровневая система парсинга и агрегации данных. Справа продемонстрирован пример интерфейса вывода этих метрик.

Этап разработки проекта CS - Обход лимитов API и экономия бюджета

Обход лимитов API и экономия бюджета

Первый уровень системы использует бесплатные API. Главная сложность заключалась в строгих лимитах на количество запросов. Для решения этой проблемы я спроектировал алгоритм автоматической ротации: при исчерпании лимитов сборщик мгновенно переключается на следующий бесплатный аккаунт. За время прохождения по цепочке аккаунтов на первых профилях лимиты успевают обновиться, что обеспечивает непрерывный цикл скачивания. Данное решение уже сэкономило заказчику от $300 в месяц. На скриншоте также показаны интерактивные шкалы данных и вкладки переключения.

Интерфейс проекта CS - Эмуляция пользовательского поведения при парсинге

Эмуляция пользовательского поведения при парсинге

Второй уровень системы — прямой парсинг данных с официального сайта американской биржи. Чтобы избежать блокировок со стороны защитных систем биржи, я реализовал алгоритм динамической подмены User-Agent и заголовков (HTTP headers): при каждом запросе случайным образом генерируются уникальные данные о браузере, операционной системе и разрешении экрана. Справа продемонстрирован интерфейс подписки на события. Пользователь может выбрать интересующие валютные пары и настроить мгновенные уведомления об изменениях котировок в удобный мессенджер.

Этап разработки проекта CS - Парсинг и обработка Big Data отчетов

Парсинг и обработка Big Data отчетов

Третий уровень сбора — ежемесячная обработка официальных сводных отчетов американской биржи. Главная техническая сложность заключалась в объеме файлов (около 170 МБ каждый). Для оптимизации потребления оперативной памяти и исключения зависаний сервера, скрипт поэтапно скачивает, парсит и структурирует этот массив данных, распределяя информацию по оптимизированным таблицам базы данных.

Интерфейс проекта CS - Агрегация данных и математические алгоритмы

Агрегация данных и математические алгоритмы

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

Этап разработки проекта CS - Дополнительный функционал и монетизация

Дополнительный функционал и монетизация

На портале реализована полноценная международная локализация (мультиязычность: русский и английский языки), быстрая авторизация через Google OAuth и гибкая система тарифных планов. В качестве триал-периода бесплатная версия предлагает доступ к анализу одной валютной пары (AUD/USD). На скриншоте справа показан интерфейс продвинутого вывода данных Option Flows для платных подписчиков.

Дмитрий Кашевский - Fullstack разработчик
Автор кейса

Дмитрий Кашевский

Fullstack-разработчик и технический специалист.