Last Updated: May 2026
*Дисклеймер: Эта статья носит исключительно информационный характер и не является финансовым советом. Торговля криптовалютой и на рынках предсказаний сопряжена со значительным риском потери средств. Никогда не торгуйте на деньги, которые не можете позволить себе потерять. Всегда проводите собственное исследование (DYOR).*
Последние полтора года я провёл за тем, что строил, ломал и переделывал торговых ботов для Polymarket. За это время я слил два аккаунта, пережил просадку в 40% и в конечном счёте выстроил систему, которая работает в автономном режиме и стабильно приносит прибыль. В этом руководстве я расскажу, как я бы создавал бота для Polymarket с нуля, начиная с сегодняшнего дня — со всей инфраструктурой, каждым API-вызовом и каждым подводным камнем, о котором мне никто не предупредил.
Это длинный технический разбор. Если вы ищете статью «нажми кнопку и печатай деньги» — вы не по адресу. Но если вы разработчик, который хочет разобраться, из чего состоит автоматизированная система торговли на рынках предсказаний — добро пожаловать. К концу у вас будет чёткая архитектурная схема, готовые паттерны кода и реалистичное понимание того, что работает, а что нет.
Прежде чем начнём — зарегистрируйтесь, если ещё не сделали этого: он нужен для тестирования на реальном API. Попробуйте Polymarket и получите API-ключи, прежде чем двигаться дальше.
Почему Polymarket так удобен для алгоритмической торговли
Polymarket — это не обычная биржа. Это децентрализованный рынок предсказаний, построенный на Polygon, где пользователи покупают и продают акции с бинарным исходом: они разрешаются либо в $1.00 (YES), либо в $0.00 (NO). Каждая акция торгуется в диапазоне от $0.01 до $0.99, а цена — это по сути вмененная рынком вероятность наступления события. Вот эта структурная простота и делает Polymarket таким привлекательным для алготрейдинга.
Книга ордеров находится в блокчейне (через контракты CLOB — Central Limit Order Book), но движок матчинга работает офчейн ради скорости. Такой гибридный дизайн даёт субсекундное размещение ордеров при сохранении прозрачности децентрализованной системы. Для разработчика бота это означает предсказуемую задержку, прозрачное исполнение и никаких сюрпризов от централизованного оператора.
Ещё несколько причин, по которым Polymarket дружит с ботами в 2026 году: спреды нередко неэффективны (особенно на рынках с низким объёмом), нет типичных «войн за rebate маркет-мейкеров», комиссия для maker-ордеров нулевая, а для taker — 2% на большинстве пар, и API реально хорошо задокументирован по сравнению с большинством DeFi-площадок. Ликвидность тоже значительно выросла — дневной объём в мае 2026-го колеблется от $80M до $140M в зависимости от активных политических и спортивных событий.
И ещё один плюс: вам не нужно предсказывать будущее. Можно запустить чистую маркет-мейкерскую стратегию, которая зарабатывает на спреде, арбитражную стратегию между Polymarket и Kalshi или Manifold, или даже пассивный арбитраж на разрешении: покупаете акции за $0.97, которые точно разрешатся в $1.00. Возможностей хватает на любой тип преимущества.
Free: Crypto Trading Platform Cheat Sheet
Side-by-side fee comparison, ratings, and quick-pick recommendations for every major exchange and trading bot. Save hours of research.
No spam. Instant download on the next page.
Выбор архитектуры и технического стека
Перед тем как написать первую строчку кода, нужно определиться с архитектурой. Я поэкспериментировал с тремя основными подходами и поделюсь, для чего каждый подходит.
Однопроцессный Python-бот: Самая простая точка входа. Один Python-скрипт обрабатывает рыночные данные, размещение ордеров, отслеживание позиций и управление рисками. Отлично работает вплоть до ~20 рынков одновременно. Дальше event loop начинает перегружаться, и вы начинаете пропускать исполнения. Рекомендую Python 3.12+, asyncio для конкурентности и `py-clob-client` (официальный Python SDK Polymarket).
Микросервисы с Redis pub/sub: Именно это я использую сейчас. Отдельные сервисы для (1) приёма рыночных данных, (2) генерации сигналов, (3) размещения ордеров, (4) управления позициями и (5) мониторинга рисков. Они общаются через Redis Streams, что даёт постоянные логи сообщений и удобный реплей для дебаггинга. Месячный расход — около $40 на одном VPS в Hetzner.
Полностью контейнеризованная система с Kubernetes: Избыточно для большинства розничных ботов, но стоит рассмотреть, если вы запускаете несколько стратегий на нескольких площадках. Я попробовал — и отказался: операционные накладные расходы не оправдывали себя при моём масштабе.
Для первого проекта берите однопроцессный подход. Рефакторинг всегда успеете сделать позже. Вот мой рекомендованный стек:
- **Язык**: Python 3.12 (или Node.js 20+, если предпочитаете JavaScript)
- **Polymarket SDK**: `py-clob-client` или `@polymarket/clob-client`
- **Библиотека Web3**: `web3.py` для взаимодействия с Polygon RPC
- **База данных**: SQLite на старте, PostgreSQL при масштабировании
- **Хостинг**: VPS за $5–20 в месяц (DigitalOcean, Hetzner или Vultr). НЕ запускайте с ноутбука — нужен аптайм 24/7
- **Мониторинг**: Prometheus + Grafana, или просто Discord-вебхуки для алертов
Также понадобится отдельный кошелёк Polygon с USDC (для торговли) и небольшим количеством MATIC (для газа). Я держу около $50 в MATIC на горячем кошельке постоянно — при нынешних комиссиях в Polygon этого хватает на месяцы.
Настройка доступа к Polymarket API
Polymarket CLOB API требует двухэтапной аутентификации: EIP-712 подпись для получения API-учётных данных, а затем стандартная авторизация по API-ключу для последующих запросов. Это сложнее, чем на обычной бирже, но сохраняет принцип некастодиального хранения — вы подписываете своим кошельком, и Polymarket никогда не держит ваши средства.
Вот bootstrap-поток на Python:
```python
from py_clob_client.client import ClobClient
from py_clob_client.constants import POLYGON
host = "https://clob.polymarket.com"
chain_id = POLYGON
private_key = os.getenv("WALLET_PRIVATE_KEY")
client = ClobClient(host, key=private_key, chain_id=chain_id)
api_creds = client.create_or_derive_api_creds()
client.set_api_creds(api_creds)
```
Сохраните API-учётные данные надёжно (я использую `.env` файл, добавленный в `.gitignore`, плюс резервная копия в менеджере паролей). Они привязаны к вашему кошельку — если потеряете, можно восстановить, но делать это при каждом перезапуске бота не хочется.
Несколько советов из личного опыта, которые пришли ценой ошибок:
- **Используйте отдельный кошелёк для торговли.** Никогда не используйте приватный ключ основного кошелька в боте. Создайте новый, пополните только той суммой, которую готовы потерять, и относитесь к нему как к расходному.
- **Лимит запросов — 50 в секунду на IP для публичного CLOB API.** При превышении получите 429. Встройте token bucket rate limiter в клиент.
- **WebSocket-фид — ваш лучший друг.** REST-поллинг цен съест весь ваш лимит запросов. Подписывайтесь на WebSocket-каналы для рыночных данных — получите обновления почти в реальном времени с минимальными накладными расходами.
- **Одобрите USDC и Conditional Tokens один раз.** При первой торговле нужно будет одобрить контракты Polymarket для перемещения вашего USDC и outcome-токенов. SDK это обрабатывает, но требует небольшого количества MATIC — сделайте это до запуска.
Создание пайплайна рыночных данных
Рыночные данные — это кровь любого торгового бота. Для Polymarket нужно захватывать три уровня данных:
Уровень 1: Метаданные рынков. Какие рынки существуют, на что они разрешаются, когда закрываются, какие у них теги. Загружаются при старте и обновляются раз в несколько часов через эндпоинт `/markets`.
Уровень 2: Снимки и обновления книги ордеров. Текущая лесенка bid/ask для каждого отслеживаемого рынка. Получается через WebSocket-подписку на канал `book`.
Уровень 3: Лента сделок. Каждая исполненная сделка в режиме реального времени. Полезно как для генерации сигналов (всплески объёма, моментум), так и для проверки собственных исполнений. WebSocket-канал `trades`.
В моём боте пайплайн данных — это отдельная asyncio-задача, которая занимается только тем, что получает сообщения и записывает их в Redis Stream. Потребители (логика сигналов, мониторинговые дашборды) читают из стрима независимо. Такое разделение спасало меня несчётное количество раз — когда логика сигналов падает, полная запись данных для дебаггинга всё равно сохраняется.
Один важный момент: WebSocket-соединения рвутся. Учитывайте это в дизайне. У меня есть цикл переподключения с экспоненциальной задержкой до 30 секунд максимум, и после переподключения я всегда запрашиваю свежий снимок книги ордеров, чтобы убедиться, что локальное состояние не ушло в сторону. Также я каждые 5 минут сверяю локальную книгу со свежим снимком из REST API. Баги дрейфа — противные и тихие: не доверяйте локальному состоянию вечно.
Для хранения я использую простую time-series схему в PostgreSQL с TimescaleDB. Таблицы `book_updates`, `trades` и `my_orders`. Около 2 ГБ данных в месяц при отслеживании 50 рынков. Хранилище дешёвое — не выбрасывайте ничего. Скажете себе спасибо, когда захотите протестировать новую стратегию на истории.
Разработка первой торговой стратегии
Существует примерно четыре категории стратегий, которые работают на Polymarket в 2026 году — от простых к сложным:
1. Арбитраж на разрешении. Ищем рынки, где исход фактически уже определён, но цена ещё не сошлась к $0.99 / $1.00. Покупаем YES-акции за $0.96–$0.98 и держим до разрешения. Винрейт 95%+, но капиталоёмко и медленно.
2. Кросс-площадочный арбитраж. Polymarket против Kalshi, Polymarket против Manifold, или Polymarket против централизованных букмекерских коэффициентов (PredictIt, спортбуки). Когда цены расходятся — берём дешёвую сторону здесь и хеджируемся на другой площадке. Требует аккаунтов на обоих ресурсах и аккуратного управления размером позиций.
3. Маркет-мейкинг. Котируем обе стороны книги на ликвидных рынках, собираем спред. Звучит просто — убивает вас насмерть, когда выходят новости и вы не успеваете снять котировки достаточно быстро. Этим занимаюсь я — но только после года практики.
4. Направленная / событийно-ориентированная торговля. Ставите на исходы, в которых у вас есть информационное преимущество. Сложнее всего масштабировать, сложнее всего верифицировать преимущество, легче всего самообманываться.
Для первого бота я бы начал с арбитража на разрешении в спортивных и развлекательных рынках, которые разрешаются в течение 24 часов. Логика простая: сканируем рынки, где одна из сторон торгуется по $0.95 или выше, событие уже произошло или почти решено, и механизм разрешения однозначен. Ставим лимитные ордера на один тик ниже лучшего аска. Ждём. Собираем.
Вот скелет основного цикла:
```python
async def scan_for_resolution_arb():
markets = await client.get_markets()
for market in markets:
if market.end_date > now() + timedelta(hours=24):
continue
book = await client.get_order_book(market.token_id)
best_ask = float(book.asks[0].price)
if best_ask >= 0.95 and best_ask < 0.99:
edge = (1.00 - best_ask) - (best_ask * FEE_RATE)
if edge / best_ask > MIN_EDGE_THRESHOLD:
await place_buy_order(market.token_id, best_ask, size)
```
Нужно добавить фильтры по риску разрешения (некоторые рынки зависают в споре), ликвидности (не покупайте акции, из которых не сможете выйти) и концентрации (не вкладывайте более 5% капитала в один рынок). Управление рисками разберём детально в следующем разделе.
Управление рисками и размером позиций
Вот раздел, который отделяет выживших ботов от взорвавшихся. Переоценить его важность невозможно. Мой первый бот зарабатывал три месяца — а потом потерял всё за один уикенд, потому что у меня не было аварийного стопа, и рынок разрешился против моей позиции совершенно неожиданным способом.
Размер позиций: я использую дробный критерий Келли с множителем 0.25. Математика такая: если вы оцениваете 60% вероятность выигрыша при коэффициенте 2:1, полный Келли говорит поставить 40% капитала, дробный Келли — 10%. На рынках предсказаний я ограничиваю любую отдельную позицию 3% от общей стоимости счёта вне зависимости от того, что говорит формула Келли.
Лимиты концентрации: не более 15% капитала в рынках с одним и тем же событием-разрешителем. Если у вас позиции в «Снизит ли ФРС ставку в июне?» и «Будет ли ставка ниже 4.5% к июлю?» — они коррелированы и должны оцениваться вместе.
Автоматические выключатели по просадке: если бот теряет более 5% за 24 часа — он перестаёт открывать новые позиции и только управляет существующими. Если теряет 10% за неделю — полностью останавливается и пишет мне в Discord. Пороги настраиваемые, но принцип такой: бот, делающий что-то странное, должен отказать безопасно, а не продолжать активно работать.
Риск разрешения: у некоторых рынков Polymarket неоднозначные критерии разрешения. Читайте внимательно. Я веду ручной чёрный список типов рынков, которых не касаюсь — например, «Напишет ли [политик] [фразу] до [даты]?», где возможна интерпретация. UMA-оракул оптимистичного разрешения, который использует Polymarket, неплох, но споры случаются и могут длиться днями.
Операционный риск: ваш бот будет падать. VPS будет перезагружаться. API-ключи будут истекать. Проектируйте с учётом этого. Каждая позиция моего бота сохраняется на диск каждые 30 секунд. При запуске бот сверяет локальное состояние с позициями в блокчейне, прежде чем что-либо делать. У меня также есть команда «паника», которую я могу активировать по SSH — она немедленно отменяет все открытые ордера и останавливает торговлю.
Сравнение инструментов и платформ
Если вы не собираетесь строить всё с нуля — а большинству людей, честно говоря, не стоит — есть несколько платформ и инструментов, которые ускорят разработку. Вот как выглядит основная расстановка в 2026 году:
| Платформа | Лучше всего для | Цена | Плюсы | Минусы |
|---|---|---|---|---|
| **Native Polymarket API** | Полностью кастомные боты | Бесплатно (только газ) | Полный контроль, никаких доп. комиссий, все актуальные фичи | Крутой порог вхождения, всё обслуживаете сами |
| **Polymarket Pro Terminal** | Ручная + полуавтоматическая торговля | $29/мес | Хоткеи, быстрый ввод ордеров, отслеживание P&L | Не полностью автоматизируется, ограниченные опции стратегий |
| **CCXT Pro (Polymarket adapter)** | Мультиплощадочные стратегии | $200/год | Единый API для всех бирж, поддержка WebSocket | Некоторые Polymarket-специфичные функции отсутствуют |
| **Hummingbot (community fork)** | Маркет-мейкинг | Бесплатно + облачные расходы | Опенсорс, настраиваемые стратегии, активное сообщество | Требует знания Docker, качество форка варьируется |
| **TradingView Webhooks → Custom Bot** | Торговля по сигналам | $60/год TradingView | Визуальное построение стратегий, не нужен код для сигналов | Задержка, зависимость от третьей стороны |
| **3Commas Polymarket** (бета) | Copy trading + простые боты | $49/мес | Удобный UI, социальные фичи, умный торговый терминал | Чёрный ящик, комиссии на комиссиях, не для продвинутых |
Моя честная рекомендация: стройте напрямую на нативном API. Остальные инструменты — это тренировочные колёса, которые вы перерастёте за несколько месяцев, а стоимость переключения потом высокая. Единственное исключение — если хотите сначала изучить концепции алготрейдинга: в этом случае Hummingbot на менее сложной площадке — отличная песочница.
Если хотите протестировать на Polymarket с реальными средствами (хотя бы $50) — регистрируйтесь здесь: Попробуйте Polymarket. Первый раз, когда разместите реальный ордер и увидите, как бот им управляет, что-то в голове встаёт на место — никакая бумажная торговля этого ощущения не даёт.
Бэктестинг и выход в прод
Не разворачивайте стратегию в живой торговле без предварительного бэктестинга на исторических данных, затем форвард-тестинга на небольшом реальном капитале, и только потом постепенного масштабирования. Я усвоил этот урок, пропустив шаги и потеряв деньги.
Бэктестинг: у Polymarket нет полноценного API исторических данных, но можно построить его самому, записывая сделки и обновления книги в реальном времени. У меня накоплено около 14 месяцев данных книги ордеров, и я прогоняю их через стратегии перед любым деплоем. Будьте честны с транзакционными издержками — учитывайте 2% taker-комиссию, расходы на газ (небольшие, но реальные) и слиппедж. Стратегии, которые выглядят прибыльными на бэктесте, но используют mid-price для исполнения — врут вам.
Форвард-тестинг: когда бэктест выглядит хорошо, деплоим с $100–500 реального капитала и гоним минимум две недели. Сравниваем реальные исполнения с прогнозами бэктеста. Они будут отличаться. Разбирайтесь почему. Типичные сюрпризы: ордера висят в книге дольше ожидаемого (важна позиция в очереди), крупные исполнения двигают рынок сильнее, чем предполагал бэктест, и определённые типы событий (новости, судебные решения) создают режимы, которые бэктест не охватывал.
Масштабирование: как только форвард-тест соответствует ожиданиям, увеличиваем капитал в 2 раза каждые две недели, отслеживая проблемы ёмкости. У большинства стратегий есть предел ёмкости, за которым ваши же ордера начинают двигать рынок настолько, что убивают преимущество. Найдите этот предел экспериментально, затем держитесь на 50% ниже него.
Переход в продакшен: настройте мониторинг до того, как настроите торговлю. Я отправляю Discord-алерты на каждое исполнение, каждую ошибку, каждое изменение состояния. Раз в день получаю email-сводку P&L. Раз в неделю сижу и разбираю каждую убыточную сделку, чтобы понять — это дисперсия или реальный изъян в стратегии. Именно эта последняя привычка — самая ценная вещь, которую я делаю: большинство операторов ботов просто смотрят на кривую капитала и никогда не дебаггят отдельные потери.
FAQ
В: Сколько капитала нужно для запуска торгового бота на Polymarket?
Можно начать от $100, но реалистично нужно минимум $500–$2 000, чтобы достичь достаточной диверсификации и окупить затраченное время разработки. Ниже $500 транзакционные издержки и минимальные размеры ордеров начинают съедать доходность, и одновременно нельзя держать более 3–5 позиций. Мой текущий бот работает примерно на $15 000 капитала — это ощущается как оптимум для розничного трейдера.
В: Легально ли запускать торгового бота на Polymarket?
Правила использования Polymarket разрешают автоматизированную торговлю. Однако сам Polymarket имеет географические ограничения — жителям США технически запрещено его использовать (хотя правоприменение неоднозначно). Проверьте правовой статус в вашей юрисдикции перед торговлей. Эта статья — не юридическая консультация; если сомневаетесь, проконсультируйтесь с юристом. Ряд других рынков предсказаний, например Kalshi, регулируется CFTC и явно ориентирован на американских пользователей.
В: Какой язык программирования лучше всего подходит для бота на Polymarket?
Python и TypeScript/JavaScript — два языка с наилучшей официальной поддержкой SDK. Я предпочитаю Python за его экосистему для анализа данных (Pandas, NumPy, библиотеки для бэктестинга), но Node.js даёт чуть лучшую асинхронную производительность из коробки. Go и Rust имеют сообщественные SDK, но по многим функциям вы будете предоставлены сами себе. Для 99% розничных разработчиков ботов — стик с Python или TypeScript.
В: Насколько прибыльны торговые боты для Polymarket в 2026 году?
Очень по-разному. Знаю операторов, которые делают 30–80% годовых на небольших книгах ($5K–$50K) с маркет-мейкинговыми стратегиями. При бо́льших размерах ($200K+) ожидаемая доходность падает до 10–20% годовых из-за ограничений ёмкости. Стратегии арбитража на разрешении обычно дают 15–25% годовых при низком риске. Все, кто обещает стабильные 100%+ доходности — либо врут, либо скоро взорвутся.
В: Какая самая распространённая ошибка новых разработчиков ботов?
Торговать слишком крупно слишком быстро. Стратегия заработала на бумаге — деплоят с полным счётом, и одна плохая неделя обнуляет всё. Вторая по частоте ошибка — отсутствие аварийного стопа: боты будут делать неожиданные вещи, и вы должны мочь остановить их мгновенно. Настройте мониторинг и аварийную остановку до того, как настроите торговую логику, — а не после.
Заключение
Создание торгового бота для Polymarket — один из самых rewarding программерских проектов, которые я когда-либо делал. Он заставляет думать о задержке, управлении состоянием, обработке ошибок и рисках так, как «обычная» разработка не заставляет. Тот факт, что обратная связь измеряется в деньгах, делает тебя лучшим инженером — нет ничего мощнее, чем наблюдать, как реальные деньги текут в твой аккаунт или из него в зависимости от качества твоего кода.
При этом хочу быть честным: большинство людей, которые попробуют это, не заработают. Рынок эффективнее, чем два года назад, лёгкие преимущества уже конкурентно вытеснены, а навык для поиска новых — нетривиальный. Если вы здесь ради интеллектуального вызова — прекрасно проведёте время. Если ради гарантированной прибыли — поищите что-то другое.
Если готовы начать — пополните небольшой тестовый аккаунт, настройте API-доступ и постройте максимально простую версию одной стратегии. Не пытайтесь в первый день спроектировать идеальную систему. Добейтесь сквозной работы с реальным (небольшим) капиталом, а потом итерируйте. Попробуйте Polymarket, чтобы создать аккаунт и начать эксперименты.
Удачи. И если создадите что-то интересное — буду рад услышать.
*Дисклеймер: Эта статья носит исключительно информационный характер и не является финансовым советом. Торговля криптовалютой и на рынках предсказаний сопряжена со значительным риском потери средств. Никогда не торгуйте на деньги, которые не можете позволить себе потерять. Всегда проводите собственное исследование (DYOR).*
Партнёрское раскрытие: Эта статья содержит партнёрские ссылки. Если вы зарегистрируетесь на Polymarket по ссылкам выше, я могу получить реферальное вознаграждение без каких-либо дополнительных затрат для вас. Я рекомендую только те платформы, которые лично использовал и на которых строил системы. Все мнения, показатели доходности и описания стратегий основаны на моём личном опыте и не должны восприниматься как гарантия аналогичных результатов.