Результативность, выводы об опыте и необходимых изменениях - shoumq/bybit_scalp GitHub Wiki
Аналитический отчет по проекту: Разработка скальпинг-бота с использованием ML
1. Трудозатраты по этапам
На основе предоставленных данных участников команды представлена сводка трудоемкости ключевых этапов разработки:
Этап |
Плановое время (ч) |
Фактическое время (ч) |
Отклонение (ч) |
Комментарий |
Разработка торговой логики |
20 |
25 |
+5 |
Потребовалась доработка стратегии после симуляций. |
Реализация backend-инфраструктуры (Go) |
15 |
18 |
+3 |
Затраты на оптимизацию обработки сигналов. |
Моделирование и обучение ML-моделей |
10 |
14 |
+4 |
Повторные циклы обучения и тестирования. |
Проектирование архитектуры |
12 |
16 |
+4 |
Продолжительное обсуждение технических решений. |
Работа с базой данных (PostgreSQL) |
8 |
10 |
+2 |
Настройка хранения тиковых данных и индексации. |
Итого |
65 |
83 |
+18 (28%) |
Общее превышение времени. |
2. Распределение задач между участниками
Участник |
Затраченное время (ч) |
Запланированное время (ч) |
Основные задачи |
Проблемы |
Льгов Иван (тимлид, инфраструктура + API) |
45 |
40 |
Координация, разработка Go-сервисов, интеграция с брокером. |
Перегрузка задачами, нехватка времени на логирование. |
Лясковский Андрей (архитектор) |
40 |
35 |
Создание и обучение моделей, отбор признаков, оптимизация. |
Задержки из-за перебора параметров моделей. |
Фаргус Эльес (тестировщик) |
35 |
32 |
Построение схемы БД, запись и чтение тиков, юнит-тесты. |
Большая нагрузка при отладке хранения истории. |
3. Основные задачи участников
Лясковский Андрей
№ |
Задача |
Описание |
Этап |
1 |
Настройка брокерского API |
Интеграция через WebSocket/REST для получения тиков |
Этап 1 |
2 |
Реализация сервисов на Go |
Архитектура обработки входящих сигналов |
Этап 1 |
3 |
Создание REST API |
Для получения сигналов и выполнения ордеров |
Этап 2 |
4 |
Обработка ошибок и логирование |
Сбор логов и алертинг |
Этап 2 |
5 |
Интеграция с ML-моделями |
Получение предсказаний из Python через gRPC |
Этап 3 |
6 |
Обучение моделей (sklearn, PyTorch) |
Алгоритмы: RandomForest, LSTM, CatBoost |
Этап 2 |
Льгов Иван
№ |
Задача |
Описание |
Этап |
1 |
Сбор и препроцессинг данных |
Загрузка исторических данных, нормализация |
Этап 1 |
2 |
Отбор признаков |
Выявление значимых фич для предсказаний |
Этап 1 |
3 |
Тестирование качества моделей |
Метрики precision/recall, AUC |
Этап 2 |
4 |
Создание API для инференса |
Сервис на Python для передачи сигналов |
Этап 3 |
Фаргус Эльес
№ |
Задача |
Описание |
Этап |
1 |
Проектирование схемы PostgreSQL |
Таблицы: ticks, signals, trades |
Этап 1 |
2 |
Запись и агрегация тиков |
Пакетная обработка и хранение |
Этап 2 |
3 |
Реализация тестов |
Юнит и интеграционные тесты |
Этап 3 |
4 |
Мониторинг метрик производительности |
Нагрузка на базу и API |
Этап 3 |
5 |
Подготовка к деплою |
Финальное ревью и CI/CD пайплайн |
Этап 4 |
4. Анализ трудозатрат по участникам
Участник |
Кол-во задач |
Трудозатраты (ч) |
Проблемы |
Лясковский Андрей |
5 |
50 |
Интеграция Go и Python. |
Льгов Иван |
5 |
45 |
Настройка гиперпараметров моделей. |
Фаргус Эльес |
5 |
40 |
Долгая отладка БД под реальную нагрузку. |
5. Продуктивность команды
Положительные моменты
- Современный стек: Python, Go, PostgreSQL, PyTorch, GitHub, Docker.
- Ясное распределение ролей: каждый участник имел четкую зону ответственности.
- Инкрементальная разработка: короткие итерации позволяли быстро вносить правки.
Проблемные аспекты
- Замедленное принятие решений: архитектурные споры затягивали выполнение.
- Неравномерная загрузка: Алекс обрабатывал слишком много задач параллельно.
- Нарушения графика из-за внешних факторов: болезни и учебные дедлайны.
6. Итоги
A. Общие результаты
- Плановая трудоемкость: 65 часов
- Фактическая трудоемкость: 83 часа
- Отклонение: +18 часов (28%)
B. Что удалось
- Успешно реализован ML-модуль с возможностью дообучения.
- Эффективная работа API-инфраструктуры.
- База данных оптимизирована под хранение и агрегацию тиковых данных.
C. Ожидаемые изменения на следующих этапах
- Сокращение времени на интеграцию за счет лучшего понимания стека.
- Оптимизация процессов тестирования и логирования.
- Улучшение коммуникации и ускорение согласования задач.
D. Рекомендации
- Ускорение принятия решений: четкие дедлайны и быстрые голосования.
- Оптимизация распределения: делегирование задач по специализациям.
- Управление рисками: предусмотреть резерв на случай форс-мажоров.
- Фокус на MVP: реализация базовой торговой логики с минимумом фич.
- Регулярные ретроспективы: еженедельные встречи с фиксацией выводов.
7. Заключение
Команда справилась с первой фазой разработки скальпинг-бота, несмотря на перегрузку и проблемы с синхронизацией. Основы заложены, технологии освоены, а подход к итеративной разработке доказал свою эффективность. Следующий этап будет проходить быстрее и организованнее при соблюдении рекомендаций.