Комментарии пользователя Gabagool22
AntonSverdlov85, потому что в тесте ты проверяешь идею, а в реале торгуешь исполнение, ликвидность, задержку, очередь, проскальзывание и поведение стакана. Для YES+NO на Polymarket стратегия действительно может быть арбитражем только если обе стороны куплены синхронно, одинаковым размером и суммарно дешевле $1; если одна сторона не исполнилась или цена второй стороны ушла, это уже не арбитраж, а направленная ставка с риском.
На бумаге формула выглядит идеально: если YES + NO < 1, то покупка обеих сторон даёт выплату $1 при любом исходе, а валовая прибыль равна 1−(pYES+pNO)1−(pYES+pNO). Но в реальном стакане ты не покупаешь “цену”, ты покупаешь доступную ликвидность, и между покупкой YES и NO рынок может измениться.
Василий Петров,
Пробовал, в декабре 2025 — НФЛ-плейофф и НБА live. Идея та же: купить YES + NO на момент, когда сумма < $1.00. Свернул через 2 недели.
Три причины:
1. Adverse selection в разы хуже, чем на крипте. В лайв-спорте против тебя стоят синдикаты с прямым видеосигналом со стадиона (low-latency feeds типа BetGenius, Sportradar). Они видят пас или фол на 1.5–4 секунды раньше публичного API Polymarket. Если твоя maker-лимитка исполнилась — это почти гарантированно потому, что они уже знают результат розыгрыша, а ты ещё нет. Toxic-fill rate был ~70% против ~30% на крипте.
2. Ликвидность фрагментирована. На BTC-5m в каждый момент торгуется один глобальный рынок с глубиной $200–500 на лучшем уровне. В НБА live — десятки микрорынков (на каждый next-score, quarter winner, total points), у каждого глубина $20–50. Размер $10 уже двигает цену, $100 невозможно засунуть. Стратегия не масштабируется.
3. Дискретность событий ломает дельта-нейтральность. Крипта движется непрерывно — между моими двумя ордерами цена меняется плавно. В спорте между ними может произойти гол / тачдаун / удаление, и YES прыгает с $0.50 на $0.85 за миллисекунду. Я успевал купить YES за $0.49, а NO в момент исполнения уже стоил $0.60 — пара = $1.09 при минусе по обеим сторонам. Это не slippage, это разрыв, который никакой queue management не страхует.
Вывод по спорту: базовый merge-арбитраж не работает. Что может работать — направленные стратегии на медленных рынках (тотал матча, ML-предматчевый), но это уже не моя зона. Там нужны ML-модели на статистике, которые я не строил.
Сейчас даже эту нишу убили комиссии (с 30 марта 2026 fees распространены почти на все категории, включая спорт). Так что вопрос риторический — экосистема в целом схлопнулась для дельта-нейтральных стратегий
Александр Лисов,
Приветствую. Вопрос интересный, думаю написать развернутую статью в ближайшее время, исходя из опыта 90% трейдеров не понимают как тестировать, допускают ошибки, на реале сливают депозит.
У меня несколько симуляторов разрабатывались под определенную стратегию. Если базовый принцип то симулятор работает не по потоку трейдов, а по полной L2-книге — snapshot каждые 250 мс.
Ключевые механики, без которых paper врёт вдвое-трое:
— FIFO queue. Maker-лимитка получает позицию в очереди, реальные тейки из истории едят с головы. Без этого fill-rate завышен в 3–5 раз.
— Частичные fill-ы. Остаток ордера сохраняет queue position; при cross — снимается.
— Латентность из реальных замеров (p50/p95/p99). Решение принято по одной книге, исполнение происходит по другой.
— Adverse selection penalty. Если за 500 мс после fill цена прошла через уровень против меня — штраф 0.5·tick. Иначе maker-PnL завышен в 1.5–2 раза.
— Self-impact. Мои тейки удаляют объём из книги до следующего snapshot.
Перед запуском: walk-forward (не random split), стресс-тесты на волатильные дни, shadow mode 7–14 дней (бот считает ордера на live, но не шлёт), затем canary 1% размера. Расхождение модели с реалом >15% = что-то не учтено.
Если после всех поправок Sharpe > 2 на out-of-sample — можно запускать. Если коротко то как то так.
Мы мониторим всех топовых трейдеров на полимаркете, так же как и меня мониторят.
Трейдер polymarket.com/profile/@0xe1d6b51521bd4365769199f392f9818661bd907 не является исключением, его стратегия нам известна, в принципе сейчас мы по ней и работаем как и 80% наших конкурентов.
Мой друг, Вы абсолютно правы — вопрос нетривиальный, и статья намеренно его обходит, потому что ответ сложнее, чем базовая арбитражная логика.
Почему 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 отрицательным, и тогда весь расчёт рассыпался.