Я выиграл 800 сделок подряд — и понял, что всё это время был идиотом
Четыре дня бот торговал на Polymarket. 1014 сделок, winrate 78.8%. Я смотрел на дашборд, чувствовал себя гением и уже прикидывал, на каком VDS разворачивать копии стратегии.
Потом открыл вкладку P&L. -$81.77.
Первая мысль: баг в коде. Проверил — нет, всё честно. Бот действительно выиграл больше 800 сделок из 1000. И действительно ушёл в минус. В этой статье — как так вышло, и почему та же самая ловушка убивает 90% новичков на любом финансовом рынке, от опционов до страхового бизнеса.
Что такое Polymarket и причём тут я
Если коротко и без крипто-жаргона: Polymarket — это биржа ставок на события. «Биткоин закроется выше $60 000 в конце апреля?», «Трамп придёт на дебаты?», «ChatGPT-5 выйдет до июля?». По каждому вопросу торгуются два контракта — YES и NO. Цена колеблется от $0.01 до $0.99 и отражает вероятность события в глазах рынка. Купил YES за $0.80 — если событие наступило, получаешь $1.00, прибыль $0.20. Не наступило — теряешь $0.80.
Я выбрал самый ликвидный рынок — 5-минутные контракты на цену BTC. Каждые пять минут открывается новый: «биткоин вырастет за следующие 5 минут?». Цены YES/NO всё это время двигаются в зависимости от фактического движения BTC. Бот читает поток котировок и решает, входить или нет.
Я не инженер хедж-фонда. Я запустил бота на арендованном сервере за 400 рублей в месяц, с тремя стратегиями, которые придумал за вечер. Результаты ниже — именно такие, как у большинства людей, которые приходят на рынки прогнозов, опционы или фьючерсы после первого курса на YouTube.
Три стратегии, которые казались умными
momentum_spike — ловит резкие движения. Если BTC за последние 60 секунд прошёл больше 0.1%, покупаем контракт в сторону движения. Логика: инерция на коротких таймфреймах работает.
early_entry — раннее открытие по сигналу. Входим в самом начале 5-минутного окна, пока цены контрактов неустойчивые и спред широкий.
contrarian — ставка против толпы. Если YES торгуется выше $0.80, а BTC ещё не ушёл далеко, покупаем NO. Логика: рынок переоценивает краткосрочные движения.
Ни одна из этих идей не плохая. Проблема не в идеях. Проблема в том, на какой цене контракта они работают.
Результаты. Точка, где я чуть не уронил кофе
Прочитай этот график медленно. momentum_spike выигрывает 92.6% сделок. Я повторю: девяносто два с половиной процента. Это winrate уровня тех курсов, где «гарантированный результат» и отзывы на фотостоке.
И при этом она в минусе на $17.76.
early_entry выигрывает 79.8% — классический «хороший трейдер по Твиттеру». +$1.90. За 559 сделок. За четыре дня работы сервера.
Contrarian — это честная катастрофа и я её трогать не буду, с ней всё понятно.
Вопрос в другом. Как стратегия с winrate 92.6% может давать минус? Я полез в данные.
Цифра, которую не показывают на YouTube-каналах про трейдинг
На рынке прогнозов у каждого контракта есть точка безубыточности — минимальный winrate, при котором ты не теряешь деньги. Она считается прямо из цены контракта.
Если ты покупаешь контракт за $0.90, то при выигрыше получаешь $0.10 прибыли, а при проигрыше теряешь $0.90. Чтобы выйти в ноль, нужно выигрывать 90% сделок. Это и есть breakeven winrate.
Формула одна строка: breakeven = цена покупки × 100%.
Контракт за $0.70 → нужен winrate 70%Контракт за $0.85 → нужен winrate 85%Контракт за $0.95 → нужен winrate 95%
Всё. Это весь «секрет» рынков прогнозов, ради которого инфоцыгане продают курсы за 30-50 тысяч. Теперь смотри, что происходит, когда я разбиваю сделки бота не по стратегиям, а по цене, на которой он реально покупал.
Четыре корзины из пяти — в минусе. В каждой из них winrate выше 60%. В двух — выше 85%. Прибыль приносит только одна корзина — последняя, где бот покупал почти гарантированные исходы по $0.95+ и выигрывал в 98.8% случаев.
В этот момент до меня дошло, в чём я был идиотом.
Парадокс, в который попадают все новички
Формулирую прямо, без смягчений: winrate сам по себе ничего не говорит о прибыльности.
momentum_spike выигрывал 92.6% — звучит как мечта. Но он покупал контракты по $0.88–$0.94, где нужно было выигрывать 88–94%. Стратегия работала на грани безубыточности. Любое небольшое отклонение вниз (одна серия проигрышей, один чёрный лебедь в данных) — и весь P&L красный.
early_entry торговал по $0.60–$0.80, breakeven 60–80%, winrate 79.8%. Формально выше breakeven. Но запас был настолько тонкий, что комиссии и проскальзывание съели почти всё — +$1.90 за 559 сделок, по 0.3 цента на сделку. Цена одного кофе за четыре дня непрерывной работы.
contrarian покупал по $0.15–$0.30 с breakeven 15–30%, при фактическом winrate 15.7%. Здесь комментировать нечего.
Пять вещей, которые я сделал неправильно
- Смотрел на winrate, а не на edge. Edge = фактический winrate минус breakeven. Это единственная метрика, которая имеет смысл. Всё остальное — эстетика скриншотов.
- Не считал breakeven до входа. Бот проверял кучу условий: momentum, спред, время до экспирации. Он не проверял главное — превышает ли моя оценка вероятности цену контракта.
- Оптимизировал стратегии по winrate. Подкрутил momentum_spike до 92.6% и гордился. На самом деле надо было тащить edge, а не winrate — и эти две задачи часто противоположные.
- Не учитывал комиссии и проскальзывание в backtest. На 559 сделках early_entry теоретически должен был дать +$35–40. В реальности +$1.90. Остальное съела структура рынка.
- Верил, что «большая выборка всё расставит на места».1014 сделок — это большая выборка. Она действительно всё расставила: при отрицательном edge большая выборка просто быстрее приводит к нулю.
Это не только про Polymarket
Именно этот механизм работает везде, где payoff асимметричный:
Опционы: продавец OTM-опционов выигрывает 90% сделок и разоряется на 10%. Классика.Арбитраж funding rate: 95% успеха, одна ликвидация уносит квартал.
Маркет-мейкинг: тысячи мелких плюсов, одно токсичное движение ломает годовой P&L.
Страховые полисы: премии капают всегда, один крупный страховой случай уносит несколько лет работы.
Прогнозы на спортивных биржах: фавориты с коэффициентом 1.1 выигрывают в 91% случаев — и стабильно приносят убыток всем, кто ставит на них по массовости.
Winrate — это vanity metric. Метрика тщеславия. Она красиво смотрится в Twitter-треде «заработал 10х за год», но не имеет никакого смысла без привязки к среднему выигрышу и среднему проигрышу. На рынках прогнозов эта связка прошита в саму цену контракта, и никакие «секретные методики» с платных курсов её не обойдут.
Единственная метрика, которая важна — edge. Фактический winrate минус breakeven. Если edge отрицательный, увеличение числа сделок просто ускоряет движение депозита к нулю.
Что дальше
Бот остановлен. Переписываю логику: перед каждой сделкой считается breakeven по текущей цене, и вход разрешён только если моя оценка вероятности превышает breakeven минимум на 2%. Отрицательная дельта — пропуск, даже если «всё кажется выгодным».
Это режет около 70% потенциальных сделок. Но из оставшихся 30% как раз и складывается настоящая прибыль — не такая красивая на скриншоте, зато с положительным мат. ожиданием.
Результаты второй итерации выложу через пару недель. Спойлер: я уже почти уверен, что momentum_spike и contrarian придётся выкинуть целиком.
Мораль — и вопрос к комментариям
Если у тебя в любом трейдинге winrate выше 80%, ты не молодец. Ты в одном шаге от слива — просто ещё не встретил свою серию проигрышей.
Если кто-то в комментариях скажет «у меня вот уже год winrate 85% и я в плюсе» — первый вопрос, который стоит задать: а какой у тебя средний breakeven на этих сделках? Если меньше 85% хотя бы на 3–5 процентных пункта — поздравляю, у тебя положительный edge. Если нет — ты просто ещё на удачной стороне распределения. Подожди.
Напишите в комментах свои winrate и средний размер выигрыша/проигрыша на последних 100 сделках. Давайте посчитаем реальный edge тех, кто называет себя трейдерами.