Клиентская гипотеза: на специализированных площадках торгов по банкротству периодически появляются лоты — квартиры, авто — которые продаются заметно ниже реальной рыночной цены, но вручную искать такие лоты среди тысяч объявлений нереально. Нужен был инструмент, который сам сопоставляет лот с рынком и считает реальную маржу.
Собрал скрипт на Python, который:
1) забирает лоты авторизованной сессии торговой площадки без headless-автоматизации — обходит антибот-защиту через работу поверх реальной браузерной сессии;
2) регексом парсит неструктурированный текст лота в структурированные атрибуты — адрес/площадь/кадастровый номер для квартир, марку/модель/год/пробег для авто;
3) параллельно собирает рыночные цены с двух независимых агрегаторов объявлений (недвижимость и авто) и считает медиану по районам или по марке+модели+сопоставимому пробегу;
4) кросс-валидирует расчёт между источниками, чтобы не полагаться на один сайт.
Из 579 квартир по Москве — 11 лотов с расчётной маржой 15–30% к рынку, включая кластер из 5 квартир в одном доме с независимо подтверждённой (двумя источниками) маржой 26–35%. По автомобилям инструмент так же честно показал и хорошие находки (маржа до +43–96% против рыночной медианы), и предостерёг от плохих сделок — несколько лотов оказались дороже рынка, хотя выглядели как выгодные на первый взгляд.
Расширил анализ на коммерческую недвижимость (офисы, нежилые помещения) — и здесь инструмент так же честно показал: медиана цен на площадке практически совпадает с медианой вторичного рынка, системного дисконта нет, в отличие от квартир и части автомобилей. Это такой же ценный результат, как и находка выгодной сделки — уберегает от ложного вывода о выгодности целой категории лотов только потому, что метод сработал в одной нише.
Проверил тот же подход на площадке государственных закупок: сопоставил начальные цены контрактов с открытым реестром реальных цен по тысячам исполненных контрактов и с розничными/оптовыми ценами на те же позиции. В части категорий на бумаге виден заметный разрыв (в 2–4 раза выше розницы), но честный риск-менеджмент здесь важнее самой цифры: в конкурентных электронных аукционах разрыв обычно съедается снижением цены на торгах, а там, где разрыв реально остаётся — забрать его может только поставщик с собственным производством или налаженной цепочкой, а не разовый перекупщик, из-за обеспечения заявки и контракта (заморозка 0.5–5% суммы). Показал заказчику, что здесь красивая цифра на входе — это риск, а не готовая маржа, и без производственной базы категория не подходит для арбитража.