Арбитраж Polymarket, Kalshi, Opinion | ПОЛНОЕ РУКОВОДСТВО
✍️ Перевод: https://x.com/securezer0/status/2007570038732271998?s=20
🦧 Подпишись на канал: https://t.me/cryptomokakke
📚 Больше статей: https://t.me/smart_sorting
Последние 3 месяца я был сосредоточен на том, как НАХОДИТЬ, ИСПОЛНЯТЬ и ЗАКРЫВАТЬ арбитражные сделки между тремя крупнейшими рынками предсказаний: Polymarket <> Kalshi <> Opinion
За это время я заработал десятки тысяч на прибыли, грантах и комиссиях, создавая арбитражные торговые боты и терминалы для:
Ставочных синдикатов <> Малых Рынков Предсказаний <> Ритейл Трейдеров
Параллельно с этим я использовал собственный капитал для поиска и торговли этими арбитражами, в среднем получая от 12% до 20% в месяц.
Арбитраж на рынках предсказаний прост по своей сути: всё, что вам нужно, — найти два рынка с функционально идентичными правилами, но с разными коэффициентами, например так:
Когда коэффициенты различаются и вы можете купить YES + NO суммарно дешевле $1, возникает арбитраж. В этом примере:
Buy 3,781 Opinion $NO for $2,228
Buy 3,781 Polymarket $YES for $1,437
Стоимость $3,664 | Профит $116
Я ненавижу гейткиперов, поэтому расскажу от А до Я, как создавать такие боты, а также стратегию, которую я использовал для торговли на этих рынках.
Не умеете кодить? Или не хотите тратить 3 месяца, чтобы дойти до этого уровня, как это сделал я? В конце этого документа у меня есть кое-что для вас.
АЛГОРИТМ
Как и в большинстве программных проектов, сначала я думал, что сделать этого бота будет легко. И действительно, существуют способы срезать углы и быстро собрать арбитражного бота.
Но если вы хотите создать арбитражного бота, который реально зарабатывает деньги, всё нужно делать правильно с самого начала.
Первый шаг к успеху — идентификация идентичных рынков между платформами предсказаний.
Совпадающие Рынки
Kalshi:
Los Angeles Mayoral Election winner?
→ Karen Bass
Polymarket:
Will Karen Bass win the 2026 Los Angeles mayoral election?
Для человека (или ИИ) это очевидное совпадение. Но когда нужно сравнить миллионы рынков, это превращается в миллиарды потенциальных комбинаций. Использовать ИИ для сопоставления всех вариантов напрямую — нереалистично.
Поэтому я создал гибридный алгоритм сопоставления.
Трёхчастная система сопоставления (Trigram, Jaccard, Cosine) объединяется в единый гибридный скор. Затем все пары сортируются по убыванию, а фильтрация по порогу отсеивает совпадения с низкой уверенностью.
Это сокращает примерно миллиард потенциальных совпадений до управляемых сотен тысяч. Но это всё ещё далеко от идеала — по сути, алгоритм лишь говорит, что у рынков похожие названия и правила.
Следующий шаг — использование ИИ для подтверждения или отклонения оставшихся пар. Я думал, что это будет легко. Я ошибался. Это оказалось самой сложной частью всего проекта.
Проблема в том, что все LLM нестабильны. Вы можете отправить один и тот же рынок 10 раз — он подтвердит его 8 раз и отклонит 2 раза. Если сделать модель слишком детерминированной, начинаются абсурдные отказы:
«Отклонено, потому что “The FED” и “US FED” могут быть разными сущностями».
Если дать модели слишком много свободы: «Подтверждено, потому что тикеры $SPACEX и $SPAX функционально похожи».
Рынков слишком много и они слишком разные. Только потратив большие суммы на API-токены, можно понять, какие промпты работают, а какие — нет.
После долгого тестирования мне удалось создать один универсальный промпт, который работает более чем в 99.8% случаев.
Однако, если бы я начинал с нуля, я бы делал отдельные промпты под отдельные типы рынков. Это дало бы сопоставимое качество и заняло бы гораздо меньше времени.
В результате сотни тысяч потенциальных совпадений сократились всего до 5,000 реальных метчей — и мы переходим ко второму шагу.
ВОССОЗДАНИЕ ОРДЕРБУКОВ
Каждый раз, когда мне пишут в личку люди, которые пытались сделать собственного арбитражного бота или купили бота где-то в интернете и жалуются, что потеряли деньги на арбитраже, причина всегда одна и та же.
- Им удалось сопоставить хотя бы часть рынков.
- Они нашли разницу в ценах.
- Они купили по 1000 шеров с каждой стороны.
- Коэффициенты выровнялись (спред закрылся).
- Они продали.
- В итоге у них оказалось меньше денег, чем было изначально.
Их бот говорил им: «13% спред → покупай YES и NO → прибыль 13%».
А на самом деле боту нужно считать, сколько шеров доступно к покупке при спреде 13%… при 12%… при 11% и так далее. С учётом того, как ваши покупки повлияют ОБА стакана.
Когда у вас есть стаканы, вы знаете, сколько ликвидности доступно на каждом ценовом уровне, а значит — можете покупать только то, что реально прибыльно. И тогда вы знаете фактический ROI в процентах.
Хороший бот скажет вам: «13% спред → купить 843 YES и NO → прибыль 10%».
Проблема в том, что это сделать непросто.
5 000 совпадений = 20 000 стаканов (YES и NO).
API имеет слишком большую задержку, особенно в таком масштабе, поэтому нужны вебсокеты.
Документация по вебсокетам Polymarket — ужасная. Практически нигде не описано, что означают типы сообщений. Плюс, на одно WS-соединение можно подписаться примерно только на 250 clob id, после чего данные начинают теряться.
Но если вы хотите сделать арбитражного бота, который работает, это нужно реализовать.
Когда у вас есть стаканы, вы можете посчитать спред:
Spread = 1 - (YES ASK + NO ASK)
Гораздо более сложный расчёт — это MAX EV и EV с учётом вашего банкролла. То есть ожидаемая прибыль в зависимости от того, сколько денег вы вкладываете. Сложность в том, что нужно учитывать два стакана одновременно, и ваши покупки будут двигать цену в обоих.
НАЧАЛО ТОРГОВЛИ
На этом этапе у вас уже есть вся информация, чтобы начинать брать арбитражи вручную. На самом деле большинство своих арбитражей я до сих пор обрабатываю именно вручную.
Каждый день существуют сотни неверных цен. Вот лишь некоторые из тех, которые бот нашёл и выложил на моём сайте (AlertPilot).
Автоматизация торговли — это то, над чем я всё ещё работаю, поэтому это оставлю для второй части. Сейчас, на мой взгляд, куда интереснее обсудить торговые стратегии для работы с арбитражами, которые вы уже видите в терминале.
Торговая СТРАТЕГИЯ
Сначала давайте разберём несколько распространённых заблуждений про арбитраж на prediction markets:
Спреды быстро закрываются, если брать арбитраж вручную:
- Верно только для спортивных рынков и UP / DOWN
- Большинство остальных спредов, которые мы находим, живут по несколько часов
Нужно ждать резолва рынка, чтобы зафиксировать прибыль:
- Прибыль можно зафиксировать сразу после закрытия спреда (обычно через несколько дней)
- Чем больше ваша позиция, тем дольше будет продаваться весь объём
Теперь к стратегии. Первый шаг — выбор рынка для арбитража. Вариантов много, и поначалу легко тянуться к самому высокому EV (самой большой сумме в $), но есть куда больше факторов, которые нужно учитывать.
Какой процент спреда?
-> Именно он определяет ваш ROI
Много маленьких $ с большим спредом > один большой $ с маленьким спредом
-> Минимизируете риск одного рынка (не клади все яйца в одну корзину)
Насколько рынок сейчас актуален?
-> Если да, спред закроется быстрее и вы раньше выйдете из позиции
Опытный арбитражник, особенно с бэкграундом в спортивных ставках, схватит это гораздо быстрее, чем новичок. Мне понадобилась неделя или две, чтобы понять, какие рынки стоит брать, а какие — нет.
После выбора рынка у вас есть несколько вариантов входа в сделку:
Market buy с обеих сторон
-> моментально в позиции
-> платите часть комиссий (небольшие на Opinion, отсутствуют на Poly)
Лимитки с одной стороны, market buy по мере исполнения
-> лучшая цена (за счёт bid / ask спреда)
-> нет комиссий на maker-ордерах
-> более медленный вход / риск упустить спред, если не будет исполнений
Обычно я захожу через market buy с обеих сторон, если только не вижу, что спред устойчивый — тогда я также выставляю лимитные ордера.
При покупке крайне важно внимательно смотреть на то, что говорит бот: сколько покупать, как изменения ликвидности повлияют на ваши ордера и как комиссии отразятся на вашем итоговом ROI.
После того как вы зашли в обе стороны, дальше это по сути просто ожидание. Если рынок выбран удачно и он действительно актуален, ждать долго не придётся — от нескольких часов до пары дней. Если же выбор оказался неудачным, или вам не повезло и ранее актуальный рынок перестал быть актуальным, вы можете застрять в позиции на несколько дней или даже недель.
Конечно, ничто не мешает просто выйти с минимальным убытком и перейти в другой рынок, но лично у меня ни разу не возникало необходимости так делать.
Когда спред закрывается, следующий шаг — продажа, и здесь на самом деле есть много способов оптимизации. Во многом ситуация похожа на вход в сделку: важно понимать ликвидность, учитывать комиссии, проскальзывание и прочие нюансы.
При продаже я почти всегда ставлю лимит на одной стороне, а после исполнения — выхожу маркетом на другой. Изначально я всегда использовал лимиты на Opinion из-за нулевой maker-комиссии, и в большинстве случаев это действительно лучший вариант. Но не всегда. Только после того как я сделал менеджер позиций, я понял, что иногда лимиты на Polymarket дают большую итоговую выгоду.
Также не обязательно продавать всё сразу.
В целом я бы сказал, что арбитраж этих рынков после того, как у вас уже есть бот, — это самая простая часть.
Но что если вы не умеете кодить?
Или у вас нет свободных трёх месяцев, чтобы заниматься этим каждый день?
Тогда вы можете просто использовать мой бот.
Arbitrage Bot от AlertPilot публикует сотни арбитражей Polymarket <> Kalshi <> Opinion каждый день, тысячи процентов спреда и сотни тысяч EV каждый месяц.
Посмотреть можно здесь -> AlertPilot.io/arb
✍️ Перевод: https://x.com/securezer0/status/2007570038732271998?s=20
🦧 Подпишись на канал: https://t.me/cryptomokakke
📚 Больше статей: https://t.me/smart_sorting