Артур Лаппа, Стратегия не мертва, причина остановки бота полная или временная, не известно. Возможно он взял Паузу после серии/режима с меньшим edg. Либо ушел от мониторинга, перешел на другую биржу или счет.
По последней активности видно что:
Суммарная эффективность стала ниже и появились крупные хвостовые потери: В последнем окне на 4000 trades после 1 мая было около $140.8k объёма, но из них BTC/ETH 15m дали только 430 trades и около $30.3k объёма; основная масса ушла в 5m рынки, где было 3255 из 4000 trades
Recent closed positions за 3-4 мая всё ещё были положительными: в доступном окне closed positions BTC/ETH 15m дали около +$7.7k realized PnL на $454.1k totalBought, то есть примерно +1.69%
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 раз.
— Латентность из реальных замеров (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 отрицательным, и тогда весь расчёт рассыпался.
AntonSverdlov85, Вы мне присылали свой код скрипта, логика у вас правильная, метод просчета слотов не верный, шумы рынка не фильтруются а значит все ваши тестирования ложные. В личной переписке дал вам рекомендации.
AntonSverdlov85, Будет работать на всех инструментах любых рынков бинарных опционов и ставках. Прежде чем торговать инструмент его нужно протестировать на истории, хотя бы за 2 года, если будет устойчивый положительный винрейт на истории, то и в будущем он будет. Паттерны цикличны, моя модель помогает определять эти циклы на времени.
Артур Лаппа, Стратегия не мертва, причина остановки бота полная или временная, не известно. Возможно он взял Паузу после серии/режима с меньшим edg. Либо ушел от мониторинга, перешел на другую биржу или счет.
По последней активности видно что:
Суммарная эффективность стала ниже и появились крупные хвостовые потери: В последнем окне на 4000 trades после 1 мая было около $140.8k объёма, но из них BTC/ETH 15m дали только 430 trades и около $30.3k объёма; основная масса ушла в 5m рынки, где было 3255 из 4000 trades
Recent closed positions за 3-4 мая всё ещё были положительными: в доступном окне closed positions BTC/ETH 15m дали около +$7.7k realized PnL на $454.1k totalBought, то есть примерно +1.69%
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 отрицательным, и тогда весь расчёт рассыпался.