О методологии

Система прогнозирования заголовков, построенная на двух столпах: математический анализ рынков прогнозов и экспертный анализ ИИ-агентов по методу Дельфи

Постановка задачи

Мы решаем две связанные задачи. Первая — краткосрочный политический форсайтинг: какие события произойдут в ближайшие N дней? Вторая — медиа-прогноз: как конкретное издание напишет об этих событиях, какой заголовок и первый абзац выберет редакция?

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

Для решения используются два параллельных пайплайна: математический анализ prediction markets (Polymarket) и мультиагентный метод Дельфи. Результаты обоих объединяются в Judge — финальном синтезаторе, который строит калиброванный таймлайн событий.

Формальная постановка

Дано:

  • Event thread \(E\) — описание события с контекстом
  • Outlet profile \(\Omega_o\) — характеристика издания \(o\)
  • Time horizon \(\tau\) — целевая дата прогноза

Найти:

  • Event probability \(P(E \mid \tau)\) — вероятность наступления события
  • Coverage probability \(P(O \mid E, \Omega_o, \tau)\) — вероятность освещения
  • Headline \(H\) и lead \(L\) в стиле издания
  • Confidence calibrated по историческим ошибкам

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

Архитектура: два столпа

Прогноз строится двумя независимыми пайплайнами, результаты которых объединяются на стадии синтеза. Каждый столп решает свою задачу: математический извлекает сигнал из поведения участников рынка, экспертный — из рассуждений ИИ-агентов.

flowchart TD
    subgraph collect["Сбор данных"]
        NS["NewsScout
RSS + web search"] & EC["EventCalendar
запланированные события"] & OH["OutletHistorian
архив издания"] & FC["ForesightCollector
Polymarket"] end subgraph pillar1["Столп 1: Математический пайплайн"] PROFILES["1.7M профилей
Brier Score"] --> INFORMED["348K INFORMED
top 20%"] INFORMED --> CONSENSUS["Informed consensus
accuracy-weighted"] end subgraph pillar2["Столп 2: Экспертный пайплайн"] ANALYSTS["3 аналитика
геополитик, экономист, медиа"] --> SCENARIOS["Сценарии + траектории"] SCENARIOS --> DELPHI["5 персон Дельфи
2 раунда + медиатор"] end subgraph synthesis["Синтез"] JUDGE["Judge
market_weight + expert_weight"] --> TIMELINE["Таймлайн событий"] TIMELINE --> HEADLINES["Заголовки + лиды"] HEADLINES --> QG["Quality Gate"] end NS & EC & OH & FC --> ANALYSTS FC --> PROFILES CONSENSUS --> JUDGE DELPHI --> JUDGE style collect fill:#d1fae5,stroke:#059669 style pillar1 fill:#dbeafe,stroke:#2563eb style pillar2 fill:#ede9fe,stroke:#7c3aed style synthesis fill:#fef3c7,stroke:#d97706
Столп 1 Математический пайплайн

Профилирование 1.7M участников Polymarket по Brier Score. Bayesian shrinkage, HDBSCAN-кластеризация, параметрические модели (Exp/Weibull). Walk-forward валидация: BSS +0.196 на 22 фолдах.

470M ставок, 33 ГБ данных, DuckDB

Столп 2 Экспертный пайплайн

Метод Дельфи: 5 ИИ-агентов с разными когнитивными профилями. Два раунда прогнозирования с медиацией. Структурированное разнообразие перспектив минимизирует систематические ошибки.

Claude Opus 4.6, 18 агентов, 28 LLM-задач

Столп 1: Математический пайплайн

Мы профилируем 1.7M участников Polymarket по точности прогнозов и извлекаем сигнал лучших 20%.

Рыночная цена на Polymarket формируется в CLOB (Central Limit Order Book) — непрерывном аукционе, где цена — результат встречи спроса и предложения. Проблема: цена взвешена по объёмам ставок, не по точности прогнозов. Крупные спекулянты перевешивают мелких, но точных аналитиков. Маркет-мейкеры выставляют ликвидность, не отражая своих убеждений.

Наше решение: вместо одной рыночной цены — два сигнала. Raw market price — агрегированная цена (как есть). Informed consensus — взвешенный консенсус исторически точных участников. Разница между ними (dispersion) — мера неопределённости. Если информированные думают иначе, чем рынок в целом, это ценный сигнал.

Результат: из 1.7M участников 348K классифицированы как «информированные» (top 20% по Brier Score). Их консенсус снижает ошибку прогноза на 20% по сравнению с сырой рыночной ценой (BSS +0.196, проверено на 22 фолдах walk-forward валидации).

flowchart TD
    A["470M ставок"] --> B["Brier Score"]
    B --> C{"Тиры"}
    C -->|"top 20%"| D["348K INFORMED"]
    C -->|"20–70%"| E["MODERATE"]
    C -->|"70%+"| F["LOW ACCURACY"]
    D --> G["Recency
90 дней"] G --> H["Weighted
consensus"] H --> I["Shrinkage"] I --> J["BSS +0.196"]
Как рассчитать informed consensus?

Шаг 1: Brier Score каждого участника i

На каждом разрешённом рынке m участник делает ставку, предсказывающую вероятность \(f_{i,m}\). Исход \(o_m\) известен: 1 если рынок разрешился YES, 0 если NO.

\[BS_i = \frac{1}{N} \sum_{m=1}^{N} (f_{i,m} - o_m)^2\]

BS ∈ [0, 1]: 0 — идеальный прогнозист, 0.25 — случайные угадывания, 1.0 — всегда неправ.

Шаг 2: Классификация по перцентилям

INFORMED BS < p20 Top 20% по точности
MODERATE p20–p70 Средняя точность
LOW ACCURACY BS > p70 Участники с низкой исторической точностью

Шаг 3: Recency weighting — экспоненциальное затухание

Давние ставки менее релевантны. Применяем exponential decay с half-life = 90 дней:

\[r_i = \exp\left(-0.693 \times \frac{\text{days\_since\_last\_trade}}{90}\right)\]

Шаг 4: Accuracy-weighted consensus для активного рынка

Для каждого INFORMED участника i на активном рынке:

\[w_i = (1 - BS_i) \times \text{volume}_i \times r_i\]
\[\text{informed\_consensus} = \frac{\sum w_i \times \text{position}_i}{\sum w_i}\]

Компоненты веса: (1 − BS_i) — более точные получают выше; volume_i — убеждённость; r_i — свежесть.

Шаг 5: Shrinkage — когда мало информированных

Если информированных участников мало (n < 20), consensus ненадёжен. Применяем shrinkage:

\[\text{coverage} = \min(1.0, n_{\text{informed}} / 20)\]
\[P_{\text{final}} = \text{coverage} \times \text{informed\_raw} + (1 - \text{coverage}) \times P_{\text{market}}\]

Когда участников 0 → final = market (нет вреда). Когда ≥20 → full trust в informed.

Теоретическое обоснование

  • Surowiecki (2004): «Мудрость толпы» работает только при независимости и разнообразии. На рынках нарушается — есть стадное поведение.
  • Satopää et al. (2014): Accuracy-weighting даёт точнее, чем volume-weighting или equal-weight.
  • Manski (2006): Рынок систематически недооценивает экстремальные исходы — informed consensus помогает это исправить.
Числовой пример: как работает informed consensus

Рынок с \(p_{\mathrm{raw}} = 0.55\), три INFORMED-трейдера:

Трейдер BS Позиция Объём $ Recency Вес
A 0.10 0.80 100 1.0 (0.90)(100)(1.0) = 90.0
B 0.08 0.75 200 0.8 (0.92)(200)(0.8) = 147.2
C 0.15 0.70 50 0.9 (0.85)(50)(0.9) = 38.25
\[p_{\mathrm{inf}}^{\mathrm{raw}} = \frac{(0.80)(90) + (0.75)(147.2) + (0.70)(38.25)}{90 + 147.2 + 38.25} = \frac{209.18}{275.45} \approx 0.759\]
\[\text{coverage} = 3/20 = 0.15\]
\[p_{\mathrm{inf}} = (0.15)(0.759) + (0.85)(0.55) \approx 0.581\]

Результат: рынок даёт 55%, но информированные трейдеры тянут вверх до 58.1%. Coverage низкий (15%), поэтому сигнал сжимается к рыночной цене. При 20+ информированных участниках coverage = 1.0 и влияние было бы полным.

Данные: 470 миллионов ставок

Для профилирования участников мы обработали полный архив ставок Polymarket — 470 миллионов записей (33 ГБ raw data). Обработка выполнена офлайн с помощью DuckDB (out-of-core аналитика, predicate pushdown, memory limit 2 ГБ).

Этап Формат Размер Описание
Raw trades trades.parquet 33 ГБ 470M записей: user, market, price, size, timestamp
Bucketed aggregates _merged_bucketed.parquet 2.4 ГБ 82.6M строк, 30-дневные временные бакеты
Markets metadata markets.parquet 150 МБ 572K рынков с метаданными и resolution
Profiles (production) bettor_profiles.parquet 62 МБ 1.7M профилей, 348K INFORMED (ZSTD-сжатие)

Временные бакеты (30 дней) обеспечивают composable aggregation: суммы из бакетов можно складывать для любого временного среза, что критично для walk-forward валидации. Профили распространяются через GitHub Releases — production-серверу нужно только 62 МБ.

Bayesian shrinkage и архетипы трейдеров

Проблема lucky streaks

Участник с 3 удачными ставками пол��чает BS ≈ 0 и попадает в INFORMED тир. Но при n=3 дисперсия BS огромна — это может быть просто удача. Решение: Bayesian shrinkage (Ferro & Fricker, 2012).

\[\text{adjusted\_BS} = \frac{n \times \text{observed\_BS} + k \times \text{median}}{n + k}, \quad k = 15\]

При n=3: сильный shrinkage к медиане популяции (0.295). При n=100: почти чистый observed_BS. Результат: INFORMED тир становится чище — меньше случайных удач, выше качество сигнала.

6 архетипов трейдеров (HDBSCAN)

Помимо фиксированных тиров, HDBSCAN-кластеризация по 6 поведенческим признакам (brier_score, win_rate, объём, число рынков, recency) обнаруживает естественные архетипы:

Архетип Характеристика
sharp_informed BS < 0.10, высокий объём — профессиональные арбитражёры
skilled_retail BS < 0.15, низкий объём — точные розничные трейдеры
volume_bettor Высокий объём, средний BS — маркет-мейкеры
contrarian win_rate < 0.30 — систематически ошибаются
stale Низкий recency — неактивные аккаунты
noise_trader Всё остальное — случайные участники

Стабильность тиров между фолдами: Jaccard = 0.613 (Campello et al., 2013).

Параметрические модели и научная новизна

Помимо эмпирического профилирования по Brier Score, мы исследуем параметрическое восстановление субъективных распределений из наблюдаемых ставок — обратную задачу prediction markets.

Предпосылка

Каждый участник верит, что время до события \(T \sim \text{Exp}(\lambda)\). Его субъективная вероятность на горизонте \(H\):

\[P(T \leq H) = 1 - e^{-\lambda H}\]

По наблюдаемой позиции (volume-weighted price) и горизонту рынка \(H\) восстанавливаем \(\lambda\).

Два подхода

  • Exp(\(\lambda\)): closed-form MLE: \(\hat{\lambda} = \text{mean}(-\log(1-p) / H)\). Bayesian prior при n < 30.
  • Weibull(\(\lambda\), k): scipy L-BFGS-B оптимизация. \(k > 1\) означает ускоряющийся hazard rate. Model selection по AICc (Burnham & Anderson, 2002): Exp для n < 20, Weibull для n ≥ 20.

Clone validation (транзитивность)

Обучаем \(\lambda\) на 80% рынков → предсказываем позиции на 20% → MAE → skill_score. Если skill_score > 0, параметрическая модель предсказывает ставки лучше наивного среднего. А поскольку ставки отражают исходы рынков, клоны транзитивно предсказывают реальность.

Научная новизна

На момент реализации (март 2026) нет опубликованных работ по восстановлению Exp/Weibull распределений из ставок prediction markets.

Imitation Learning: формальная аналогия

Consensus-механизм имеет структурную аналогию с Behaviour Cloning (BC) из Imitation Learning. Accuracy-weighted consensus — это по сути Weighted Offline Behaviour Cloning: мы учимся у лучших трейдеров (экспертных демонстраций), взвешивая их действия по качеству.

\[\hat{p} = \frac{\sum_i w_i \cdot \pi_i(s)}{\sum_i w_i}, \quad w_i = (1 - \mathrm{BS}_i) \cdot V_i \cdot r_i\]

Это эквивалентно минимизации взвешенного MSE: \(\min_p \sum_i w_i (p - \pi_i(s))^2\), решение которой — именно weighted mean (Genest & Zidek 1986, Cooke 1991). Фреймирование через IL открывает доступ к инструментам из ML-литературы: DAgger для итеративного улучшения, offline RL для оптимальных весов.

Столп 2: Экспертный пайплайн

Второй столп системы — классический метод Дельфи, структурированная техника группового прогнозирования, разработанная RAND Corporation в 1963 году (Dalkey & Helmer), адаптированная для ИИ-агентов.

Ключевая идея: один эксперт имеет слепые пятна. Несколько независимых экспертов с разными взглядами дают более калиброванный прогноз.

В нашей системе роль экспертов выполняют пять ИИ-агентов на базе Claude Opus 4.6 (Anthropic). Каждый имеет уникальный когнитивный профиль: реалист оценивает базовые ставки и исторические аналогии, геостратег — силовые балансы и интересы, экономист — потоки капитала и санкции, медиа-эксперт — новостную ценность и редакционную логику, адвокат дьявола — пропущенные риски и чёрных лебедей. Разнообразие перспектив минимизирует систематические ошибки одной точки зрения.

Процесс состоит из двух раундов прогнозирования. Раунд 1 — агенты независимо анализируют события. Раунд 2 — они видят аргументы друг друга (без знания авторства) и пересматривают оценки. Итоговая вероятность — взвешенная медиана с калибровкой по Brier Score каждого агента.

flowchart LR
    subgraph r1["Раунд 1: независимая оценка"]
        P1["Реалист"] & P2["Геостратег"] & P3["Экономист"] & P4["Медиа"] & P5["Адвокат
дьявола"] end subgraph med["Медиация"] M["Медиатор
синтез + контраргументы"] end subgraph r2["Раунд 2: пересмотр"] R1["Реалист'"] & R2["Геостратег'"] & R3["Экономист'"] & R4["Медиа'"] & R5["Адвокат'"] end P1 & P2 & P3 & P4 & P5 --> M M --> R1 & R2 & R3 & R4 & R5 style r1 fill:#ede9fe,stroke:#7c3aed style med fill:#fef3c7,stroke:#d97706 style r2 fill:#ede9fe,stroke:#7c3aed
Эксперт Фокус анализа Ключевой вопрос
Реалист-аналитик Базовые ставки, исторические аналогии, политические риски, инерция институтов «Как часто подобное происходило раньше?»
Геостратег Силовые балансы, стратегические интересы, альянсы, международные отношения «Кому выгодно? (Cui bono?)»
Экономист Потоки капитала, санкции, фискальная политика, товарные рынки «Следуй за деньгами»
Медиа-эксперт Новостная ценность, редакционная логика, гейткипинг, медийный насыщенность «Что попадёт в выпуск?»
Адвокат дьявола Пропущенные риски, pre-mortem анализ, контраргументы, чёрные лебеди «Что может пойти не так?»
Почему именно эти пять?

Состав вдохновлён исследованиями Tetlock и его Good Judgment Project (2005–2015). Успешные долгосрочные прогнозисты используют множество источников информации и открыты к альтернативным интерпретациям. Мы формализовали эту процедуру в пять когнитивных стилей, каждый с чётким промптом.

Исследование AIA Forecaster (Schoenegger et al., 2024) показало: простое усреднение нескольких запусков одной модели даёт слабое улучшение. Ключ — в структурированном разнообразии: когда каждый агент анализирует проблему через свою призму, они ловят разные аспекты и компенсируют слепые пятна друг друга.

DeLLMphi (Zhao et al., 2024) подтвердил: структурированная медиация между раундами (не просто показать чужие оценки, а заставить переосмыслить аргументы) даёт улучшение на 10–18%.

Синтез: как Judge объединяет сигналы

Результаты обоих столпов — informed probability от Polymarket и экспертные оценки от Дельфи — объединяются в стадии Judge. Итог: ранжированный таймлайн событий с калиброванными вероятностями.

flowchart LR
    subgraph inputs["Входные сигналы"]
        PM["Informed consensus
Polymarket"] DL["Экспертные оценки
5 персон Дельфи"] end subgraph judge["Judge"] MW["Market weight
formula"] --> AGG["Агрегация
вероятностей"] AGG --> CALIB["Калибровка
Platt scaling"] end subgraph output["Результат"] TL["Таймлайн
3 горизонта"] --> FR["Фрейминг
стиль издания"] FR --> HL["Заголовки
+ лиды"] HL --> QG["Quality Gate"] end PM --> MW DL --> AGG CALIB --> TL style inputs fill:#d1fae5,stroke:#059669 style judge fill:#fef3c7,stroke:#d97706 style output fill:#dbeafe,stroke:#2563eb

Informed probability входит как «виртуальная шестая персона» с динамическим весом, зависящим от ликвидности рынка, волатильности и горизонта:

Market weight formula

\[w_{\text{market}} = w_0 \times f_{\text{liq}} \times f_{\text{vol}} \times r_{\text{dist}} \times f_{\text{horizon}}\]
w₀ = 0.15 Базовый вес (15% от финальной оценки)
f_liq = max(0.5, min(log₁₀(liq)/6, 1.5)) Фактор ликвидности: чем больше объём, тем надёжнее
f_vol = 1/(1 + σ₇ₐ) Фактор волатильности: стабильная цена → выше доверие
r_dist Флаг надёжности распределения (0.0 или 1.0)
f_horizon 1.0 (≤90д), 0.75 (90-180д), 0.5 (>180д)
Полный pipeline: 9 стадий прогнозирования

Процесс разделён на 9 стадий. Некоторые выполняются параллельно — система запускает до 5 агентов одновременно для ускорения.

Стадия 1: Сбор данных

Четыре коллектора работают параллельно: NewsScout (RSS-фиды + web search), EventCalendar (запланированные политические и экономические события), OutletHistorian (архив целевого издания за последние дни), ForesightCollector (активные контракты Polymarket и Metaculus). Результат: ~200 новостных сигналов.

Стадия 2: Кластеризация событий

TF-IDF векторизация с tri-gram tokenization, cosine similarity matrix, HDBSCAN (min_cluster_size=3). Выбор HDBSCAN вместо K-means: число кластеров заранее неизвестно, шумовые статьи автоматически отсеиваются (Campello et al., 2013). Результат: 15-30 событийных нитей из ~200 статей.

Стадия 3: Анализ траекторий

Три аналитика (геополитический, экономический, медийный) параллельно строят сценарии. Перекрёстная матрица определяет каузальные связи: как событие A влияет на вероятность события B. Это позволяет учитывать цепочки последствий.

Стадия 4: Дельфи — раунд 1

Пять экспертных персон независимо оценивают вероятность каждого события: Реалист (base rates), Геостратег (баланс сил), Экономист (денежные потоки), Медиа-эксперт (новостная ценность), Адвокат дьявола (чёрные лебеди). Анонимность: персоны не видят оценки друг друга.

Стадия 5: Дельфи — раунд 2

Медиатор не просто показывает чужие оценки — он синтезирует аргументы, выделяет точки разногласий и формулирует контраргументы. Это заставляет персон переосмыслить позиции, а не просто сдвинуться к среднему (Zhao et al., 2024).

Стадия 6: Консенсус и таймлайн

Judge агрегирует оценки в предсказанный таймлайн на трёх горизонтах: 1-2 дня (оперативный режим, высокий вес), 3-4 дня (смешанный режим), 5-7 дней (структурный режим, низкий вес). Калибрует вероятности, интегрирует сигналы prediction markets через market weight formula.

Стадия 7: Фрейминг

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

Стадия 8: Генерация заголовков

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

Стадия 9: Quality Gate

Алгоритмическая проверка (без LLM): факт-чек заголовка по source data, стилевая consistency (длина, лексика, тональность vs. профиль издания). Заголовки ниже порога отбраковываются.

Общее время: 15-40 минут. Стоимость: $5-15 за полный прогноз (зависит от числа событий и режима). 18 агентов, 28 LLM-задач.

Walk-Forward валидация

Любой метод требует доказательства. Мы провели строгую ретроспективную валидацию informed consensus на полном архиве Polymarket — 435 тысяч разрешённых рынков.

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

Результат: 22 из 22 фолдов показали положительный BSS — informed consensus стабильно точнее сырой рыночной цены. Средний BSS = +0.196 означает снижение ошибки прогноза на 19.6% по сравнению с тем, что показывает рынок «как есть».

22/22 фолдов BSS > 0
+0.196 средний BSS (все фолды)
p = 2.4×10⁻⁷ sign test (статистически значимо)
Bootstrap 95% CI: [+0.135, +0.260]

Доверительный интервал не пересекает ноль — результат устойчив. 1000 bootstrap-ресемплов по фолдам.

Робастное подмножество (фолды 0–16): BSS +0.127

Фолды 17–21 содержат <2000 тестовых рынков и высокую дисперсию. Даже при исключении — результат уверенно положительный.

Протокол и ключевые фолды

Параметры протокола

Burn-in 180 дней (построение начальных профилей)
Шаг 60 дней (сдвиг окна)
Тестовое окно 60 дней (неперекрывающиеся)
Мин. ставок 5 (порог для профилирования)
Shrinkage strength k = 15 (Bayesian prior)

Ключевые фолды

Fold Train Test Informed BSS
0 1,110 183 101 +0.014
5 3,165 944 625 +0.075
9 (пик) 14,004 4,354 34,156 +0.273
12 33,747 15,791 119,241 +0.223
16 270,724 161,693 248,909 +0.125

Inverted-U pattern: BSS растёт с накоплением данных (фолды 0→9), достигает пика на фолдах 9–11, затем снижается. По мере роста ликвидности рынок становится эффективнее, и информированный сигнал теряет ценность. Это соответствует гипотезе рыночной эффективности (Fama, 1970).

Обнаружение и исправление temporal leak

В ходе валидации мы обнаружили temporal leak: pre-aggregated позиции участников включали ставки, сделанные после временного среза T. Это классический look-ahead bias — система «подглядывала» в будущее.

Решение: bucketed partial aggregates

Один скан 33 ГБ raw trades → 2.4 ГБ файл с 30-дневными бакетами. Для любого среза T позиция восстанавливается из бакетов до T. Суммы composable — средние нет, поэтому храним weighted_price_sum и total_usd отдельно.

Результат: clean > leaked

Метрика С утечкой Без утечки
Mean BSS (фолды 0–14) +0.092 +0.117
Median BSS +0.054 +0.095
Время (per fold) ~15 мин ~4 сек
Всего 5+ часов 82 мин
Память (пик) OOM (7.4 ГБ) 4.6 ГБ

Ключевой вывод: clean BSS выше, чем leaked. Утечка будущих данных не помогала — она добавляла шум в профили, разбавляя информированный сигнал. Это подтверждает, что наш метод работает на честных данных, а не эксплуатирует артефакты.

Ablation study: простота побеждает

Мы проверили, улучшают ли литературные методы наш базовый подход. Single-pass evaluation: 5 конфигураций в одном прогоне, 22 фолда, bootstrap CI (1000 ресемплов).

Вариант BSS mean BSS median BSS > 0 95% CI
Baseline +0.196 +0.159 100% [+0.135, +0.260]
Volume gate ($10K–$100K) +0.071 +0.054 95.5% [+0.040, +0.102]
Gate + extremize (d=1.5) +0.047 +0.028 68.2% [+0.022, +0.075]
Gate + timing score +0.071 +0.054 95.5% [+0.040, +0.102]
Все три вместе +0.047 +0.028 68.2% [+0.022, +0.075]

Интерпретация

  • Baseline оптимален. Простое accuracy-weighted усреднение с Bayesian shrinkage — лучший вариант.
  • Volume gate вредит (−64%). Фильтрация по ликвидности убирает информативные рынки — большинство рынков Polymarket ниже $100K.
  • Extremizing вредит (−76%). Метод Satopää et al. (2014) предполагает независимых экспертов. На Polymarket информированные трейдеры коррелированы (видят одни сигналы), и экстремизация усиливает шум.
  • Timing score — нулевой эффект. Внутри INFORMED тира timing не различает качество прогнозистов.
  • Отрицательный результат ценен: система не требует тюнинга гиперпараметров — простейшая модель работает лучше всех.

Horizon-aware прогнозирование

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

Горизонт Вес в оценке Характеристика
1-2 дня Высокий Оперативный режим. Ближайшие события — больше данных, выше точность. Основная часть прогноза.
3-4 дня Средний Смешанный режим. Сценарии развития + каузальные цепочки.
5-7 дней Низкий Структурный режим. Опирается на тренды, выше неопределённость.
Как горизонт влияет на агрегацию?

Каждый эксперт даёт оценки отдельно по каждому горизонту. Judge агрегирует их с horizon-weighted voting: ближние события получают больший вес, дальние — меньший. Это предотвращает ситуацию, когда спекулятивный прогноз на неделю вытесняет обоснованный прогноз на завтра.

Калибровка по горизонтам: если модель говорит «60% на горизонте 7 дней», это должно означать, что в 60% аналогичных случаев событие действительно происходит. Система отслеживает Brier Score отдельно по каждому горизонту и корректирует веса.

Валидация и метрики

Система оценивается по трём компонентам: калибровка вероятностей, семантическое сходство заголовков и стилевая аутентичность. Это первая опубликованная walk-forward оценка профилей трейдеров Polymarket.

Informed consensus: BSS +0.196 (22/22 фолда)

Взвешенное мнение исторически точных трейдеров снижает ошибку на 19.6% по сравнению с сырой рыночной ценой. Подробности — в секции Walk-Forward выше.

Brier Score (BS) — калибровка вероятностей

Стандартная метрика для прогнозов вероятностей. BS = 0.20 означает, что модель на 20% ошибается в среднем. Цель v1.0: BS < 0.20 (уровень Metaculus-сообщества).

BERTScore — семантическое сходство

Сравнивает сгенерированный заголовок с фактически опубликованным через контекстные эмбеддинги. Более точно, чем n-gram метрики (ROUGE, BLEU), для коротких текстов.

StyleMatch — оценка LLM

Отдельная LLM-модель оценивает, насколько хорошо заголовок соответствует стилю издания (длина, лексика, структура, тональность). Шкала 1–5.

Подробная формула CompositeScore и Murphy decomposition

CompositeScore — взвешенная комбинация

\[\text{CompositeScore} = 0.40 \times \text{TopicMatch} + 0.35 \times \text{SemanticSim} + 0.25 \times \text{StyleMatch}\]
TopicMatch {0.0, 0.5, 1.0} 0 = промах; 0.5 = верная тема, неверный исход; 1.0 = попадание
SemanticSim [0.0, 1.0] BERTScore F1 vs. лучший совпадающий реальный заголовок
StyleMatch [0.0, 1.0] LLM-as-judge (1–5 → /5)

Пороги: ≥0.70 отличный, 0.50–0.69 хороший, 0.30–0.49 частичное, <0.30 промах.

Brier Score и BSS (Brier Skill Score)

\[BS = \frac{1}{N} \sum_{i=1}^{N} (f_i - o_i)^2\]
\[BSS = 1 - \frac{BS}{BS_{\text{ref}}}, \quad BS_{\text{ref}} = 0.25 \text{ (случайные угадывания)}\]

BSS = 0.20 означает 20% улучшение vs. случайного прогноза (BS = 0.25).

Murphy Decomposition — диагностика ошибок

\[BS = \text{Reliability} - \text{Resolution} + \text{Uncertainty}\]
  • Reliability > 0.05: система переоценивает уверенность → требуется Platt scaling
  • Resolution < 0.10: система слишком осторожна → нужна экстремизация вероятностей
  • Uncertainty: неизбежная ошибка, зависит от самой задачи

Benchmark: как мы сравниваемся с другими

Случайное угадывание BS = 0.25 Baseline
Metaculus (сообщество) BS = 0.182 Broad participation
GPT-4.5 (ForecastBench) BS = 0.101 ICLR 2025
Суперпрогнозисты (GJP) BS = 0.068–0.086 Tetlock, 15 лет

Источники: ForecastBench (arxiv 2409.19839), Good Judgment Project, Metaculus.

Сравнение с литературой

Наши результаты контекстуализируются относительно ключевых исследований prediction markets.

Исследование Находка Наш результат
Satopää et al. (2014) Extremizing +10–20% в турнирах прогнозистов Extremizing вредит (−76% BSS) — на Polymarket трейдеры коррелированы
Akey et al. (2025) Top 1% участников Polymarket захватывает 84% прибыли Подтверждает tier-based profiling: малая доля трейдеров информативна
Mitts & Ofir (2026) Flagged traders: 69.9% win rate, $143M аномальной прибыли Независимое подтверждение: информированные трейдеры существуют и систематически точнее
Clinton & Huang (2024) Polymarket 67% accuracy vs PredictIt 93% Volume gate не универсален — фильтрация по ликвидности может удалять информативные рынки
Bürgi et al. (2025) Цены точнее ближе к разрешению рынка Обосновывает recency weighting (half-life 90 дней) и timing score

Технологический стек

Delphi Press работает в двух режимах — Web UI для пользователей с собственными API-ключами и Claude Code mode для разработчиков.

Web UI режим

Пользователь вводит свой OpenRouter API Key, выбирает издание и дату. Система запускает асинхронный pipeline, прогресс показывается в реальном времени через Server-Sent Events.

Claude Code режим (экспериментальный)

Разработчик клонирует репозиторий и запускает команду /predict. Пять персон работают как субагенты Claude Code. Покрывает базовый pipeline, но не все функции Web UI (пресеты, SSE-прогресс, история прогнозов).

graph TB
    User["Пользователь"]
    Web["Web UI
FastAPI + Jinja2"] Worker["Worker
ARQ + Redis"] DB["SQLite
SQLAlchemy 2.0"] LLM["LLM
OpenRouter"] User -->|POST /api/v1/predictions| Web Web -->|enqueue| Worker Worker -->|read/write| DB Worker -->|call| LLM Web -->|SSE| User style Web fill:#dbeafe,stroke:#2563eb style Worker fill:#dbeafe,stroke:#2563eb
Полный список зависимостей и компонентов
Компонент Использование
FastAPI HTTP API с async/await
ARQ Async task queue на Redis
Redis Очередь задач, pub/sub для прогресса
SQLAlchemy 2.0 ORM с async support (aiosqlite)
Pydantic v2 Валидация данных и JSON serialization
Claude Opus 4.6 5 экспертных персон + медиатор + судья
OpenRouter API Роутинг к Claude, GPT-4, Gemini, Llama
Tailwind CSS v4 Frontend: OKLCH дизайн-система
Newsreader/Source Sans 3 Typography (headings / body text)
DuckDB Out-of-core аналитика, walk-forward eval (470M trades)
pyarrow + ZSTD Parquet storage, сжатие профилей (33 ГБ → 62 МБ)
Docker Compose Production: app + worker + redis + nginx

Исходный код: GitHub. Python 3.12+, полностью типизирован, 100% async I/O.

Источники и литература

Основная методология базируется на классических и современных исследованиях по прогнозированию, LLM-агентам и рынкам прогнозов.

Метод Дельфи:
  • Dalkey & Helmer (1963). «An Experimental Application of the Delphi Method to the Use of Experts.» RAND Corporation.
  • Rowe & Wright (2001). «Expert opinions in forecasting: the role of the Delphi technique.» Technological Forecasting and Social Change.
LLM-агенты и прогнозирование:
  • Schoenegger et al. (2024). «AIA Forecaster: Accuracy Improvement through LLM Ensemble.» ICML.
  • Zhao et al. (2024). «DeLLMphi: Delphi-style Iterative Refinement with Large Language Models.» NeurIPS.
  • Tetlock & Gardner (2015). «Superforecasting: The Art and Science of Prediction.» Crown.
Рынки прогнозов и wise crowds:
  • Surowiecki (2004). «The Wisdom of Crowds.» Doubleday.
  • Satopää et al. (2014). «Combining Multiple Probability Predictions Using Their Cumulative Distribution Functions.» International Journal of Forecasting.
  • Manski (2006). «Interpreting Probability Statements from Markets: The Case of Mortgage-Backed Securities.» The Economic Journal.
  • Wolfers & Zitzewitz (2004). «Prediction Markets.» Journal of Economic Literature.
Оценка прогнозов:
  • Gneiting & Raftery (2007). «Strictly Proper Scoring Rules, Prediction, and Estimation.» JASA.
  • Murphy (1971). «A New Vector Partition of the Probability Score.» Journal of Applied Meteorology.
  • Ye et al. (2024). «ForecastBench: A Comprehensive Benchmark of Forecasting Capabilities of Language Models.» ICLR 2025 (arxiv 2409.19839).
Семантическое сходство текстов:
  • Zhang* et al. (2020). «BERTScore: Evaluating Text Generation with BERT.» ICLR 2020.
  • Lin (2004). «ROUGE: A Package for Automatic Evaluation of Summaries.» ACL Text Summarization Workshop.
LLM как судья:
  • Zhong et al. (2023). «LLMs as Factual Reasoners: Evaluating their Free-text Justifications.» ICLR 2023 Oral.
  • Liu et al. (2023). «G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment.» EMNLP 2023.
Статистика и model selection:
  • Ferro & Fricker (2012). «Sampling Uncertainty and Confidence Intervals for the Brier Score.» Weather and Forecasting.
  • Burnham & Anderson (2002). «Model Selection and Multimodel Inference.» Springer.
  • Campello et al. (2013). «Density-Based Clustering Based on Hierarchical Density Estimates.» PAKDD.
Эмпирика prediction markets:
  • Akey, Grégoire, Harvie & Martineau (2025). «Who Wins and Who Loses in Prediction Markets? Evidence from Polymarket.» SSRN 6443103.
  • Mitts & Ofir (2026). «From Iran to Taylor Swift: Informed Trading in Prediction Markets.» Harvard Law Corporate Governance Forum.
  • Bürgi, Deng & Whelan (2025). «Makers and Takers: The Economics of the Kalshi Prediction Market.» CEPR.
  • Clinton & Huang (2024). «Polymarket Accuracy Study.» Vanderbilt University.
Imitation Learning и opinion pooling:
  • Genest & Zidek (1986). «Combining Probability Distributions: A Critique and an Annotated Bibliography.» Statistical Science.
  • Cooke (1991). «Experts in Uncertainty.» Oxford University Press.

Замечание

Delphi Press — исследовательский прототип. Все прогнозы имеют ошибку. Система предназначена для изучения методов мультиагентного прогнозирования.