Type/to search
2
Follow
484
Followers
Арбитраж бинарного хеджирования Polymarket: полный анализ от концепции до практического применения
Discussions
Created 2026-02-28 11:35:57  Updated 2026-03-03 14:35:13
 2
 1038

img

I. Двойная рыночная структура Polymarket

Polymarket — это рынок прогнозов, где у каждого вопроса всего два исхода: да или нет, рост или падение, выигрыш или проигрыш. Взяв в качестве примера контракт на изменение цены BTC за 15 минут, каждый раунд имеет...Up и DownДва контракта, ставки на то, будет ли цена закрытия BTC выше или ниже цены открытия в течение 15 минут. За правильную ставку выплачивается 1 доллар, за неправильную — ноль.

img

Этот рынок обладает очень специфической особенностью:Суммарная вероятность двух исходов составляет 100%, поэтому цена «Вверх» плюс цена «Вниз» теоретически должны равняться ровно 1.

[
\text{Up_price} + \text{Down_price} = 1 \quad \text{(Теоретическое значение)}
]

Данная недвижимость не представлена ​​на обычных рынках договоров, что дает нам естественную гарантию надежности.


II. Основная логика арбитража: обретение определенности в неопределенности.

Количественная торговля всегда сводилась к одному: поиску относительно надежных возможностей на рынке, полном неопределенности.

Бинарная структура Polymarket обеспечивает такую ​​опору:**Независимо от того, вырастет или упадет BTC за эти 15 минут, в любом случае, независимо от того, вырастет цена или упадет, игрок неизбежно получит 1 доллар.**Используя эту опорную точку, нам не нужно определять направление; нам нужно лишь найти возможность, где общая стоимость покупки вверх и вниз меньше 1, а прибыль гарантирована.

Проблема в том, что в большинстве случаев сумма двух цен близка к 1, что затрудняет поиск прямых арбитражных возможностей. Так где же именно находятся эти возможности?


III. Окно возможностей: ценовые дисбалансы во время чрезмерной реакции рынка.

Возможность возникает изЦеновые дисбалансы, вызванные чрезмерной реакцией рынка.

Представьте себе такую ​​ситуацию: за 15 минут цена BTC внезапно резко падает, вызывая панику на рынке и массовую распродажу контрактов Up, при этом цена падает с 0,5 до 0,35. Теоретически, независимо от того, насколько сильно упадет Up, цена Down должна вырасти на ту же величину, их сумма всегда равна 1. Однако рынок реагирует с разной скоростью. Up уже быстро упал, в то время как Down все еще движется от 0,5 до 0,65 и, возможно, еще не догнал его полностью.

В этот решающий момент перехода сумма значений Up и Down может составлять всего 0,93, что приведет к кратковременному ценовому дисбалансу.

[
\text{Up}(0.35) + \text{Down}(0.58) = 0.93 < 1
]

Это арбитражное окно: комбинация, покупка которой стоит 0,93 доллара, но которая неизбежно принесет 1 доллар прибыли, причем размер прибыли определяется в момент покупки.


IV. Оригинальная идея: четырехпараметрическая последовательная версия

Оригинальная идея принадлежит пользователю Twitter @the_smart_ape, и она очень лаконична, содержит всего четыре параметра:

параметрзначение
SHARESПокупка акций по каждой ветке
SUM_TARGETЦелевая цена для обеих частей вместе взятых (верхний предел)
MOVE_PCTВеличина падения
WINDOW_MINМониторинг временного окна

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

Этот подход прост и понятен, но при непосредственном применении к реальной торговле он столкнется с рядом очевидных проблем.


V. Наши улучшения: Проактивное использование арбитражных возможностей

Первоначальная идея заключалась в следующем:Пассивное ожиданиеПокупайте первую часть, затем наблюдайте, когда цена в противоположном направлении снова упадет. Покупайте вторую часть только тогда, когда суммарная цена обеих частей окажется ниже целевой цены.

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

  • Первый шаг: Разместите лимитный ордер на покупку по цене после резкого падения, с учетом проскальзывания.
  • Второй этап: сSUM_TARGET - 第一腿价格Применив обратный ценовой лимит, мы можем зафиксировать цену до того, как противоположный тренд достигнет своего пика.

Когда оба ордера подаются одновременно, арбитражная возможность фиксируется в момент размещения ордера. Вместо пассивного ожидания, пока рынок выполнит условия, мы позволяем рынку самому к нам прийти.

Основной код реализован следующим образом:

javascript
function executeBothLegs(symbols, dumpSide, dumpAsk) { var leg1Symbol = (dumpSide === "Up") ? symbols.up : symbols.down var leg2Symbol = (dumpSide === "Up") ? symbols.down : symbols.up leg1Price = _N(dumpAsk + SLIPPAGE, 4) // 第二腿限价:SUM_TARGET - leg1Price,确保两腿合计 <= SUM_TARGET 即有利润 leg2Price = _N(SUM_TARGET - leg1Price, 4) // 并发提交两个限价单 var goLeg1 = exchange.Go("CreateOrder", leg1Symbol, "buy", leg1Price, SHARES) var goLeg2 = exchange.Go("CreateOrder", leg2Symbol, "buy", leg2Price, SHARES) var id1 = goLeg1.wait() var id2 = goLeg2.wait() leg1OrderId = id1 leg2OrderId = id2 state = STATE.BOTH_PENDING }

VI. Вопрос 1: После покупки первой части контракта цена еще не восстановилась.

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

В течение этого периода, если вы удерживаете позицию с односторонним ростом, цена может продолжать падать, пока не стабилизируется на нулевом уровне.Необходимо разместить ордер стоп-лосс.

Патч 1: Гарантированная минимальная цена + ранняя фиксация прибыли

Мы добавили два параметра:

  • **FLOOR_PRICE(Минимальная цена)**Установите абсолютный минимум (например, 0,05). Если цена актива упадет до этого уровня, это означает, что рынок определил, что это направление, вероятно, будет неблагоприятным, поэтому зафиксируйте убыток и выйдите из рынка.
  • **EARLY_TAKE_PROFIT(Предварительное соотношение фиксации прибыли)**После покупки первой части контракта, если цена поднимется до целевого уровня прибыли, продайте ее напрямую, чтобы получить прибыль, не дожидаясь второй части.
javascript
function handleLeg1OnlyRisk(symbols, upBid, downBid, isLastMin) { var holdBid = (leg1Side === "Up") ? upBid : downBid var profitLine = leg1EntryAsk * (1 + EARLY_TAKE_PROFIT) var stopLine = leg1EntryAsk * (1 - LAST_MIN_STOP_LOSS) var needClose = false var reason = "" if (holdBid <= FLOOR_PRICE) { needClose = true; reason = "止损(保底)" } else if (!isLastMin && holdBid >= profitLine) { needClose = true; reason = "前期止盈" } else if (isLastMin && holdBid <= stopLine) { needClose = true; reason = "末段止损" } if (needClose) { // 先撤对侧挂单,再平仓 cancelAndConfirmUntilClear(leg2OrderId) closePosition(holdSymbol, holdBid, reason) } }

Один гарантирует нижний предел, а другой фиксирует верхний предел, тем самым устанавливая границу для изначально неограниченной односторонней позиции.


VII. Вопрос 2: Товары, приближающиеся к стадии оформления, требуют отдельной обработки.

Первоначальный подход не учитывал временной аспект, но ситуация кардинально меняется, когда приближается этап расчетов: расчеты наступают скоро, и ждать уже некогда, даже если цена еще не упала. Более того, чем ближе к расчетам, тем резче, как правило, становятся колебания цен.

Патч 2: Логика сегментации для заключительного временного периода

Мы добавилиLAST_MIN_S(Пороговое значение времени можно скорректировать.) Логика переключения после перехода к заключительному этапу:

  • Больше не пытаюсь построить вторую ногу
  • ПлюсLAST_MIN_STOP_LOSS(Процент стоп-лосса в конце торговой сессии) Если цена упадет ниже уровня стоп-лосса, выход по рыночной цене.
  • Если оно не упадет, просто держитесь за него и ждите расплаты.
javascript
var isLastMin = (remaining <= LAST_MIN_S) // BOTH_PENDING 状态下 if (isLastMin) { Log("⏰ 最后1分钟,撤销未成交挂单") cancelAllPending("最后1分钟") }

На начальных этапах следует дождаться восстановления цен; на более поздних этапах — избегать падения цен до нуля. Эти два подхода не противоречат друг другу.


8. Вопрос 3: Обработка задержек в сети Polymarket

Polymarket — это онлайн-рынок, и получение информации о статусе и позиции ордера иногда может быть медленным; подтверждение после размещения ордера может занять несколько секунд. Поэтому стратегия включает механизм обнаружения таймаута ордера и повторной попытки его размещения.

javascript
function placeOrderAndConfirm(symbol, side, price, amount) { var orderId = exchange.CreateOrder(symbol, side, orderPrice, amount) var deadline = Date.now() + ORDER_TIMEOUT_S * 1000 while (Date.now() < deadline) { var order = exchange.GetOrder(orderId) if (order && order.Status === 1) { return { orderId: orderId, avgPrice: order.AvgPrice } // 成交 } if (order && (order.Status === 2 || order.Status === 4)) { return { orderId: orderId, avgPrice: null } // 已撤销 } Sleep(1000) } // 超时后执行撤单 exchange.CancelOrder(orderId) // ... 继续轮询确认最终状态 }

Одновременно добавилSLIPPAGEПараметр «проскальзывание» увеличивает вероятность исполнения ордера на покупку. Фактическая цена ордера при покупке равна целевой цене плюс проскальзывание.


IX. Выкуп автоматической ликвидации

Polymarket использует уникальный механизм: выплаченная сумма не возвращается автоматически на баланс после расчёта по контракту.**Средства могут быть разблокированы только путем активного вызова API Redeem.**Если этот шаг будет пропущен, средства на счете будут заблокированы в уже закрытых позициях.

Стратегия автоматически инициирует вывод средств партиями при каждом переключении, чтобы обеспечить своевременный возврат средств.

javascript
function doRedeem() { var positions = exchange.GetPositions() for (var i = 0; i < positions.length; i++) { var pos = positions[i] if (pos.Info && pos.Info.redeemable) { var result = exchange.IO("redeem", pos.Symbol, true) Log("Redeem 结果:", result) } } } // 每轮结算前(840s 后)自动触发 if (!redeemDone && elapsed >= 840) { doRedeem() redeemDone = true }

10. Панель мониторинга в режиме реального времени

img

Стратегия включает в себя панель мониторинга в режиме реального времени, которая отображает баланс счета, текущее состояние, мониторинг цен и прибыль/убыток по позициям в табличном формате, что позволяет легко отслеживать прогресс стратегии во время реальной торговли. Панель мониторинга содержит четыре таблицы:

  1. Средства счетаПервоначальный капитал, собственный капитал, остаток денежных средств, общая прибыль/убыток
  2. Государственная политикаТекущее состояние автомата, отложенные ордера/цены сделок, уровни стоп-лосса и тейк-профита, а также блокировка прибыли.
  3. Мониторинг ценВверх/Вниз: Текущая цена, процентное падение и наличие срабатывания сигнала.
  4. Подробности о должностиОткрытые контракты, акции, средняя цена входа, плавающая прибыль/убыток

XI. Демонстрация реальных торговых операций и выявление недостатков стратегии.

img

Пример реальной торговли:

Начинается новый раунд, и стратегия находится под наблюдением. Зафиксировано падение контракта Down на 18,60%, с 0,43 до 0,35, что вызвало сигнал. Одновременно были размещены два лимитных ордера: первый ордер Down на уровне 0,37, и второй ордер Up на уровне 0,60, в сумме 0,97, ниже целевой цены. Оба ордера были поданы одновременно и впоследствии исполнены. Фактическая средняя цена исполнения: первая часть 0,34, вторая часть 0,60, истинная общая стоимость.0.94Прибыль оказалась выше ожидаемой, но ниже установленного порога в 0,97.

Эта стратегия относительно обоснована по своей концепции и может принести хорошую прибыль при благоприятных рыночных условиях. Однако следует откровенно признать три недостатка:

**Недостаток 1: В условиях стабильного рынка сложно найти возможности для открытия позиций.**Арбитражные возможности основаны на чрезмерной реакции рынка; когда рынок стабилен, вероятность резкого падения очень низка, и стратегия может работать только изолированно. Расширение диапазона срабатывания может увеличить возможности, но качество точек входа снизится.

**Недостаток 2: Риски, связанные с удержанием одной позиции, трудно полностью избежать.**После исполнения первого стоп-лосса, если цена продолжит падать вместо восстановления, второй стоп-лосс никогда не будет исполнен и будет продолжать падать до тех пор, пока не достигнет линии стоп-лосса и не сработает. Установка порогового значения стоп-лосса — это дилемма: слишком узкий порог приведет к легкому срабатыванию стоп-лосса при обычных колебаниях; слишком свободный — к слишком большим убыткам, если цена действительно пойдет не так.

**Недостаток 3: Пороговое значение для совокупной целевой цены обеих составляющих представляет собой компромисс.**Слишком высокая установка порогового значения увеличивает возможности, но каждый раз приносит меньшую прибыль; слишком низкая установка увеличивает прибыль каждый раз, но может привести к длительному ожиданию значимой возможности. Это выбор стратегии: частое накопление небольших сумм или удержание низкого порогового значения и ожидание случайных крупных возможностей.


XII. Перспективы оптимизации в будущем

Эта стратегия представляет собой общую концепцию, и есть три направления, которые заслуживают более подробного изучения:

**Вариант 1: Использовать внешние данные о цене BTC.**Эта стратегия лучше подходит для рынков с ограниченным диапазоном движения цен; на трендовых рынках стоп-лосс ордера будут срабатывать часто. Она может быть интегрирована с ценами BTC в реальном времени с бирж, что позволяет приостанавливать открытие позиций при появлении четкого тренда, тем самым снижая ненужные потери.

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

**Вариант 3: Динамическая настройка параметров.**В настоящее время все параметры фиксированы, но волатильность рынка меняется. Использование одного и того же набора параметров в периоды высокой и низкой волатильности явно нецелесообразно. Автоматическая корректировка параметров на основе рыночных условий в реальном времени значительно повышает адаптивность стратегии.


Основная логика этой стратегии — поиск моментов ценового дисбаланса на бинарных рынках — не ограничивается контрактами BTC от Polymarket. Любой рынок с бинарной структурой и краткосрочными ценовыми расхождениями может быть использован для выявления возможностей с помощью аналогичного подхода. Мы просто преобразовали эту идею в работающую модель; самое интересное еще впереди.

Исходный код стратегии: Робот для хеджирования и арбитража BTC Polymarket с 15-минутной разверткой и двусторонним управлением (версия для двустороннего хеджирования)

Comment
All comments (2)

    牛逼

    4 months ago

    牛逼克拉斯

    4 months ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)