Ерем Шахбазян › Erem01 Сбер ID
Делаю сложные задачи простыми решениями
Рейтинг
9 609
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
5 лет
На сайте с
2025 года
Юридический статус
Самозанятый

Сканер арбитражных спредов: мониторинг бирж и P2P, расчёт чистой прибыли с учётом всех комиссий и алерты в Telegram

Используемые навыки API Python SQLite Telegram API Криптовалюта

Описание

Заказчик искал разницу цен между биржами и P2P-площадками руками: открытые вкладки, калькулятор, прикидки на глаз. Проблема не в том, чтобы найти разницу, а в том, что почти вся она бумажная — после комиссий биржи, сетевого сбора за перевод, сбора P2P и проскальзывания по стакану прибыль исчезает. Плюс объявления мелкие: цена красивая, но на нужный объём её не хватает.

Нужен был сервис, который считает прибыль честно и беспокоит сообщением только тогда, когда сделку действительно можно исполнить.

Решение

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

Прибыль считается по-настоящему: комиссии покупки и продажи, сетевой сбор за перевод монеты, сбор P2P, издержки способа оплаты и проскальзывание по реальной глубине стакана. Если под нужный объём глубины не хватает — окно отбрасывается. Для P2P проверяются лимиты объявлений, процент исполнения мерчанта, число завершённых сделок и статус «онлайн», а слишком выгодные предложения отсеиваются как выбросы данных: на практике это мусорные объявления.

Сообщение приходит, только если окно одновременно прошло порог по чистому спреду, по абсолютной прибыли и по объёму, и подтвердилось несколькими опросами подряд. Повторы гасятся кулдауном и дедупликацией в базе. В самом сообщении — обе стороны сделки, надёжность мерчантов, банки, лимиты, прибыль и оптимальный объём; кнопками можно сразу открыть нужную площадку.

Отдельно сделал устойчивость: ограничение частоты запросов по каждому хосту, повторы с нарастающей паузой, таймауты, сообщение «площадка недоступна» и сигнал «я жив». Расчёты закрыты 42 автотестами.

Важно: сервис только читает данные. Ордера не выставляются, средства не выводятся, ключи используются исключительно на чтение.

Результат

Ручной поиск заменён на одно сообщение в Telegram с готовым расчётом. Бумажные окна, которые раньше выглядели выгодными, отсекаются до отправки — в логе видно, по какой именно причине каждое из них не прошло. Сбой или блокировка одной площадки не останавливает работу остальных.

Код открыт, запуск одной командой, настройки — в одном файле с примером.

Оценили проект:

Другие проекты

Все проекты →
Веб-разработка и IT Парсер и агрегатор данных конкурентов с выгрузкой в Excel и обновлением по расписанию
Парсер и агрегатор данных конкурентов с выгрузкой в Excel и обновлением по расписанию
238
Веб-разработка и IT Telegram-бот мониторинга цен Wildberries: изменение цены и скидки, товар закончился или снова в наличии — уведомления по артикулу
Telegram-бот мониторинга цен Wildberries: изменение цены и скидки, товар закончился или снова в наличии — уведомления по артикулу
4
Веб-разработка и IT Мобильное приложение для геолокации и контроля выездных сотрудников (Android + Spring backend)
Мобильное приложение для геолокации и контроля выездных сотрудников (Android + Spring backend)
273
Веб-разработка и IT Сервис аналитики платежей с интеграциями банковских API и автоматическими отчётами
Сервис аналитики платежей с интеграциями банковских API и автоматическими отчётами
238