0x6031b6eed1c97e853c6e0f03ad3ce3529351f96dПривет. Я знаю, что многие из вас следили за моим публичным P&L: +$868 862 за четыре месяца на коротких крипто-Up/Down рынках Polymarket. И многие написали мне один и тот же вопрос — «почему ты не торгуешь с 20 февраля?». Эта статья — детальный ответ. Я расскажу:
Ничего секретного — просто чистая математика и микроструктура.
Распространённое заблуждение: «раз он зарабатывает на BTC Up/Down рынках, значит у него хорошая модель направления крипты». Это неверно. Я делал прямо противоположное.
Моя стратегия — это дельта-нейтральный merge-арбитраж. Если упрощать в одно предложение:
На бинарном рынке я покупал обе стороны (Up и Down) одновременно так, чтобы их совокупная стоимость была меньше $1, а потом сразу обменивал пару на $1.
Никакого предсказания. Я зарабатывал на структурных дисбалансах в стакане, которые периодически возникали из-за неосторожных тейкеров.

Свойство CTF: Up + Down = $1 USDC всегда, в любой момент, до резолюции. Это арифметика самого контракта — комплект из одной Up и одной Down доли можно в любой момент «склеить» в $1 USDC через функцию mergePositions(). Это как двойник долларовой банкноты, разрезанной на две половинки: каждая по отдельности торгуется свободно, но вместе всегда = $1.
Соответственно, если в рынке кто-то продаёт Up за $0.49, а кто-то другой одновременно продаёт Down за $0.50 — я могу:
— Купить 1 Up за $0.49
— Купить 1 Down за $0.50
— Сжечь оба токена через merge() → получить $1.00 обратно
Чистая прибыль: $0.01 (1 % за минуты), без какого-либо ценового риска. Просто потому, что цены в стакане временно ушли в сумму ниже единицы.
В теории эффективный рынок должен мгновенно зашить Up + Down = $1. На практике на Polymarket-крипте это не так, потому что:
Именно эту разницу я и собирал — раз за разом, тысячи раз в час.
Пусть в моменте я могу взять Up по средневзвешенной цене pU и Down по pD. Покупаю по N долей каждой стороны, потом merge-ю их в N USDC. Профит на одну пару:

а суммарный за итерацию:

То есть алгоритм выгоден, только если pU + pD < 1. На моих 48 рынках за последний день торговли совокупная стоимость пары распределилась так:

То есть в среднем я собирал пару за $0.99 и сжигал её за $1. Маржа на пару — 0.81 % в среднем или 0.0081 USDC. Звучит мизерно — потому что мизерно. Вся стратегия держалась на двух вещах:

Это не «защита от больших проигрышей». Это математически оптимальный размер для дельта-нейтрального арбитража. Объясню почему.
Маржа за пару — около 0.008 USDC:

Но между первым и вторым ордером проходит ненулевое время Δt. За это время цена базового актива (BTC) может уйти, и зеркальная сторона может подорожать. Если я уже купил Up за $0.49, а пока выставлял Down, цена Down ушла с $0.50 до $0.55 — я больше не выйду в плюс.
Размер S моей сделки определяет ожидаемый slippage σ при тейке встречной ноги:

При размере S = $10 и типичной глубине стакана крипто-рынков ($100–500 USDC на лучшем уровне) σ ≪ π, и я в плюсе. При S = $100 — σ съедает всю маржу. Поэтому $10 — это асимптотический потолок, выше которого стратегия из дельта-нейтральной превращается в направленную.

Параллельно я получал ребейт от Polymarket за maker-сторону тех же ордеров (когда меня тейкали другие), что давало дополнительный +0.05–0.10 % к каждой паре. Но об этом ниже.
С учётом всего, мой ожидаемый профит за окно T секунд раскладывается на спред, maker-rebate, taker-fee и газ:

где:
Ключевой момент: до 5 января 2026 в этой формуле f = 0. Полностью. Polymarket не брал taker-fee на крипто-рынках. Газ был копеечный, ребейт — нулевой (но и за тейк не платили). Я мог собирать спред 1 − pU − pD = 0.008 — и это было всё, чистая прибыль.
С 5 января всё изменилось. И именно поэтому мы здесь.
Polymarket поэтапно перевёл крипто-рынки на платную модель (changelog):
Кривая комиссий выглядит так:

Ключевые цифры из официальной документации:

Формула, которую публикует сама платформа:

где C — количество акций, p — цена. Пик при p = 0.5, симметричен относительно 50¢.
Подставим в формулу. Пусть пара стоит $0.99 (типичная для меня), цена сторон ~$0.50 каждая. Тогда:
Итого: +0.010 − 0.036 = −0.026 USDC на пару. Стратегия из плюсовой стала минусовой — жёстко, без вариантов.

Зелёные столбцы — то, как я зарабатывал. Красные — что осталось от той же стратегии после введения комиссий. Любой рынок дороже $0.97 за пару теперь убыточен — а такие рынки составляли 18 из 48 моих рынков (там я держал направление). На «дешёвых» парах ($0.93-0.95) маржа осталась положительной, но их было всего 3 штуки в день.
Кто-то скажет: «Полу́чи maker-rebate (20 % от fees в крипто-категории) — и стратегия снова в плюсе».
Теоретически да. Если обе ноги исполняются как maker:

При тех же pU = pD = 0.5: 0.010 + 0.20 · 0.036 − g ≈ +0.017 USDC. Лучше, чем «до» по марже!
Но есть две причины, почему это не работает в реальности:
Я попробовал этот режим неделю-другую — и каждое утро находил, что бот за ночь сделал 50 сделок и потратил больше газа, чем заработал. После 20 февраля я просто остановил инстансы.

Чтобы было понятно, насколько резким был эффект:

С 6 марта (fees на 1h, 4h, 1d) даже теоретическая возможность исчезла. С 30 марта — про любой рынок крипты можно забыть.
Что характерно — это случилось не только со мной. По моим наблюдениям:
Это не случайность. Это сознательное решение Polymarket: они написали в своём ченджлоге, что цель fees — «защитить ликвидность от latency arbitrage». Перевод: их раздражали именно мы. Раз мы не платили fees, наша скорость и количество сделок были «бесплатным» съеданием их пользователей-ритейлеров. Они закрыли эту лазейку.
Я их понимаю. С точки зрения долгосрочного здоровья платформы — это правильное решение. С точки зрения моего бизнеса — это смерть стратегии.
Несколько раз я слышал предложения «адаптируйся». Объясню по пунктам, почему адаптация бессмысленна:
«Уйди в категории без fees — например, геополитику.» Геополитические рынки на Polymarket — это рынки с резолюцией через дни-недели-месяцы, не минуты. Дельта-нейтральный арбитраж там тоже работает (та же Up + Down = $1), но капитал заморожен в десятки раз дольше. ROI/время становится в сотни раз хуже. Кроме того, ликвидность тоньше, а оракул-риски (риск спорной резолюции) — выше. Не моя ниша.
«Перейди на Kalshi.» Kalshi — это регулируемая CFTC-биржа в США с обязательным KYC, отдельным API, фиксированной комиссией $0.01–0.07 за контракт и ограничениями на размер позиций. Технически другой мир. Кроме того, законодатели обсуждают Prediction Markets Are Gambling Act, который может вообще запретить event-контракты на CFTC-платформах. Слишком регуляторно нестабильно.
«Переделай в чистый предсказательный бот.» Это не «адаптация», это другая стратегия. Чтобы делать direction-trading на 5–15 минутных BTC-рынках, нужна предсказательная модель с эджем выше 1.8 % после комиссии — то есть AUC > 0.55 на классификации цен. У меня такой модели нет, и строить её — задача на 6 месяцев. Если бы я хотел этим заниматься, я бы изначально пошёл на Binance, а не на Polymarket.
«Жди пока fees отменят.» Не отменят. Это не временная мера. Полный roadmap Polymarket — расширение fees на ВСЕ категории кроме геополитики. К концу марта это уже почти реальность.
Если коротко — продолжаю торговать ботами на Polymarket-другие стратегии, алгоритмы пока живые, но это вопрос времени.
Спасибо всем, кто следил. Я никуда не пропадаю — буду писать про то, что строю дальше.
— gabagool22 апрель 2026
Без бутылки тут никак)
Выходит все что писали про вашу стратегию в интернете были только неверными догадками трейдеров, целые сообщества создавались по изучению вашей стратегии))) Оказалось все гениально и просто.
Можете почитать тут на западном форуме один программист месяцы потратил на определение механики и альфы вашей логики www.reddit.com/r/PredictionsMarkets/comments/1r7oylh/4_months_reverseengineering_gabagool22_what_i/
Мой друг, Вы абсолютно правы — вопрос нетривиальный, и статья намеренно его обходит, потому что ответ сложнее, чем базовая арбитражная логика.
Почему ASK(Up) + ASK(Down) < 1 вообще возможен
Polymarket использует CLOB (Central Limit Order Book) — обычную биржевую книгу заявок, а не AMM. Это принципиально. В CLOB каждый маркетмейкер выставляет свои лимитные заявки независимо:
Маркетмейкер А выставил SELL на Up по $0.49 — 40 секунд назад
Маркетмейкер Б выставил SELL на Down по $0.50 — 25 секунд назад
Эти ордера висят в книге независимо друг от друга. Платформа не проверяет в режиме реального времени, что ASK(Up) + ASK(Down) ≥ $1. Никакого on-chain ограничения нет. За это время цена BTC двинулась, оба маркетмейкера ещё не успели обновить котировки — окно открыто.
Сумма двух ask-цен < 1 — это не нарушение никакого инварианта, это просто стечение двух несинхронизированных устаревших ордеров. После того как бот их обе сбивает, окно закрывается. Но пока рынок движется, такие окна появляются снова и снова — именно поэтому бот работал на частоте 48.6 сделок/мин.
Вы правы в том, что это главная операционная проблема стратегии. У меня решение было реализовано через несколько уровней защиты, о которых я не хочу распространяться публично, так как это конкурентная информация.
Вы правы в том, что полностью безостаточная стратегия невозможна при CLOB. Это фундаментальный execution risk любой multi-leg арбитражной стратегии. Настоящий ответ не «как избежать остатка», а «как сделать так, чтобы ожидаемый убыток от остатка был меньше ожидаемой прибыли от успешных пар»:

При $10, скорости < 100 мс и 28 000+ итерациях это неравенство выполнялось — до тех пор, пока комиссии не сделали π_pair отрицательным, и тогда весь расчёт рассыпался.