# Что брать в бэктест: сводка по 133 источникам Разобраны 5 направлений (133 источника: научные статьи, препринты, документация бирж, живые замеры). Ниже — итог одной страницей: что литература говорит про 5-минутный горизонт, что из этого проверяемо у нас и какие пороги считать приёмкой. ## Главный вывод **Ни одной работы, где стратегия на 1–15 минутах даёт положительный результат ПОСЛЕ издержек уровня нашего круга (11 б.п. тейкер / 4 б.п. мейкер), не найдено.** Это не пробел поиска, а отрицательный результат литературы, и он совпадает с нашими прогонами. Самая честная количественная оценка (Kitron & Wengrowicz 2026, arXiv 2608.21888, 183 пары Binance): валовой эдж на сделку — пик **≈1,3 б.п. на 15м** и **0,15 б.п. на 5м**, против лучшего мейкерского круга 5 б.п. и тейкерского 10–20 б.п. Ни одна из 183 пар не проходит даже мейкерскую планку, а переход с 15м на 5м делает результат **хуже**. На нашей линейке издержек это −10,85 б.п. (тейкер) и −3,85 б.п. (мейкер) на сделку. ## По направлениям — что важно | Направление | Что нашли | Что это значит для нас | |---|---|---| | **Поток заявок и микроструктура** | Полный OFI (лимиты + маркеты + отмены) объясняет движение мид-цены на 10 секундах с R² = 65%, а trade imbalance (то, что видно из свечей) — только 32% (Cont, Kukanov, Stoikov 2014). На 5м contemporaneous R² для OFI 42–86% — то есть «предсказуемость» в основном синхронная, а не торгуемый лаг | Со свечами мы видим лишь слабую проекцию силы. Любой 5м-сигнал обязан строиться на **лаге ≥ 1 бара**, иначе это артефакт. Данных стакана у нас нет — направление закрыто, кроме OHLCV-прокси (Lee-Ready для стороны агрессора, VPIN) | | **Кросс-секционные эффекты 1–60 мин** | Документирован практически один эффект — краткосрочный **реверс** (компенсация за поставку ликвидности) и его зеркало, отрицательный lead-lag. Моментума в кросс-секции на этих горизонтах нет. Funding/basis на 1–60 мин плоские во всех кондиционированиях (App. F той же работы) | Ежедневный кросс-секционный momentum 14д/7д (наш подтверждённый) — **не тот же эффект**; переносить его на 5м нельзя. Реверс на 5–15м у нас не исполнится по издержкам | | **Издержки и исполнение (живые замеры)** | Bybit VIP0 подтверждён: taker 0,055%, maker 0,020% на ногу. KuCoin дороже (taker 0,06%). Наш обход книги на **$1000**: проскальзывание BTC 0,006 б.п., ETH 0,019, SOL 0,42, XRP 0,34, QNT 7,9 б.п.; медианный спред top-30 = 1,0 б.п., top-100 = 1,6 б.п. Гранулярность: qtyStep даёт шаг позиции BTC $83,5 при $1000 (нельзя дробить) | **Спред и проскальзывание — не узкое место. Узкие места — комиссия (11 б.п. на круг) и неблагоприятный отбор.** «Проскальзывание 1 тик» различается на два порядка между BTC и альтом. Для $1000 BTC/ETH не дробятся → нужны альты с мелким шагом | | **ML на 5м** | Ни одной работы с net-плюсом на 1–15м при издержках ≥10 б.п. Ближайшая по честности (arXiv 2606.00060, часовые бары, walk-forward, 10 б.п./сделку): XGBoost +73,5% годовых **без** издержек → −64,0% с ними; iTransformer +181,8% → −83,9%. Cost-aware фильтр (вход только при \|прогноз\| выше порога, пропорционального издержкам) сокращает оборот в 10+ раз и возвращает ARC > 65% и SR > 1 у отдельных конфигураций, но paired block bootstrap с Holm-коррекцией превосходство над buy&hold **не подтверждает** | Оборот убивает сильнее, чем качество модели. Первое, что стоит перенести к нам — **cost-aware порог входа**, а не новая архитектура. Метрика «точность» без денег ничего не значит | | **Волатильность и режимы** | Волатильность предсказуется: на 5-мин горизонте R² = 0,73–0,75 против 0,41 у AR1-RV и 0,42–0,43 у GARCH (Orebro WP 14/2025, 5-мин доходности, OOS 2022–2024). Но экономическая ценность мала: лучшая модель риска даёт **+8…+19 б.п./год** против простых альтернатив (Bollerslev et al. 2018, RFS) — меньше одного тейкер-круга. Направление предсказывается несравнимо хуже: R² ≈ 1,6% на 30-мин горизонте (Gao et al. 2018) | Волатильность — **фильтр и сайзинг, не сигнал**. Практично: торговать только когда ожидаемая амплитуда ≥ k × издержек; сокращать размер при σ выше целевой | ## Что конкретно брать в наш бэктест 1. **Cost-aware порог входа** (главный перенос): входить только если ожидаемое движение до цели ≥ 2–3 × круга издержек. Формализация из литературы: порог = f(волатильность, комиссии) (Hudson & Thames), используется и в arXiv 2606.00060 — там это вернуло стратегию из −64% в плюс по ARC при сокращении оборота в 10+ раз. 2. **Волатильностный фильтр и сайзинг**: вход только при низком/среднем ATR-персентиле, размер ∝ 1/σ. Ожидать эффекта в единицах Sharpe, а не в б.п. (потолок +8…19 б.п./год при времени удержания дни). 3. **Событийный тайминг по границам свечей/часа**: «turn-of-the-candle» даёт ~2,3 б.п. на поворот (меньше нашего круга — само по себе не исполняется), но **quarter-hour effect** (границы четверти часа, прогноз 4–12 ч, издержки в работе не моделировались) — единственный низкооборотный кандидат на границе нашего горизонта; проверять с полными издержками. 4. **Внутридневной моментум с фиксированной сессией** (Gao et al. 2018; крипто-аналог 2021): первая получасовка → последняя. Слабый R², но ненулевой; проверить на наших 5м-данных с ресемплом. 5. **Maker-версия каждого правила обязательна**: разница тейкер/мейкер (7 б.п. на круг) больше, чем всё, что дают любые найденные сигналы. 6. **Протокол честности из литературы** (переносить в приёмку целиком): журнал числа испытаний → Deflated Sharpe Ratio → MinBTL (≤45 вариаций на 5 лет) → paired block bootstrap с Holm-коррекцией → тест чувствительности к издержкам с точкой безубыточности → плацебо-контроль. ## Пороги приёмки (из разобранных работ) | Критерий | Значение | |---|---| | Минимум сделок | ≥ 200 | | Net EV на сделку | > 0 после 11 б.п. на круг (и отдельно после 4 б.п. — мейкер) | | Бутстрап-интервал net Sharpe | не содержит 0 | | Прирост точности над мартингал-базлайном | ≥ +7,4 п.п. (цель/стоп 100/50, тейкер), ≥ +13,7 п.п. (50/30, тейкер), ≥ +5,0 п.п. (50/30, мейкер) | | Контроль data-snooping | журнал N испытаний → DSR → MinBTL → Holm | | Обязательные контроли | плацебо-сдвиг, рандом-вход, альфа против buy&hold, тейкер И мейкер | ## Что делать с этим дальше 1. Прогнать банк 12 методов на полной вселенной (идёт) и добавить к ним правила из пунктов 1–4 выше. 2. Ввести cost-aware фильтр в каждый метод как **отдельную конфигурацию** (это и есть проверка гипотезы «проблема в обороте, а не в сигнале»). 3. Обязательно смотреть maker-версию: если maker-версия правила не выходит в плюс — правило мёртвое. 4. Честный вердикт по итогам: если ни один метод не проходит пороги — так и записать в `VERDICT.md` с таблицей опровергнутого (это тоже результат, и он подтверждает вывод литературы). *Все источники с URL, датами обращения и заложенными издержками — в `directions/*.json` и сводном `sources/ALL_SOURCES.json` репозитория.*