# Я использовал 17 параллельных аккаунтов, чтобы опровергнуть собственную торговую стратегию
> Запись о серьезном эксперименте на рынке прогнозов (Polymarket): от «найти границу» до «своими руками опровергнуть собственную границу»
---
## Вступление
В последнее время я занимаюсь одной вещью: **поиск стабильного способа получать прибыль на рынке прогнозов**.
Но я не хочу писать статью в стиле «я нашел безошибочную стратегию» — потому что в этой сфере **чем увереннее ты говоришь, тем вероятнее, что ты ошибаешься**.
Я хочу написать другое: **набор экспериментальной системы, которую можно самоопровергать**.
В этой статье будет рассказано о трех вещах:
1. **Принцип получения прибыли** — откуда на самом деле берутся деньги (не магия, а математика)
2. **Реализация инженерной части** — как превратить исследование в проверяемую, сопоставимую и способную опровергнуть саму себя экспериментальную платформу
3. **Истории провалов** — я сам опроверг 4 своих вывода, которые «выглядели многообещающе»
На мой взгляд, часть 3 — самая ценная.
---
## Один. Теория: откуда берутся деньги?
По своей сути рынки прогнозов — это **игра с нулевой суммой**: каждый заработанный тобой цент поступает от контрагента, который «добровольно готов тебе что-то заплатить».
Исчерпывающий анализ выявил всего 5 источников прибыли:
| Источник | Суть | Стабильность |
|---|---|---|
| Премия за ликвидность | Предоставление услуги мгновенного исполнения сделок | Высокая (но требует программирования) |
| **Временная стоимость денег** | Платформа блокирует средства без начисления процентов | **Структурный фактор** |
| **Поведенческие искажения** | Розничные инвесторы любят покупать «лотерейные билеты» | **Действуют в долгосрочной перспективе** |
| Информационное преимущество | Более быстрое/точное понимание ситуации | Нестабильно |
| Структурный арбитраж | Чисто техническое исполнение | Возможности крайне редки |
### Проверка данными, а не интуицией
Я проверил калибровку на реальных данных по **3,018 рассчитанным рынкам** (включая 5,366 наблюдений до расчёта). Результат оказался контринтуитивным:
**Вывод 1: цены на хвостовые события почти идеальны.**
- Контракты по цене ≥97¢, купленные за 1 день до расчёта, дали фактическую долю побед **99.7%** (n=955)
- Контракты по цене <2¢: **ни одного выигрыша** в 691 наблюдении — описанная в учебниках «ошибка в оценке маловероятных событий» здесь практически отсутствует
**Вывод 2: настоящее систематическое искажение — в среднем диапазоне.**
- Для рынков с ценой **50–70¢**: покупка за 7 дней до расчёта дала фактическую долю побед **64.5%** и ожидаемую доходность **+13%**
- Покупка за 30 дней до расчёта дала фактическую долю побед **70.4%** и ожидаемую доходность **+20.3%**
**Механизм**: рынок «округляет цены на события среднего диапазона в отдалённой перспективе в сторону 50/50» — событие с ценой 58¢ и месяцем до расчёта часто уже развивается в нужном направлении, а фактическая вероятность его наступления составляет около 70%.
**Вывод 3: существует «мёртвая зона».**
- В диапазоне цен **70–97¢** ожидаемая доходность отрицательна на всех временных горизонтах
- А ведь именно этот диапазон больше всего нравится интуиции розничного инвестора («девять шансов из десяти, да ещё и недорого»)
**Вывод 4: структурного арбитража не существует.**
Я просканировал 360 событий с несколькими исходами и предварительно обнаружил 35 «арбитражных возможностей». Но после проверки **полноты всех ног** через официальный интерфейс они исчезли: Σ цен продажи − Σ цен покупки = 0.9%~1.7%, то есть **в точности спред маркетмейкеров**. На верхних уровнях стакана рынок эффективен.
### Вытекающая из этого стратегия
Я пересчитал результаты в «дневную доходность на вложенный капитал», и вывод оказался поразительным:
| Стратегическая нога | Условия | Доля побед | **Дневная доходность на капитал** |
|---|---|---|---|
| **B3 (основная)** | 50–70¢ · до расчёта 3–21 день | 64.5% | **+1.86%/день** |
| B (расширенная) | 50–70¢ · 21–60 дней | 70.4% | +0.68%/день |
| **C (стабилизатор)** | ≥97¢ · до расчёта ≤1.5 дня | 99.7% | **+0.37%/день** |
| A (резервная) | ≥97¢ · 2–7 дней | 99.5% | +0.04%/день |
Дневная доходность B3 в 42 раза выше, чем у ноги A в первой версии. Это напрямую опровергло мой первоначальный подход к распределению капитала: я собирался вложить 80% средств в ногу с самой низкой доходностью.
---
## Два. Инженерная часть: как превратить это в проверяемый эксперимент
Теория — лишь отправная точка. Настоящая сложность в том, **как понять, что твой вывод — не просто шум?**
Я построил систему из трёх слоёв.
### Слой 1: данные
- **Данные платформы**: Gamma API (метаданные рынков), CLOB API (стаканы и исторические цены), Data API (сделки и позиции)
- **Внешние источники данных** (все проверены на практике):
- **Цепочка опционов Deribit** → напрямую рассчитывает по ценам опционов **нейтральную к риску вероятность** того, что цена на момент экспирации будет выше заданного уровня
- **Коэффициенты спортивных букмекеров с острыми линиями** (The Odds API) → справедливые вероятности без маржи по 9 букмекерским конторам
- **Kalshi** (регулируемая биржа) → консенсус между рынками
- **ESPN** → бесплатные итоговые счета без ограничений
- **Google News** → предупреждения о катализаторах
### Слой 2: стратегии
Фильтры выбраны не наугад — у каждого есть эмпирическое обоснование:
| Фильтр | Эмпирическое обоснование |
|---|---|
| Проверка неоднозначности правил (0–10 баллов) | Неоднозначность правил — главная причина убытков в хвосте распределения |
| Пропуск ценового диапазона 0.60–0.65 | Ожидаемая доходность в этом диапазоне составляет **−3.3%** |
| Защита от погони за ростом (блокировка при росте >10 пунктов за 3 недели) | Доля побед в этой группе — всего **50%** |
| Снижение порога по объёму | Доля побед при низком объёме — 69.7% > 60.2% при высоком объёме |
| Приоритет бинарным рынкам | Бинарные +15.7% против +7.4% у ноги на рынке с несколькими исходами |
| Исключить криптовалюту из ноги A | Криптовалюта — единственная убыточная категория для ноги A (EV −0.97%) |
### Слой 3: платформа для параллельного эксперимента с 17 стратегиями
Это основа всей системы.
**Принцип проектирования: каждая стратегия меняет только один механизм, всё остальное остаётся общим.**
- Общие параметры: пул кандидатов, пороговые значения импульса/edge/потока капитала, снимок состояния рынка, правила для всех ног
- Различие: только одна переменная (используется ли градация edge? включён ли обратный стоп-лосс? проводится ли строгая проверка правил?)
Сейчас одновременно тестируются 17 стратегий:
| Стратегия | Что тестируется |
|---|---|
| Базовая линия `ctl` | Контрольная группа |
| `veto` | Может ли внешняя оценка отсеять плохие позиции |
| `stop` | Является ли резкое падение после входа информативным сигналом |
| `whale` | Обладает ли поток капитала предсказательной силой |
| `strict` / `norule` | **Ценность самой проверки правил** |
| `nouma` | Чистый вклад страховочной системы UMA |
| `kalshi` | Ценность межплатформенного оракула |
| `lam50` / `lam25` | Не слишком ли самоуверенны внешние сигналы |
| `deadzone` | **Проверка на прочность вывода о «мёртвой зоне»** |
| `weather` / `esports` / `longmid` / `lowvol` | Стоит ли работать с исключёнными категориями |
| `verify` / `verify2` | Работает ли принцип «сначала проверить, потом ставить» |
**Почему система устроена именно так?**
Поскольку все стратегии работают с **совершенно одинаковым состоянием рынка** (одни и те же кандидаты, цены и пороговые значения), это статистически называется «общими случайными числами» и позволяет значительно снизить дисперсию. **Параллельный эксперимент с несколькими стратегиями не только быстрее последовательного, но и точнее.**
---
## Три. Истории провалов: я опроверг 4 собственных вывода
Эта часть для меня важнее всего. **Без этой системы все эти ошибки обошлись бы мне в реальные деньги.**
### Провал 1: одна ошибка в знаке создала иллюзию «100% побед»
Модуль внешней оценки выдал поразительную возможность:
> На одном из рынков ETH внешняя оценка показала «вероятность достижения = **100%**», тогда как рынок оценивал её в 36%
Это выглядело как лёгкая прибыль. Проверка выявила **три ошибки**:
1. Функция вероятности касания рассчитывала только **касание верхнего барьера**, тогда как «падение до заданной цены» означает движение **вниз** — если барьерная цена была ниже текущей, функция сразу возвращала 1.0
2. Вместо даты окончания рынка была выбрана «ближайшая дневная экспирация» (0.3 дня), а не месячная экспирация, соответствующая дате окончания рынка
3. Для расчёта **нижнего** барьера использовалась волатильность на уровне страйка, при этом не учитывался перекос волатильности пут-опционов
После исправления внешняя оценка изменилась со «100%» на **28.7%**, а рыночная цена составляла 36% — **расхождение изменилось с −64 до +7.3 процентного пункта** (вот это уже реальный и значимый сигнал).
**Урок: формула с неверно выбранным направлением может из ничего создать иллюзию «гарантированной победы». И чем привлекательнее она выглядит, тем сильнее следует в ней сомневаться.**
### Провал 2: отсутствие одного поля с датой создало ложное преимущество в +36 пунктов
Похожая проблема: когда в данных рынка отсутствует дата окончания, модуль выбирает ближайшую экспирацию и выдаёт бессмысленную вероятность.
Исправление: если дата отсутствует, по умолчанию выбирается **самая поздняя экспирация в этом месяце**. Также добавлена строгая защита: при **|edge| > 25 пунктов** модель считается неисправной и не используется для принятия решения.
### Провал 3: погодный источник — бесплатный, точный, но совершенно бесполезный
Я реализовал оценку цен на погодных рынках с использованием **31 ансамблевого участника Open-Meteo** (вероятность равна доле участников, попавших в заданный диапазон). Данные идеальные, бесплатные и не требуют ключа API.
**Результаты проверки на практике**:
- **Все ликвидные погодные рынки рассчитываются в тот же день** — к этому моменту участники рынка **уже видят актуальные измерения температуры**, а наш «прогноз на весь день» устарел; edge во всех случаях был отрицательным (−70% ~ −96%)
- На завтрашнем рынке расхождение прогнозов составляет всего ±1.8°C, а **ширина температурного диапазона — лишь 1°C** — погрешности модели достаточно, чтобы полностью исказить вероятность попадания в диапазон
**Вывод: не подключать.**
**Урок: доступность источника данных ≠ наличие преимущества. Даже бесплатные и точные данные могут быть не связаны с рынком из-за сроков расчёта или масштаба погрешности.**
### Провал 4: стратегия с самой высокой долей побед принесла наибольший убыток
Это было самое ценное исследование.
**Гипотеза**: на рынке есть позиции по событиям, которые уже завершились, но ещё не рассчитаны. Ответ известен в реальном мире, остаётся лишь «свериться» — это должно быть почти безрисково.
Симуляция Монте-Карло показала: доля побед 99.9%, доходность за 90 дней +472%.
**Результаты проверки на практике (38 рассчитанных сделок)**:
```
Доля побед 92.1% (35 побед, 3 поражения)
Общая прибыль +$39.95 (в среднем +$1.14 за сделку = +2.3%)
Общий убыток −$150.00 (в среднем −$50.00 за сделку = −100%)
Чистый результат −$110.05
```
**Фатальная математическая асимметрия**:
> Необходимая для безубыточности доля побед = 50 ÷ (50 + 1.14) = **97.8%**
> Фактическая доля побед = **92.1%**
> → Гарантированный убыток
**Правда о 3 убыточных сделках (ни одна не была случайностью)**:
- `Exact Score: Liverpool 0-0 Fulham` → мы купили «Нет», и **счёт действительно оказался 0-0**
- `Oregon vs. Oklahoma State` → **спортивная сенсация**
- `Tokyo минимальная температура 21°C` → **температурный диапазон не совпал**
**Один и тот же вывод: скидка рынка в диапазоне 0.95–0.99 — это реальная премия за риск, а не бесплатный обед.**
«Событие завершилось, но расчёт ещё не проведён» ≠ «результат известен». UMA ещё не рассчитала рынок именно потому, что результат всё ещё может быть спорным.
### Исправленная версия: настоящая «проверка»
Я заново реализовал `verify2`: **покупать только после подтверждения факта по внешним источникам данных**.
- Спорт → подтверждение по **итоговому счёту ESPN**
- Криптовалюта → подтверждение по **цене Deribit в момент расчёта**
- Погода / точный счёт / политика / киберспорт → **не торговать** (лучше отказаться от возможности, чем рисковать из-за ложной уверенности)
**Во время реализации удалось выявить ещё одну опасную ошибку классификации**: первоначальная версия сопоставила университетскую футбольную команду «Pittsburgh» с бейсбольной командой **Pittsburgh Pirates**, а «Cincinnati» — с **Cincinnati Reds**. Из-за этого мы могли бы совершить сделку на основе **неверных фактов**.
После исправления (требуется **совпадение названий обеих команд**) система правильно определила реальный убыток по Oregon и при этом пропустила реальные выигрыши, например Indiana и James Madison. Матчи, которые не удалось подтвердить, помечаются как «не удалось сверить» — **безопасный отказ от сделки**.
---
## Четыре. Текущий прогресс (без прикрас)
17 стратегий, каждая начинает с виртуального капитала $10,000 и формирует собственный портфель.
**Первые данные по реальным расчётам**:
| Стратегия | Чистая стоимость | Реализованный результат | Доля побед |
|---|---|---|---|
| `strict` — строгая проверка правил | **$10,005.07** | +$9.14 | 7/7 |
| Базовая линия и ещё 10 стратегий | $9,992.85 | +$9.14 | 7/7 |
| `deadzone` — мёртвая зона | $9,988.81 | +$9.14 | 7/7 |
| `longmid` — длинная среднесрочная | $9,940.65 | +$9.14 | 7/7 |
| **`verify` — проверка только по времени** | **$9,359.60** | **−$99.74** | **39/42 = 92.9%** |
| **`verify2` — проверка выполнена** | $9,939.97 | +$9.14 | 7/7 (только что запущена) |
**Ранние сигналы, которые можно различить** (выборка пока небольшая):
- **Нога C (облигации) выиграла все 7 раз** — результат совпадает с показателем 99.7% в бэктесте на 3,018 рынках
- **Гипотеза `verify` опровергнута**, стратегия продолжает приносить убытки
- **У `strict` (более строгой проверки правил) наименьший плавающий убыток** — это согласуется с предположением, что «неоднозначность правил — главный источник риска»
- У `deadzone` / `longmid` значительный плавающий убыток — это согласуется с гипотезой о мёртвой зоне
**Пока неясно**: сможет ли доля побед `verify2` вернуться к 99%+. Это наша наиболее перспективная гипотеза, для окончательного вывода нужно дождаться расчёта 20–30 сделок.
---
## Пять. Несколько применимых на практике методологических принципов
Если ты тоже занимаешься чем-то подобным, возможно, тебе пригодятся эти 10 правил:
1. **Сначала опровергай, потом оптимизируй** — спроектировать эксперимент, который может опровергнуть твою гипотезу, важнее, чем найти «хорошую стратегию»
2. **Доступность источника данных ≠ наличие преимущества** — даже бесплатные и точные данные могут быть совершенно бесполезны
3. **Учитывай асимметрию выплат** — при доле побед 92% можно терять деньги, если выигрыш приносит 2%, а проигрыш приводит к потере 100%
4. **Параллельная работа нескольких стратегий лучше последовательной** — общий пул кандидатов и пороговые значения (общие случайные числа) снижают дисперсию и ускоряют эксперимент
5. **Меняй только одну переменную на стратегию** — иначе нельзя определить причину результата
6. **Общие поток кандидатов и пороговые значения — но никаких общих позиций** — однажды я дал 17 стратегиям унаследовать один и тот же портфель. Из-за дедупликации событий отсеялось 39% кандидатов, решения всех стратегий **полностью совпадали**, и эксперимент оказался пустой тратой времени
7. **Устраняй любое смещение по времени** — пороговые значения различаются при раздельном расчёте, как и результаты проверки расчётов; необходимо использовать общий снимок данных
8. **Крайне сильное расхождение с внешней моделью почти всегда означает, что ошибаешься ты сам** — сначала сомневайся в себе
9. **Лучше отказаться от возможности, чем рисковать из-за ложной уверенности** — модуль проверки безопасно возвращает «не удалось подтвердить»
10. **Остерегайся источников данных, которые выглядят «идеально»** — чем идеальнее они кажутся, тем больше оснований сомневаться
---
## Шесть. Два важных практических ограничения
### Ограничение 1: ёмкость таких стратегий крайне мала
Минимальный размер ордера на платформе — **5 акций**. При цене 97¢ минимальная стоимость позиции составляет **$4.97**.
Это означает:
- **Капитал $20** → максимум 4 позиции → один убыток означает потерю −25% капитала → симуляция Монте-Карло показывает **вероятность убыточного месяца 54%, максимальную просадку 78%**
- **Капитал $200** → 40 позиций → вероятность убыточного месяца 9%, просадка <16% → вот с чего начинается «стабильность»
Что ещё важнее: **на всей платформе есть лишь около 115 подходящих под стратегию сторон контрактов**, а на основную ногу среднего диапазона приходится всего 7–18. При размере позиции $125–200 **ёмкость этой ноги составляет примерно $875–3,600**.
**Это «собирать ракушки», а не «добывать руду» — объём не растёт линейно с размером капитала.**
---
## Заключение
На сегодняшний день эта система **не принесла мне денег** — её ценность в том, что она **не дала мне тратить реальные деньги на проверку 4 ошибочных выводов**.
На рынках с нулевой суммой, таких как рынки прогнозов, важнейший навык, на мой взгляд, — не «точно предсказывать», а **различать «я обнаружил преимущество» и «в моей модели ошибка»**.
Самым надёжным методом для меня оказались именно те 17 параллельных счетов.

