Ринки прогнозів

Набір виходів, який платить відому суму за будь-якого результату, куплено дешевше за цю суму — різниця ваша. Шукаємо такі набори так, як їх описують майданчики й дослідження: ребалансування групи виходів на одному майданчику й одна подія на двох майданчиках. За стаканами, після комісій, на ваш капітал. Між майданчиками збіг подій — оцінка: у кожної пари вказано впевненість і причини.

Як рахуємо

Ребалансування (термін дослідження Saguillo та ін., 2025, за угодами Polymarket) — усередині одного майданчика. Long: найкращі ask YES усіх виходів групи, де виграє рівно один, разом менші за $1 після комісій — купуємо YES кожного виходу, при розв’язанні один із них платить $1. Лише для групи, яку майданчик оголосив взаємовиключною, прочитаної повністю, з виходом на все решту («інше», «нічия») і без виходів, що ще додадуться. NO кожного виходу групи не показуємо. Лише там, де документація майданчика обіцяє не більше одного YES; кожен вихід один раз; «Other» групи Polymarket, що доповнюється, не беремо, як велить її документація. YES + NO одного ринку перевіряємо теж, але на цих майданчиках стакан NO — дзеркало стакана YES: разом вони завжди коштують $1 плюс спред.

Не показуємо те, що не є арбітражем: суми відображуваних цін, середин спреду й останніх угод (за ними не купити); YES усіх виходів, коли список виходів неповний; NO усіх виходів, коли виходи не виключають один одного (драбини дат і порогів, «які штати виграє…»); один вихід двічі; купівлю ніг по черзі; ігрові гроші. Комбінаторний арбітраж між логічно пов’язаними ринками не будуємо: майданчики не публікують, які питання залежать одне від одного, а зв’язок, вгаданий за назвами, — вигадана вилка.

Ціна плеча — найкраща пропозиція на продаж (ask) у стакані майданчика; ask NO на дзеркальному стакані — 1 мінус бід YES. Глибина — за стаканом: беремо комплекти, поки наступний ще дешевший за виплату, поки не скінчиться капітал або стакан. Де глибини немає, рахуємо за найкращою ціною за один комплект і пишемо, що глибина невідома. Мінімальний розмір заявки майданчика не враховуємо.

Міжмайданчиковий арбітраж — перевірка ботів Polymarket–Kalshi: ask YES на одному майданчику плюс ask NO тієї самої події на іншому менші за $1 після комісій; тримаємо обидва плеча до розв’язання. Спортивні набори — та сама перевірка для однієї гри й однієї ставки, що збіглися за лігою, сторонами, початком, типом ставки й лінією, з правилами розрахунку, звіреними за їхнім текстом. Решту подій зіставляємо за словами назви, числами (пороги, дати), стороною виходу, датою закінчення й джерелом розв’язання. Різні числа, роки, місяці, напрям («вище» і «нижче»), партія або дати закінчення далі ніж тиждень — не пара. Майданчики можуть розв’язати одну подію по-різному, тому кожен такий рядок позначено «умови розв’язання можуть відрізнятися», якщо обидва не публікують дослівно один текст правил.

Тотали й фори на різних лініях однієї гри (на двох майданчиках або на одному) перевіряємо за матрицею виплат: для кожного можливого підсумкового рахунку рахуємо, скільки платять плечі за правилами своїх ринків. Вилка — лише якщо за будь-якого рахунку вона платить не менше за $1 і кожне плече десь платить саме. Приклад: більше 2,5 на одному майданчику й менше 3,5 на іншому — при 3 голах платять обидва ($2), за будь-якого іншого рахунку одне ($1). Чистий і відсоток рахуємо лише за мінімальною виплатою. Результат матчу з нічиєю на трьох майданчиках — кожен вихід один раз, за найкращим ask. Лайв: кожне плече не старше за 10 секунд, плечі розійшлися не більше ніж на 5 секунд (за замірами затримок майданчиків) і обидва знято після останньої зміни рахунку за даними Polymarket і Kalshi; де рахунок не публікується, рядок позначено «стан матчу не підтверджено» і він не дає сигналу бота. Кожна картка показує максимум свого стовпця серед рядків, що пройшли фільтри. Застарілі котирування й відмінності правил позначаємо попередженнями; вони не змінюють вибір максимуму.

Комісії тейкера — за правилами кожного майданчика, нижче. Де комісія ринку невідома, чистий результат не вказуємо. Дні до виплати — до останньої дати розв’язання ніг; річні — прості, без капіталізації. Капітал у доларах; USDC, USD1 і долар на рахунку Kalshi — різні гроші, курс 1:1 між ними не гарантовано.

Списки ринків читаються раз на 2–4 хвилини, стакани кандидатів — кожні 20 секунд. Плече, старше за 5 хвилин, або плечі, що розійшлися більше ніж на 3 хвилини, позначені ⚠. Сайт лише показує дані: не торгує й не просить ключі.

Майданчики й комісії

Polymarket: тейкер платить акції × ставка категорії × p(1−p) (0 на геополітиці), мейкер — нічого; розрахунок у USDC; у США, Великій Британії, Німеччині, Франції, Росії та низці інших країн — лише закриття позицій, у санкційних регіонах закритий. docs

Kalshi: тейкер платить 0,07 × множник серії × C × P × (1−P), округлення вгору до цента; розрахунок у доларах; біржа під наглядом CFTC, торгівля за Member Agreement, серед заборонених юрисдикцій — Австралія, Канада, Франція, Індія, Сінгапур, Велика Британія. docs

Limitless: тейкер на нових майданчиках — 5 % × (1 − ціна) від суми в USDC, на старих стаканах 0,40–3,00 % куплених акцій (формулу не опубліковано, рахуємо 3 %); розрахунок у USDC; торгівля недоступна зі США, Китаю, Онтаріо й Альберти. docs

Myriad: тейкер платить ставку з taker_fee_bps_array ринку для його ціни, мейкер — нічого; розрахунок у токені ринку (USD1, USDT, USDC); обмеження за країнами в документації не вказано. Ринки на AMM не читаємо. docs

Hyperliquid: комісія береться лише при закритті або розрахунку позиції, ставку для виходів не опубліковано — чистий результат не вказуємо; розрахунок у USDC; дані — публічний info API без ключа та WebSocket. docs

Opinion: тейкер платить ставку теми × p(1−p) від суми, 0–1 %, не менше $0,25 за угоду; ставки теми немає в API, тому рахуємо 1 % (оцінка знизу); розрахунок у USDT; умови закривають торгівлю зі США, Великої Британії, Франції, Онтаріо, Сінгапуру, Польщі, Таїланду, Південної Кореї, Китаю, Тайваню, Гонконгу. Читаємо лише документований публічний API, не сайт. docs

Binance: прогнози Binance Web3 Wallet: усі запити, навіть до ринкових даних, підписуються ключем. Вимкнено, доки ви не задасте ключ лише з правом читання командою npm run predictions:setup; ставка комісії в API без одиниць — чистий результат не вказуємо. docs

SX Bet: тейкер платить 1 % від прибутку виграшної ставки, мейкер — нічого; ставку задано для акаунта, тому рахуємо 1 % на кожному плечі (оцінка знизу); розрахунок у USDC; скасована гра анулюється й усі ставки повертаються — правила щодо скасування відрізняються від інших майданчиків, такі вилки позначено ⚠. Список ринків відкритий, ціни читаються за ключем API. docs

Predict.fun: тейкер платить базову ставку ринку (feeRateBps, 200 = 2 %) × min(ціна, 1 − ціна) за акцію, зі знижкою на 10 % менше; мейкер — нічого; мінімальна заявка 1 USDT; розв’язання — оракул UMA за правилами ринку. Усі дані, навіть ринкові, читаються за ключем API. docs

Manifold: ігрові гроші (мана): лише для порівняння, ніколи не як арбітраж. docs

Не використовуємо: PredictIt (із цієї мережі відповідає 403), Drift BET (документація тепер лише про безстрокові контракти), Gemini Predictions (немає глибини через REST), Novig (кожен запит із ключем), Betfair (потрібні ключ і сесія).