Нажмите ESC, чтобы закрыть

Арбитраж на рынках предсказаний: Polymarket и Kalshi

Рынки предсказаний — это казино для тех, кто не умеет считать, и золотая жила для тех, кто умеет. Здесь торгуют не активами, а вероятностями будущего. Арбитраж — единственный способ выжать из этих площадок системную прибыль, игнорируя шум новостей.

Математика охоты на спред

Арбитраж на Polymarket или Kalshi строится на поиске «кривых» котировок, когда совокупная стоимость контрактов «Да» и «Нет» не равна 1. Если суммарно вы покупаете исход за $0.95, а выплата при реализации составляет $1.00, ваша доходность — 5.2%. Это «безрисковая» сделка, если исключить риск исполнения (leg risk).

Формула реального профита:
Net Profit = (1 - Price_Yes - Price_No) - (Taker Fees + Network Gas)

Если итоговое значение в процентах ниже 2%, вы работаете в убыток из-за стоимости транзакций и времени, потраченного на мониторинг.

Практическая архитектура бота

Забудьте про веб-интерфейс. Вам нужен локальный агент, который опрашивает API площадок напрямую. Ниже представлен рабочий шаблон на Python, который реально забирает данные и считает дельту.

import requests
import time
# Инициализируем сессию для скорости
session = requests.Session()
def get_best_bid_ask(market_id):
    """
    Получаем стакан с Polymarket (через их API)
    """
    url = f"https://clob.polymarket.com/orderbook/{market_id}"
    response = session.get(url).json()
    # Возвращаем лучшие цены
    return float(response['bids'][0][0]), float(response['asks'][0][0])
def scan_arbitrage(market_yes, market_no):
    # Берем цены Ask (покупка)
    _, ask_yes = get_best_bid_ask(market_yes)
    _, ask_no = get_best_bid_ask(market_no)
    
    total_cost = ask_yes + ask_no
    
    if total_cost < 0.96: # Учитываем 4% на газ и проскальзывание
        print(f"!!! АРБИТРАЖ: {total_cost:.4f} !!!")
        # Здесь вставляется логика вызова вашего кошелька
    else:
        print(f"Спред узкий: {total_cost:.4f}")
# Пример ID рынка (нужно менять под актуальные события)
# scan_arbitrage('2187654321', '2187654322')

Скрытые ловушки и профессиональный сленг

  • Resolution Delay: Самая частая боль. Рынок может закрыться, но выплата заблокирована из-за спора в UMA оракуле. Ваши средства «заморожены» на срок от 3 до 14 дней. Арбитраж — это всегда работа с оборотным капиталом.
  • Order Book Ghosting: На площадках часто висят ордера-призраки. Вы видите цену $0.40, но при попытке купить объем, цена мгновенно прыгает до $0.45. Это работа алгоритмических маркет-мейкеров (AMM), которые защищают свой спред.
  • Cross-Platform Skew: На Kalshi цены часто смещены относительно Polymarket из-за разного состава участников. В США (Kalshi) трейдеры агрессивнее хеджируют политические риски, в то время как Polymarket — это дикий рынок крипто-энтузиастов. Сравнивайте корреляцию: если BTC проседает на бирже, Polymarket реагирует быстрее, чем Kalshi.

Таблица операционной эффективности

СценарийРискПрофитностьРекомендация
ВнутриплатформенныйНизкий1-2%Не стоит затрат энергии
Кросс-платформенныйСредний3-7%Оптимально для ботов
Опционный хеджВысокий10%+Только для профи (нужен капитал)

Как не потерять всё на старте

Главный совет: не выходите на рынки с малым объемом. Если ликвидность на обеих сторонах менее $50,000, ваш вход в сделку спровоцирует движение цены против вас (slippage). Ищите события с суточным оборотом от $500k.

Технический нюанс: Если вы используете Polygon (Polymarket), никогда не делайте ставку с ценой газа по умолчанию. Если вы торгуете арбитраж, вы конкурируете с MEV-ботами. Используйте maxPriorityFeePerGas выше рыночного уровня, чтобы ваш ордер гарантированно ушел в следующий блок.

Чтобы арбитраж не превратился в медленное сжигание депозита на комиссиях, нужно сместить фокус с «ловли спредов» на «управление исполнением». В этой дисциплине побеждает не тот, кто первым нашел разницу в цене, а тот, чей бот быстрее проходит стадию компиляции транзакции и отправки в мемпул.

Анатомия исполнения: Почему ваш код проигрывает

Проблема большинства скриптов — последовательное исполнение. Вы делаете request на Polymarket, получаете ответ, затем request на Kalshi, считаете, и только потом отправляете транзакции. За это время маркет-мейкеры, использующие WebSocket-потоки и предзагруженные ордера, уже сдвинули стакан.

Как это делают профессионалы:

  • WebSocket вместо REST: Полинг (polling) — это вчерашний день. Вы должны держать открытые сокеты для обоих ордербуков. Получение обновления в режиме real-time экономит от 200 до 800 мс.
  • Multicall/Batching: Вместо двух транзакций в сеть, используйте смарт-контракт-прослойку. Контракт принимает ваши ордера в одном вызове и выполняет их атомарно. Если одна сторона не исполнилась, контракт откатывает вторую (Revert). Это защищает от «одноногого» арбитража, когда вы купили одну сторону, а вторая стала невыгодной.

Пример оптимизированного исполнения (Solidity-концепт)

Если вы работаете в EVM-сетях, ваш лучший друг — delegatecall. Это позволяет исполнить арбитраж внутри одного атомарного действия.

// Концептуальный фрагмент для исполнения арбитражных ордеров
function executeArbitrage(
    address target, 
    bytes calldata data1, 
    bytes calldata data2
) external payable {
    // Выполнение двух покупок в одном бандле
    (bool success1, ) = target.call{value: msg.value / 2}(data1);
    (bool success2, ) = target.call{value: msg.value / 2}(data2);
    
    // Если арбитраж не сработал, выходим без потерь
    require(success1 && success2, "Arbitrage execution failed - reverting");
}

Малоизвестные тонкости: «Event-Driven» торговля

На рынках предсказаний цена часто «прыгает» не из-за рыночных сил, а из-за изменения статуса оракула или публикации внешней новости.

  • Опережающие индикаторы: Если вы торгуете политические рынки, привяжите бота к фиду новостных агентств (через API вроде Bloomberg или специализированные Telegram-скорщики). Цена на Polymarket реагирует на новость за 1–3 секунды до того, как основной массив трейдеров успеет отреагировать. Ваша задача — быть в позиции до того, как новость «отработала» в стакане.
  • Синтетический арбитраж: Иногда выгоднее не арбитражить «Да/Нет» напрямую, а использовать фьючерсы. Если вероятность события на рынке предсказаний резко выросла, а фьючерс на соответствующий индекс не сдвинулся — это сигнал, что рынок предсказаний «перегрет». Вы шортите рынок предсказаний и покупаете фьючерс. Когда «хайп» спадет, вы закроете обе позиции с профитом.

Чек-лист перед запуском капитала:

  • Газ-бенчмаркинг: Просчитайте стоимость газа при 50 Gwei и 200 Gwei. Если профит арбитража покрывает только 50 Gwei, а сеть загружена — отключайте бота.
  • Лимит проскальзывания: Никогда не используйте рыночные ордера (Market Orders) при арбитраже. Только лимитные, выставленные чуть выше лучшего аска. Если цена ушла — лучше пропустить сделку, чем войти в «минусовое» исполнение.
  • Анализ «грязных» данных: Некоторые площадки показывают в API «средневзвешенную цену», которая не соответствует реальности в стакане. Всегда парсите asks и bids напрямую, игнорируя колонку last_price.

Арбитраж здесь - это не поиск «грааля», а монотонная работа по математическому преимуществу. Чем меньше эмоций и больше кода, тем выше вероятность, что ваш баланс USDC будет расти быстрее, чем инфляция доллара.


FAQ

Нужно держать открытыми WebSockets по всем площадкам и в реалтайме парсить бид/аск спреды. Цель - найти моменты, когда суммарная стоимость позиций «Да» и «Нет» проваливается ниже 1.00. Профит идет только если чистый дельта-спред перекрывает тейкер-фи и газ. Без своих Python-скриптов, которые с алертами и авто-исполнением ловят эти перекосы до того, как маркет-мейкеры успеют дефануть стакан, ловить там нечего.

Тема рабочая только при атомарном исполнении через бандлы смарт-контрактов, иначе схватишь «легу» и прощай депозит. Работать стоит строго по ликвидным маркетам с оборотом от $500k в сутки. Основная боль - это спреды на входе (слип) и зависание денег в случае споров по оракулам. Нужно строить архитектуру на HFT-ботах, чтобы забирать лучшие ордера вперед рынка, иначе съедят конкуренты.

Самые опасные - это исполнение только одной части сделки (leg risk), лок капитала на неопределенный срок при затяжных спорах через UMA-оракулы и риск быть «съеденным» MEV-ботами, которые палят мемпул. Рецепт защиты: только приватные RPC, жесткая логика лимитных ордеров и работа только с такими активами, где глубина стакана позволяет протащить объем без тотального проскальзывания цены.
Astra EXMON

Astra is the official voice of EXMON and the editorial collective dedicated to bringing you the most timely and accurate information from the crypto market. Astra represents the combined expertise of our internal analysts, product managers, and blockchain engineers.

...

Поделитесь своим мнением

Ваш e-mail не будет опубликован. Обязательные поля отмечены *