Реверс-инжиниринг торговых ботов Polymarket: кратко о главном
🎯 О чём этот конспект: Пошаговый разбор методологии обратной разработки (Reverse Engineering) прибыльных алгоритмических стратегий на базе открытых данных блокчейна Polymarket. Анализируется работа трёх легендарных ботов-миллионеров (Gabagool22, Ox, Coin Man 2) и создание собственного аналитического инструмента Bot X-Ray без навыков программирования с помощью Claude.
👤 Кому будет полезно: Вайбкодерам, алготрейдерам, создателям AI-агентов и исследователям данных, которые хотят извлекать рабочие рыночные паттерны из ончейн-транзакций и переносить их на регулируемые биржи.
✨ Что получите: Архитектуру аналитического инструмента Bot X-Ray, математические модели разобранных торговых стратегий, алгоритм фильтрации случайных выбросов (удача vs скилл) и логику трансляции бинарных ставок Polymarket в классические опционные спреды.
1. Концепция REA и создание анализатора Bot X-Ray без кода через Claude
Контекст: Большинство успешных торговых алгоритмов скрыты за платными сообществами и проприетарными репозиториями. Однако децентрализованные рынки предсказаний (такие как Polymarket на базе Polygon) логируют абсолютно каждую транзакцию в публичный блокчейн. Главная проблема ручного анализа — гигантский объем: три топовых бота совершили суммарно свыше 18 000 000 сделок (один только Gabagool — почти 13 млн). Для извлечения закономерностей из сырого датасета с помощью концепции REA (Reverse Engineer Anything) был спроектирован инструмент Bot X-Ray с использованием Claude в режиме no-code вайбкодинга.
Тайминг: , , ,
Выгода: Позволяет автоматизировать сбор и аудит миллионов транзакций без написания кода вручную, мгновенно выявляя логику входа, размеры позиций и тайминги любых публичных кошельков.
Как применить:
- Шаг 1: Формулирование технического задания для LLM — Claude 3.5 Sonnet — Составьте детализированный промпт для генерации скрипта парсинга и анализа ончейн-логов Polymarket:
Создай Python-скрипт (Bot X-Ray) для анализа истории торгов кошельков на Polymarket через публичный API/Polygon RPC.
Скрипт должен:
1. Выгружать массив транзакций целевого адреса (timestamp, market_id, outcome, token_amount, price, cash_flow).
2. Рассчитывать распределение объемов сделок, средний таймфрейм удержания позиции и соотношение Buy/Sell.
3. Сопоставлять время входа с минутными/секундными свечами базового актива (BTC/ETH) с биржи Binance.
4. Выдавать статистический отчет о паттернах входа бота.- Шаг 2: Внедрение ключевой аналитической триады — Python / Claude Code — Настройте Bot X-Ray так, чтобы по каждому адресу инструмент отвечал на 3 обязательных вопроса:
- Что именно делает бот? (Тип стратегии: арбитраж, маркетмейкинг, направленный трейдинг, стоимостная переоценка).
- Скилл или подбрасывание монетки? (Статистическая значимость винрейта относительно случайного блуждания).
- Работает ли стратегия сейчас? (Влияние последних обновлений механики площадки).
Результат: Готовый локальный инструмент анализа датасетов, способный агрегировать историю сделок и сегментировать поведение торговых алгоритмов.
2. Разбор бота Gabagool22: Арбитраж бинарных исходов (Negative Risk / Скидка на доллар)
Контекст: Бот Gabagool22 закрыл 113 прибыльных дней подряд без единого убыточного дня, зарабатывая от $5 000 до $12 000 в сутки на 15-минутных контрактах Bitcoin («Будет ли цена BTC выше или ниже через 15 минут?»). На бинарном рынке правильный исход выплачивает ровно $1.00, а неправильный сгорает в $0.00. Gabagool22 не пытался угадать направление цены, а скупал оба исхода («Yes» и «No») одновременно всякий раз, когда их суммарная стоимость на стакане опускалась ниже $1.00 (например, 48¢ + 48¢ = 96¢).
Тайминг: , , ,
Выгода: Безрисковая прибыль 1–4 цента на каждый контракт за счет структурной неэффективности стакана. При миллионах повторений стратегия принесла миллионы долларов.
┌────────────────────────────────────────────────────────┐
│ Бинарный контракт Polymarket (Выплата = $1.00) │
└──────────────────────────┬─────────────────────────────┘
│
┌──────────────────┴──────────────────┐
▼ ▼
Куплен исход "UP" Куплен исход "DOWN"
Цена: $0.48 Цена: $0.48
│ │
└──────────────────┬──────────────────┘
│
▼
Суммарные затраты на пару = $0.96
Гарантированная выплата = $1.00
Чистый профит без риска = +$0.04 (4.16% ROI)Как применить:
- Шаг 1: Мониторинг суммарной стоимости комплементарных исходов — Python — Создайте алгоритм, вычисляющий синтетическую скидку:
def check_binary_arbitrage(best_bid_yes: float, best_bid_no: float, min_profit_threshold: float = 0.02) -> bool:
"""
Проверка наличия арбитражного окна между противоположными бинарными исходами.
"""
total_cost = best_bid_yes + best_bid_no
expected_payout = 1.00
profit_margin = expected_payout - total_cost
if profit_margin >= min_profit_threshold:
print(f"[ARBITRAGE FOUND] Yes: ${best_bid_yes:.3f} | No: ${best_bid_no:.3f} | Profit: ${profit_margin:.3f}")
return True
return False
# Пример: Yes = 0.48, No = 0.49 -> Затраты 0.97, Профит 0.03
check_binary_arbitrage(0.48, 0.49)- Шаг 2: Учет причин смерти стратегии — Анализ изменений — Обратите внимание: стратегия Gabagool22 прекратила работать в феврале после того, как Polymarket обновил настройки синхронизации цен с Binance и устранил внутренние задержки обновления котировок, закрыв окно рассинхронизации стаканов.
Результат: Понимание механики арбитража связанных событий (Negative Risk Arbitrage) и причин ее уязвимости к платформенным обновлениям.
3. Разбор бота Ox: Высокочастотный латентный арбитраж (Binance vs Polymarket)
Контекст: Бот Ox заработал более $2 000 000 за ~110 торговых дней. При посекундном сопоставлении ценовых графиков Binance и транзакций бота в Bot X-Ray выяснилось: в 79% случаев в течение 10 секунд после импульса Bitcoin на Binance бот открывал позицию на Polymarket в сторону этого движения. Polymarket обновлял внутренний оракул/стакан с задержкой в 2 секунды относительно спотового рынка Binance, создавая иллюзию «предсказания будущего».
Тайминг: , , ,
Выгода: Сверхвысокая вероятность выигрыша сделок за счет опережения медленного оракула на 1000–2000 мс.
Как применить:
- Шаг 1: Настройка высокоскоростного WebSocket-стрима Binance — Node.js / Python — Подключитесь напрямую к стриму сделок Binance
btcusdt@tradeдля детекции ценового импульса:
import asyncio
import json
import websockets
async def watch_binance_momentum():
url = "wss://stream.binance.com:9443/ws/btcusdt@trade"
async with websockets.connect(url) as ws:
print("Connected to Binance High-Speed Stream...")
while True:
msg = json.loads(await ws.recv())
price = float(msg['p'])
trade_time = msg['T']
# Логика детекции импульса: если delta за 500ms > threshold -> триггер ордера
# (На Polymarket эта задержка составляла ~2 сек до фикса)- Шаг 2: Оценка жизнеспособности — Инфраструктурный аудит — Учитывайте, что стратегия стала неработоспособной на Polymarket после аппаратной и программной оптимизации задержек платформы. Любой чистый латентный арбитраж конечен и живет только до тех пор, пока биржа не обновит шлюзы.
Результат: Выявление механизма задержки оракулов (Latency Arbitrage) и алгоритм сопоставления тиковых данных биржи с ончейн-транзакциями.
4. Разбор бота Coin Man 2: Опционная оценка вероятностей и положительное математическое ожидание
Контекст: Coin Man 2 — единственный из «трех королей», стратегия которого осталась прибыльной после системных апдейтов Polymarket. За 7 недель бот совершил 7 900 сделок, и каждая из них была исключительно покупкой (0 продаж до экспирации). Бот специализировался на среднесрочных рынках (например, «Превысит ли Ethereum отметку $2 500 к концу ноября?»). В то время как толпа на Polymarket торговала контракт по 53¢ (оценивая шанс как 53/47), бот использовал математическую модель оценки опционов, определяя реальную вероятность события в ~63%.
Тайминг: , , , ,
Выгода: Устойчивый Edge (математическое преимущество) на дистанции за счет эксплуатации недооцененных вероятностей в рыночном стакане без зависимости от сетевых задержек.
┌────────────────────────────────────────────────────────┐
│ Модель Блэка-Шоулза / Волатильность спота (Off-chain) │
│ Истинная вероятность исхода: 63% │
└──────────────────────────┬─────────────────────────────┘
│ Сравнение вероятностей
▼
┌────────────────────────────────────────────────────────┐
│ Рыночный стакан Polymarket │
│ Цена покупки контракта: $0.53 (Имплицитно 53%) │
└──────────────────────────┬─────────────────────────────┘
│
▼
[ПОКУПКА С ПОЛОЖИТЕЛЬНЫМ EV: +10% МАТЕМАТИЧЕСКИЙ EDGE]Как применить:
- Шаг 1: Расчет теоретической вероятности через модель Black-Scholes — Python — Рассчитайте вероятность того, что спотовая цена окажется выше цены страйка $K$ к моменту экспирации $T$:
import numpy as np
from scipy.stats import norm
def calculate_binary_call_probability(S: float, K: float, T: float, r: float, sigma: float) -> float:
"""
Расчет вероятности закрытия 'в деньгах' для бинарного опциона (Cash-or-Nothing Call).
S: Текущая цена актива (например, ETH = 2400)
K: Страйк-цена (например, 2500)
T: Время до экспирации в годах (например, 30 дней = 30/365)
r: Безрисковая процентная ставка (0.04)
sigma: Подразумеваемая волатильность (Implied Volatility, например, 0.65)
"""
d2 = (np.log(S / K) + (r - 0.5 * sigma ** 2) * T) / (sigma * np.sqrt(T))
theoretical_prob = norm.cdf(d2)
return theoretical_prob
# Расчет:
real_prob = calculate_binary_call_probability(S=2450, K=2500, T=14/365, r=0.04, sigma=0.60)
print(f"Теоретическая вероятность: {real_prob * 100:.2f}%")- Шаг 2: Исполнение ордера при наличии дельты — Python — Если
theoretical_prob > market_price + margin_threshold, входите в позицию BUY и удерживайте контракт до момента экспирации.
Результат: Алгоритм выявления неэффективно оцененных контрактов с фундаментальным опционным преимуществом.
5. Фильтрация случайного шума: Алгоритм отделения скилла от удачи (Skill vs Luck)
Контекст: В таблицах лидеров (Leaderboards) трейдеров большинство участников с высокими показателями PnL являются результатом статистической аномалии (Survivor Bias — ошибка выжившего при случайном подбрасывании монетки), а не устойчивого торгового преимущества. При прогоне 15 топовых ботов через математический фильтр Bot X-Ray только 7 алгоритмов подтвердили наличие реального скилла, а 8 оказались чистой случайностью.
Тайминг: , , ,
Выгода: Защита от копирования убыточных стратегий, демонстрирующих временную фальшивую доходность.
Как применить:
- Шаг 1: Тест биномиального распределения на прибыльные дни — Python — Сравните результаты кошелька с вероятностью случайного угадывания через p-value:
from scipy.stats import binomtest
def evaluate_trader_skill(win_days: int, total_days: int, alpha: float = 0.01) -> dict:
"""
Оценка статистической значимости торговых результатов бота.
"""
# Нулевая гипотеза: винрейт равен 50% (случайность)
result = binomtest(win_days, total_days, p=0.5, alternative='greater')
is_skill = result.pvalue < alpha
return {
"win_rate": f"{(win_days / total_days) * 100:.2f}%",
"p_value": f"{result.pvalue:.8e}",
"verdict": "SKILL / REAL EDGE" if is_skill else "LUCK / COIN FLIP"
}
# Пример бота 'Dangerously Skip Permissions': 76 прибыльных дней из 87
print(evaluate_trader_skill(win_days=76, total_days=87))- Шаг 2: Аудит скрытых издержек и комиссий — Анализ PnL — Проверьте долю комиссий в общем доходе бота. На примере бота Dangerously Skip Permissions (скоростной бот, 67% точности за 10 сек импульса) выяснилось, что более 2/3 его валовой прибыли сгорает в торговых комиссиях и проскальзывании.
Результат: Математически обоснованный фильтр отбора стратегий для копитрейдинга и автоматизации.
6. Конвертер бинарных рынков в опционные спреды (Kalshi и классические брокеры)
Контекст: В ряде стран доступ к Polymarket ограничен регулятором. Для масштабирования алгоритмов необходимо транслировать бинарные ставки на исходы в эквивалентные торговые инструменты традиционного финансового рынка (регулируемые биржи предсказаний вроде Kalshi или классические фондовые/крипто-опционы через Interactive Brokers, Deribit).
Тайминг: , , ,
Выгода: Возможность исполнять стратегии Polymarket на регулируемых биржах с институциональной ликвидностью и правовой защитой.
┌────────────────────────────────────────────────────────┐
│ Ставка Polymarket: "ETH > $2,500 на 30 ноября" │
└──────────────────────────┬─────────────────────────────┘
│ Конвертация через Bot X-Ray
▼
┌────────────────────────────────────────────────────────┐
│ Традиционный опционный рынок (Deribit / IBKR) │
│ Вертикальный бычий колл-спред (Bull Call Spread): │
│ + Buy Call Strike $2,500 │
│ - Sell Call Strike $2,505 │
│ (Синтетический бинарный профиль выплаты) │
└────────────────────────────────────────────────────────┘Как применить:
- Шаг 1: Конвертация бинарного рынка в узкий вертикальный спред (Bull Call Spread) — Настройка структуры — Для репликации бинарного исхода «Цена выше $K$» откройте длинный колл на страйке $K$ и одновременно продайте колл на страйке $K + \Delta$:
Спецификация синтетического бинарного опциона:
1. Long Call: Strike = K (например, $2500)
2. Short Call: Strike = K + $5 (например, $2505)
3. При экспирации выше $2505 выплата фиксирована и равна ширине спреда ($5.00).
4. Профиль риска и доходности идентичен бинарному контракту Polymarket.- Шаг 2: Внедрение риск-менеджмента и Paper Trading — Конфигурация риск-лимитов — Перед запуском на реальном счете настройте жесткие стоп-лимиты и автоматическую остановку торговли при превышении дневного лимита просадки:
RISK_CONFIG = {
"mode": "PAPER_TRADING", # Режим симуляции перед реальным капиталом
"max_daily_loss_usd": 100.00, # Жесткий дневной лимит убытка ($100-$107)
"position_size_per_trade": 10.00, # Фиксированный размер ордера
"scan_interval_seconds": 300 # Запуск цикла оценки каждые 5 минут
}
def execute_with_guardrail(current_daily_loss: float, trade_signal: dict):
if current_daily_loss >= RISK_CONFIG["max_daily_loss_usd"]:
raise SystemExit("[RISK ALERT] Daily loss limit reached. Trading halted.")
print(f"Executing trade: {trade_signal}")Результат: Трансляция ончейн-стратегий в эквивалентные позиции на классических деривативных рынках с интегрированной защитой от просадок.
Реверс-инжиниринг торговых ботов Polymarket: ответы на частые вопросы
В: Почему бот Gabagool22 перестал приносить прибыль, если математика арбитража безупречна?
О: Математика арбитража работает только при наличии расхождения цен в стакане. Gabagool22 извлекал выгоду из задержки синхронизации цен между спотовым потоком Binance и внутренним стаканом Polymarket. Как только инженеры Polymarket оптимизировали частоту обновления котировок, суммарная цена двух противоположных контрактов перестала падать ниже $1.00, и стратегия лишилась точек входа.
В: Чем стратегия Coin Man 2 принципиально отличается от скоростных ботов вроде Ox?
О: Скоростные боты (Ox, Gabagool) зависели от сетевой задержки (Latency Arbitrage) и боролись за миллисекунды. Coin Man 2 торгует фундаментальное опционное математическое ожидание (Positive EV): он не соревнуется в скорости, а держит позиции до экспирации, вычисляя расхождение между рыночной стоимостью контракта и реальной статистической вероятностью движения цены актива по формулам опционного ценообразования.
В: Что такое тест биномиального распределения и зачем он нужен при анализе ботов?
О: Это статистический тест (p-value check), который проверяет нулевую гипотезу: мог ли бот показать такую серию прибыльных дней случайным образом (как серия бросков монетки). Если p-value < 0.01, вероятность случайности составляет менее 1%, что доказывает наличие реального торгового алгоритмического преимущества (скилла).
В: Можно ли реплицировать бинарные опционы Polymarket на обычных биржах?
О: Да. В США для этого используется регулируемая биржа событий Kalshi. На классических фондовых или крипто-деривативных биржах (Deribit, Bybit, IBKR) бинарный контракт реплицируется через ультра-узкий вертикальный опционный спред (Bull Call Spread или Bear Put Spread), где выплата фиксируется в узком коридоре между страйками.
В: С какими скрытыми проблемами сталкиваются прибыльные скоростные боты вроде Dangerously Skip Permissions?
О: Главный фактор деградации прибыли высокочастотных ботов — структура торговых комиссий и проскальзывание (Slippage). В исследовании автора 2/3 всей валовой прибыли бота со временем сгорали в биржевых комиссиях, что при сужении спредов делает стратегию околонулевой.
Реверс-инжиниринг торговых ботов Polymarket: инструменты и ссылки из видео
- Polymarket — Децентрализованная платформа рынков предсказаний на базе блокчейна Polygon — упомянут в видео
- Binance API / WebSockets — Источник высокоскоростных тиковых данных спотового рынка для латентного анализа — упомянут в видео
- Claude (Anthropic) — AI-ассистент, использованный автором для написания инструмента Bot X-Ray без ручного кодинга — упомянут в видео
- Kalshi — Регулируемая CFTC американская биржа бинарных контрактов и рынков событий — упомянут в видео
- Part-Time Quant Academy (PTQA) — Сообщество алготрейдеров автора с ежемесячными соревнованиями стратегий на симулированных депозитах — упомянут в видео
- TradingView / Bloomberg Terminal — Финансовые платформы, разобранные автором в рамках проекта REA (Reverse Engineer Anything) — упомянуты в видео
Конспект создан на основе видео «This Trading Bot Made $4,000,000 (I Reverse Engineered It)» канала Part-Time Quant. Все права на оригинальный материал принадлежат авторам. Источник: https://www.youtube.com/watch?v=LgarA3zdif4