ИИ-агент против аномалий: что ловят гардрейлы бэктеста
Суть идеи
Quantpedia обучил автономного ИИ-агента воспроизводить девять опубликованных аномалий на американских акциях — на чистых данных без survivorship bias. Главный вопрос не «работают ли аномалии» (спойлер: нет), а «можно ли доверять агенту найти правду, и какие именно проверки это обеспечивают».
Результат предсказуем для любого честного исследователя: out-of-sample деградация — норма, а не исключение. Все девять стратегий либо теряют альфу, либо переворачиваются. Единственный кандидат, который поначалу выглядел живым, оказался ошибкой в конструкции фактора — и именно дисциплинированные гардрейлы агента это поймали.
Гардрейлы включали: строгое разделение in-sample/out-of-sample до начала оптимизации, автоматическую проверку на look-ahead bias, контроль множественных сравнений (аналог Deflated Sharpe), логирование каждого шага трансформации данных. Механизм прост: без явного протокола агент (как и человек) неосознанно подгоняет параметры под историю.
Применимость к крипте
Методология переносится один-в-один. В крипте соблазн data-snooping даже выше: история BTC/ETH короткая, режимов мало, а публичных «аномалий» (funding carry, basis roll, vol premium) — единицы. Каждый раз, когда мы тестируем новый сигнал на ATM IV, GEX или STH-MVRV, мы рискуем теми же ошибками, что и equity-исследователи.
Конкретные замены: survivorship-free данные по акциям → полная история делистингов и форков для on-chain метрик; point-in-time фактор → убедиться, что realized price и cost-basis не пересчитываются задним числом провайдером; множественные сравнения → если мы прогнали 20 вариантов rolling-z на funding, нужен поправочный тест.
Тестируемо ли
Да, но не сам контент аномалий (они на акциях), а инфраструктура контроля. Наш bt_engine уже имеет rolling-z и walk-forward — это половина гардрейлов. Чего может не хватать: явного логирования числа протестированных гипотез перед финальным отбором и автоматического Deflated Sharpe на каждом прогоне. Данные для теста методологии — любые наши ряды: funding BTC, basis CME, 25Δ skew ETH.
Сомнения
Статья описывает процесс, но не раскрывает полный код агента и точные правила гардрейлов — воспроизвести нельзя. Девять аномалий — малая выборка для вывода о «правиле деградации». Кроме того, сам факт публикации «агент всё поймал правильно» создаёт publication bias в обратную сторону: неудачные прогоны агента мы не видим. Наконец, крипто-аномалии структурно моложе и менее арбитражированы — возможно, некоторые ещё живы, и слепое применение equity-пессимизма здесь опасно.
Следующий шаг
Взять три наших действующих сигнала (например, funding carry BTC, VRP на ATM IV ETH, basis roll CME) и прогнать их через bt_engine с явным счётчиком гипотез: зафиксировать N вариантов параметров до оптимизации, применить Deflated Sharpe к финальной кривой, сравнить IS vs OOS Sharpe на walk-forward окне 6/3 месяца. Цель — не найти новую альфу, а убедиться, что существующие сигналы проходят тот же стандарт, который провалили equity-аномалии в статье.
Результаты тестов
Дописано 4 июля 2026 — прогон «Следующего шага» на нашем движке. Сама статья выше не менялась.
Протокол — ровно как у агента Quantpedia, только на наших данных: для каждого из трёх сигналов меню из 8 вариантов параметров зафиксировано до оптимизации (явный счётчик гипотез: 8+8+8 = 24), вход t+1, издержки 6 б.п., funding перпа честно в P&L (carry-шорт его получает, лонг — платит), walk-forward 6 мес in-sample → 3 мес out-of-sample с выбором варианта по IS-Sharpe без пересмотра, Deflated Sharpe финальной OOS-кривой — с поправкой на все 24 испытания.
Данные: funding — Binance перп, 8-часовые платежи с 2019; VRP ETH — Deribit DVOL (30д ATM IV) минус 30-дневная реализованная волатильность; basis — 30d annualized из TBL (глубина всего год — и это часть сюжета).
| Сигнал | История | Фолдов | IS-WF | OOS-WF | DSR | B&H тот же период |
|---|---|---|---|---|---|---|
| Funding carry BTC | 6.8 лет | 26 | +1.64 | +0.46 | 0.00 | +0.63 |
| VRP ATM-IV ETH | 5.3 года | 19 | +1.51 | 0.00 | 0.00 | +0.12 |
| Basis BTC (30d ann.) | 1 год | 2 | +1.48 | +1.41 | 0.39 | −1.13 |
Результат Quantpedia воспроизвёлся на крипте. In-sample отбор рисует всем трём одинаково красивые ~1.5 Sharpe. Честный OOS: funding carry деградирует до 0.46 и проигрывает buy&hold того же окна (0.63); VRP ETH деградирует до нуля. «Out-of-sample деградация — норма, не исключение» — подтверждено дословно.
И у нас есть свой «единственный выживший». Basis: OOS +1.41 на фоне падающего рынка (B&H −1.13) — выглядит как живая альфа. Но это сигнал с самой короткой историей: 375 дней, из walk-forward выходит всего 2 фолда — не статистика, а два эпизода. Гардрейл множественных сравнений его и режет: при 24 испытаниях порог «ожидаемого максимума на чистом шуме» — Sharpe ≈ 1.9, и DSR 0.39 означает «неотличимо от удачного шума». У Quantpedia выживший оказался багом конструкции фактора, у нас — артефактом короткого окна; в обоих случаях без явного счётчика гипотез он ушёл бы в продакшн.
Оговорки. Basis-ряд — 9.7% дней заполнено последним известным значением (максимальная затычка 9 дней), атрибуция «CME» из плана метаданными TBL не подтверждается (это 30d annualized консенсус-базис), и стратегия здесь — перп-оверлей по z-score базиса, а не настоящий roll фьючерсной позиции. Lag-тест t+2 результаты не разваливает (carry даже улучшается) — признаков лукахеда нет. И оговорка статьи про «слепой equity-пессимизм» тоже уместна: carry в OOS всё же положителен — сигнал скорее ослаб, чем мёртв.
Проверка: research_validate_guardrails.py + независимая адверсариальная верификация — реимплементация funding carry с нуля (расхождение ≤ 0.004 Sharpe), future-perturbation тест (прошлые позиции всех 24 вариантов бит-в-бит неизменны при шоке будущих данных), синтетический тест знака funding, сверка DVOL с почасовым рядом Deribit.