Блог им. exx_market

EXX: мы запустили прогноз Bitcoin в Live — и рынок сразу начал портить нам красивый backtest
В прошлый раз мы писали об EXX ещё до полноценного запуска Live. Тогда у нас был довольно красивый исследовательский результат: направление Bitcoin модель предсказывала примерно на уровне монетки, зато вероятность сильного движения в будущем окне оценивала значительно лучше.
С тех пор произошло самое интересное: мы перестали спорить с историческими данными и включили модель в реальный рынок.
EXX — это исследовательская песочница рынка прогнозов Winion, где мы проверяем разные идеи на реальных данных и не пытаемся заранее решить, какой результат нам понравится. Мы строим продукты для людей, поэтому считаем нормальным показывать не только красивые backtest-графики, но и моменты, когда рынок начинает ломать наши гипотезы.
Мы довольно быстро отказались от классического вопроса: «Bitcoin пойдёт вверх или вниз?»
Наши direction-модели дают AUC около 0,52 — практически уровень случайного угадывания. Поэтому рассказывать, что мы построили AI, который знает направление следующей свечи, было бы откровенной чушью.
Вместо этого EXX отвечает на другой вопрос:
Какова вероятность, что Bitcoin за следующие 15 минут пройдёт хотя бы 0,40% от текущей цены?
Направление здесь вообще не важно. Bitcoin может сначала упасть, потом вырасти, или сделать всё наоборот. Нас интересует сама амплитуда будущего движения.
Например:
BTCUSDT · 15 минут · P(range ≥ 0,40%) = 87%
Это уже не BUY/SELL-сигнал, а вероятность конкретного будущего события.
И вот здесь исторические данные выглядели действительно интересно.
На выборке с мая 2025 по август 2026 года, где было десятки тысяч прогнозов, базовое событие происходило примерно в 19% случаев. На слепой выборке EXX показывал около 0,88 ROC AUC, Brier Score около 0,097 и ECE около 0,009. Для прогнозов с вероятностью выше 90% фактический YES составлял около 96% при N ≈ 19 000 прогнозов.
Хорошо.
Но любой человек, который хоть раз строил модель для рынка, знает неприятную часть этой истории:
backtest закончился.
5 октября EXX начал публиковать реальные прогнозы до наступления события.
Каждый прогноз фиксируется заранее, после чего проходит время, закрывается окно и система автоматически записывает факт.
То есть теперь уже нельзя сказать:
«Мы знали, что Bitcoin сейчас дёрнется».
Если знали — прогноз уже должен лежать в журнале.
Если не знали — он там тоже останется.
И вот тут рынок довольно быстро начал портить нам красивую историческую картину.
Первые несколько тысяч 15-минутных окон оказались значительно спокойнее исторической выборки. Для порога 0,40% фактическая частота события сейчас находится примерно на уровне 8–9%, а средний прогноз EXX — около 8,5% против примерно 8,6% фактически.
То есть на уровне общей вероятности модель пока выглядит довольно интересно.
Но если посмотреть выше по шкале вероятностей, становится гораздо веселее.
Высокий хвост пока перегрет.
Когда EXX говорит о вероятности порядка 90%, событие происходит заметно реже, чем хотелось бы видеть для хорошо откалиброванной модели.
И это уже принципиально важнее любого красивого AUC.
Потому что в реальном рынке недостаточно уметь хорошо ранжировать события. Если модель говорит 90%, рынок должен довольно часто действительно давать эти 90%.
Именно здесь сейчас проходит настоящий эксперимент.
Это ещё один вопрос, который нам регулярно задают, и здесь тоже не хочется делать вид, что мы изобрели новую физику.
ATR — очень сильный и простой baseline для оценки текущей волатильности. В историческом исследовании EXX давал около 0,88 AUC против примерно 0,87 у ATR. В текущем тихом Live по горизонту 15 минут и порогу 0,40% мы находимся примерно около 0,82 AUC и не выглядим каким-то космическим скачком относительно ATR.
Поэтому я не собираюсь писать «мы убили ATR».
Не убили.
Разница в самой постановке задачи. ATR в первую очередь описывает уже наблюдавшееся движение рынка, а EXX пытается оценить вероятность конкретного движения в будущем временном окне.
И особенно интересен здесь мультигоризонт: 5 минут, 15 минут, 1 час и 4 часа.
Рынок может выглядеть совершенно мёртвым на ближайших 15 минутах, но при этом вероятность заметного движения в течение часа уже может существенно отличаться. Одним значением текущей волатильности такую картину описывать неудобно.
Первая — историческая.
Она говорит, что идея прогнозировать будущую амплитуду, а не направление, выглядит статистически перспективно.
Вторая — Live.
Она пока говорит: да, общая калибровка выглядит интересно, но модель ещё не доказала, что её историческое качество полностью переносится на текущий рынок.
И вот вторая история для меня гораздо интереснее первой.
Потому что на backtest можно получить практически любой красивый график, если достаточно долго экспериментировать с признаками, периодами и параметрами.
А Live ничего не знает о том, насколько красиво выглядел твой research notebook.
Он просто наступает завтра и говорит: ну давай, покажи.
EXX изначально задуман не как очередной «AI-трейдер», который обещает пользователю заработать деньги.
Это исследовательская песочница рынка прогнозов Winion. Мы проверяем здесь идеи вокруг вероятностей, волатильности, арбитража, моделей принятия решений и вообще пытаемся понять, где в рынках прогнозов появляется реальное преимущество.
Поэтому нам интересен сам процесс.
Если модель говорит 70% — это можно проверить.
Если ATR говорит одно, а EXX другое — это можно проверить.
Если исторический результат не повторяется в Live — это тоже результат.
Мне вообще кажется, что в индустрии слишком много исследований заканчиваются ровно там, где начинается самое интересное: публикуется backtest, показывается красивый график с высокой точностью, а дальше предлагается купить подписку.
Мы решили сделать наоборот.
Сначала показать гипотезу. Потом запустить её в реальность. А затем публично посмотреть, была ли она вообще правильной.
Сейчас EXX находится именно в этой точке.
Исторические данные говорят, что направление Bitcoin предсказывать почти бессмысленно, а вероятность будущей амплитуды — значительно интереснее.
Live пока не разрушил эту идею, но уже показал, где у модели есть проблемы с калибровкой.
И теперь у нас есть самое интересное, чего не было в предыдущей статье:
мы больше не знаем результат заранее.
Рынок сам допишет следующую часть исследования.
Задача была не просто обучить модель на максимальном количестве исторических данных, а проверить, способна ли она находить рыночные сигналы, которые предшествуют изменению волатильности, в том числе в меняющихся рыночных режимах.
При этом мы не считаем Bitcoin единственным или идеальным инструментом для такой задачи. Следующий логичный этап — переносить ту же методологию на более длинные истории других рынков и смотреть, насколько результат сохраняется вне крипты. Если сигнал действительно рыночный, а не специфичный для BTC, он должен проявляться и на других инструментах
Инструмент в руках есть. И да: мы ещё не до конца понимаем, как им правильно пользоваться как деньгами. Это как раз то, что economic utility нам и сказала честно: против 𝑞≈𝑝
𝑞≈𝑝 это не печатный станок. Если комментарий про «не умеете стричь альфу с каждой высокой P» — тут спорить глупо.
Но «не знаем, как работать» в смысле «не понимаем, что измеряем» — нет.
Мы знаем достаточно, чтобы не путать три разные вещи:
событие случилось (ход ≥ порога) ≠ прогноз угадал;![]()
ATR хорошо описывает сейчас, а мы отвечаем на вопрос про будущее окно;
направление у нас около монетки — и мы это не прячем.
Live как раз для этого: не доказывать себе гениальность, а смотреть, где число калибровано, а где хвост врёт. Если у вас есть конкретный режим, где по-вашему инструмент должен работать иначе — напишите. Это полезнее, чем общая уверенность, что мы держали молоток вверх ногами
Мы оцениваем не мистический хвост, а проверяемый ход на коротком окне: 0,40% за 15 минут при базе ~8–20%. Это не 10-сигма. Это бинарное событие с частотой, калибровкой и журналом.
Порочно другое: путать вероятность амплитуды с прогнозом направления и ждать, что каждая высокая P обязана «сбыться». Если у вас есть модель, которая хвосты закрывает лучше на том же контракте — покажите mean P vs факт. Пока это не аргумент, а вкусовщина.
Случайные ордера по объёму и цене как раз и рождают амплитуду окна. Вопрос не «куда тренд», а: при текущем состоянии какая вероятность, что high−low за 5/15/60/240 минут пробьёт порог. Это проверяется. Не верите — смотрите журнал: mean P vs факт, не теологию про секту (в ЛС могу прислать весь журнал)
Что хотим: число до исхода, которое можно опровергнуть. Не Грааль и не BUY. Если бесполезно — ок, спорить не о чем: вы ищете тренд, мы даём вероятность хода, чтобы в шторм пересмотреть риск, а не гадать направление
У нас контракт зафиксирован: BTCUSDT, range ≥ X за H, прогноз до исхода, sealed/holdout отдельно от Live. Direction ~0,52 мы тоже опубликовали — странная подгонка, которая показывает собственный провал.
Сменить вопрос с DIR на RANGE — не data snooping, а смена гипотезы после фейла. Если видите подгонку — покажите, какой параметр мы подогнали post-hoc и где Live/mean P vs факт от этого разваливается. Слово «подгонка» само по себе — не аргумент))))
1) используете вес графики от 1 до 240 минут
2) не задаете ИИ-модели начальные условия в онлайн среде (одна свеча — это дикость), а лишь вероятностный интервал для ответа на ваш запрос
1) «Вес графики 1–240 минут»
5/15/60/240 — это горизонты события (на сколько минут вперёд считаем ход), не «веса», которыми крутят подгонку. Сетка зафиксирована заранее. На входе не «график 240м», а причинное состояние с warmup ≥ 1440 минутных баров.
2) «Одна свеча / только интервал»
В онлайне нет инференса с одной свечи. Есть полный feature snapshot; если состояние неполное — fail closed, прогноз не публикуем. На выходе — вероятность события и поверхность порогов, не «ИИ подумал о тренде».
Подгонка — когда цель и окна крутят post-hoc. У нас direction ~0,52 тоже на столе, Live отдельно от Research