Перейти к содержимому
Все стратегии

Стратегии

BTC Контр-торговля каскада ликвидаций Лонг-Шорт: Откат перелётов на барах BTCUSDT.BINANCE 1H при всплеске объёма ликвидаций Z > 3 с одновременным движением цены 2%

Итог: Отменено

BtcLiquidationCascadeCounterTradeLS1H

Сводка по итогам

Эта стратегия нацеливалась на подлинно новое крипто-нативное преимущество — откат вынужденных каскадов ликвидаций на BTC 1H, первая стратегия лонг-шорт на основе ликвидаций в экспериментах 459 — и исправление окна iter-2 обеспечило её корректное срабатывание при наличии строк ликвидаций. Но за ~6.5 лет она дала лишь 8 сделок, все сосредоточены в недавнем окне ~2 месяцев, причём движок пометил метрики как ненадёжные, поскольку дополнительный поток ликвидаций доступен только в режиме реального времени и содержит примерно два месяца истории. Аналитик отказался от неё на этапе проверки бэктеста на второй итерации как структурно непроверяемой — это стена данных, а не проблема кода или параметров — пометив для инженера по данным, что гипотезы каскадов ликвидаций остаются заблокированными, пока не будет заполнена многолетняя история ликвидаций, поэтому она так и не дошла до оптимизации или проверки рисков.

Гипотеза

Стратегия лонг-шорт на возврат к среднему на бессрочных фьючерсах BTCUSDT.BINANCE USD-M, торгующая против вынужденных каскадов ликвидаций. Использует перп-бары BINANCE USD-M (проверенно чистые данные) + дополнительные данные по ликвидациям (PostgreSQL — отдельный поток от любого предыдущего экспериментального пайплайна). Гипотеза: когда часовой объём ликвидаций на BTCUSDT превышает свой базовый уровень за 3 дней на >30 стандартных отклонений AND цена сдвинулась на ≥2% в том же направлении за предыдущие 4 часов,……Показать большеСвернуть

Стратегия лонг-шорт на возврат к среднему на бессрочных фьючерсах BTCUSDT.BINANCE USD-M, торгующая против вынужденных каскадов ликвидаций. Использует перп-бары BINANCE USD-M (проверенно чистые данные) + дополнительные данные по ликвидациям (PostgreSQL — отдельный поток от любого предыдущего экспериментального пайплайна). Гипотеза: когда часовой объём ликвидаций на BTCUSDT превышает свой базовый уровень за 3 дней на >30 стандартных отклонений AND цена сдвинулась на ≥2% в том же направлении за предыдущие 4 часов, рынок находится в FORCED-FLOW OVERSHOOT — маржинальный продавец (при каскаде лонг-ликвидаций) или маржинальный покупатель (при шорт-сквизе) механический, а не естественный. Когда вынужденный поток иссякает (обычно в течение 4-12 часов), естественные участники вступают на дислоцированном уровне, и движение частично разворачивается. Стратегия идёт LONG при каскаде лонг-ликвидаций (цена перелетает DOWN) и SHORT при каскаде шорт-ликвидаций (цена перелетает UP). Это заполняет FIVE недопредставленных бакетов: направление лонг-шорт (14.2% → в сторону 45%), механизм на основе ликвидаций (ни одна стратегия в экспериментах 459 не использовала этот поток данных), криптоспецифическая микроструктура (преимущество, невозможное в TradFi), среднесрочное удержание (циклы 4-12h), и управляемость дополнительными данными (которые были чистыми в нашем каталоге в отличие от баров BINANCE_SPOT). Механизм задокументирован в исследованиях крипто-микроструктуры (Kaiko 2022, Coin Metrics 2023) — каскады ликвидаций систематически порождают 1.5-3% перелёты цены, которые частично откатываются в течение 6-18 часов по мере рассеивания вынужденной компоненты потока ордеров. Использует ONLY перп-баров BINANCE USD-M + данные ликвидаций из Postgres — никаких баров BINANCE_SPOT (которые неоднократно проваливали проверку Слоя 3 в этой сессии). Размер позиции: 15% капитала на направление. Риск на сделку: 1.5% капитала, ограничен стоп-лоссом.

Итерация-2 минимальное исправление для провала Слоя-3 «Сделки не сгенерированы», без регрессии предыдущих слоёв. Корневая причина: вход требовал всплеск ликвидаций >=3-сигма, измеренный в одном 1-часовом бакете, совпадающий с направленным доминированием AND однонаправленное движение цены на >=2% за 4h; при разреженных строках ликвидаций бакет 1h часто оказывается пустым даже при реальном каскаде, поэтому `total` часто был 0, и тройная конъюнкция по сути никогда не срабатывала. Исправление сохраняет механизм 100%……Показать большеСвернуть

Итерация-2 минимальное исправление для провала Слоя-3 «Сделки не сгенерированы», без регрессии предыдущих слоёв. Корневая причина: вход требовал всплеск ликвидаций >=3-сигма, измеренный в одном 1-часовом бакете, совпадающий с направленным доминированием AND однонаправленное движение цены на >=2% за 4h; при разреженных строках ликвидаций бакет 1h часто оказывается пустым даже при реальном каскаде, поэтому `total` часто был 0, и тройная конъюнкция по сути никогда не срабатывала. Исправление сохраняет механизм 100% основанным на ликвидациях (явно без прокси только по цене): (1) ликвидации теперь суммируются за `liq_window_bars` часов (по умолчанию 4h, то же окно, что и движение цены), так что каскад фактически захватывается и `total` гораздо чаще ненулевой, выравнивая две половины сигнала; (2) два числовых порога ослаблены (liq_z 3.0->2.0, price_move_pct 2.0->1.0) и min_events снижен 50->30, чтобы z-базовый уровень стал пригодным раньше. Импорты не изменились (Слой 1 остаётся зелёным), и каркас z-score/trigger/exit/sizing, прошедший Слой 2, структурно идентичен — изменились лишь одна граница окна и три параметра по умолчанию. Площадка остаётся BINANCE USD-M futures (лонг-шорт требует маржу), плечо 1.0 (не используется для усиления, поэтому вентиль leverage_set_but_unused не срабатывает). Если в песочнице действительно нет строк ликвидаций, стратегия по-прежнему корректно остаётся вне рынка, а не имитирует сделки через прокси по цене.

Структурно непроверяема на доступной истории ликвидаций: движок обработал 56,208 баров 1H (~6.5 лет), но выдал лишь 8 сделки, ALL сгруппированы в одном окне ~2 месяцев (2026-04-21 – 2026-06-24), при metrics_reliable=FALSE. Сигнал требует строки supplementary_data['liquidations'], которые и гипотеза, и код описывают как разреженные/доступные только в реальном времени; кластеризация сделок согласуется с тем, что хранилище ликвидаций содержит лишь недавнее окно ~2 месяцев, поэтому сигнал каскада не может сработать……Показать большеСвернуть

Структурно непроверяема на доступной истории ликвидаций: движок обработал 56,208 баров 1H (~6.5 лет), но выдал лишь 8 сделки, ALL сгруппированы в одном окне ~2 месяцев (2026-04-21 – 2026-06-24), при metrics_reliable=FALSE. Сигнал требует строки supplementary_data['liquidations'], которые и гипотеза, и код описывают как разреженные/доступные только в реальном времени; кластеризация сделок согласуется с тем, что хранилище ликвидаций содержит лишь недавнее окно ~2 месяцев, поэтому сигнал каскада не может сработать на 6.4 из 6.5 лет бэктеста (наблюдаемый симптом, а не независимый аудит таблицы Postgres). Это стена доступности данных, а не проблема кода или параметров: стратегия реализована корректно и торгует надёжно при наличии строк ликвидаций, так что исправлять разработчику нечего и параметры настраивать нечего — 8 сделок в одном окне 2 месяцев не могут поддержать ни walk-forward (3 окон), ни холдаут, поэтому оптимизация подогнала бы чистый шум. Механизм не подтверждён и не опровергнут; он просто не может быть провалидирован. Не оптимизировать, не итерировать. META-NOTE FOR RESEARCH LEAD / DATA ENGINEER: гипотезы каскадов ликвидаций остаются заблокированными, пока поток данных ликвидаций не будет заполнен многолетней историей (например, через снимки ликвидаций Binance Vision), а не только реальным временем; не повторять попыток стратегий на основе ликвидаций, пока такая история не появится. FAILURE PATTERN: стратегии на основе ликвидаций на BTCUSDT дают почти пустой бэктест (8 сделок, сосредоточенных в недавнем окне ~2 месяцев), поскольку дополнительный поток ликвидаций доступен только в реальном времени с историей ~2 месяцев — механизм не может быть провалидирован на out-of-sample, и стратегия структурно непроверяема, пока данные не заполнены, та же стена истории дополнительных данных, наблюдаемая во всей семье OI/ликвидаций.

Реализация

Лонг-шорт контр-торговля каскада ликвидаций на фьючерсах BTCUSDT.BINANCE USD-M, бары 1H, с использованием дополнительных данных по ликвидациям. Когда объём ликвидаций USD, агрегированный за предыдущие 4ч, превышает свой ~30-дневный базовый уровень на ≥ 2 стандартных отклонений AND цена сдвинулась на ≥ 1% в том же направлении за предыдущие 4ч, стратегия отыгрывает перелёт вынужденного потока: лонг-ликвидации (нисходящий каскад) -> LONG, шорт-ликвидации (восходящий сквиз) -> SHORT. Выходы по тейк-профиту 4%, жёсткому стопу 10% или временному стопу 12 баров. Сигнал — знаковый з-score ликвидаций (натуральные единицы); should_enter порогирует кэшированные компоненты liq/price. плечо 1.0.

Результаты верификации

Проверка не пройдена (Слой 3 — песочничный бэктест): Не сгенерировано ни одной сделки Используемый тип баров: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Обработано баров: 56064 Диагностика: should_enter() вернул сторону 0 раз за 56059 оценённых баров -> ваш ENTRY CONDITION так и не сработал. Ослабьте логику входа / пороги. Убедитесь, что стратегия генерирует сделки при заданных данных и параметрах.

Обзор бэктеста

Шарп
-0,68
Общая доходность
-0,03%
Максимальная просадка
0,39%
Всего сделок
8
Доля прибыльных
62,5%
Профит-фактор
0,92

Код корректен и верен механизму: при наличии строк ликвидаций срабатывает как задумано (8 входов, 0 отброшено, лонг/шорт по стороне каскада); исправление окна ITER-2 работает

Новый механизм и бакет направления (первый лонг-шорт на основе ликвидаций) — стоит пересмотреть, когда станут доступны исторические данные по ликвидациям IF

Структурно непроверяема на доступных данных: обработано 56,208 баров, но лишь 8 сделок, ALL сгруппированы с 2026-04-21 по 2026-06-24 (~2 месяцев); annual_returns имеет лишь 2026

Движок помечает metrics_reliable=FALSE; Sharpe -0.68 при CI -10.4 по +23.5 (бессмысленно на 8 сделках), total_return -0.03%, profit_factor 0.92, комиссия 23% от gross

Дополнительный поток ликвидаций доступен только в режиме реального времени с историей ~2 месяцев, поэтому сигнал каскада не может сработать на 6.4 из 6.5 лет бэктеста — нет выборки для оптимизации или валидации

8 сделок не могут поддержать ни walk-forward (3 окон), ни холдаут — оптимизация подогнала бы чистый шум

Сводка по итогам

Механизм на дополнительных данных непроверяем, когда его поток не имеет истории — поток ликвидаций покрывает лишь ~2 месяцев, поэтому сигнал сработал всего 8 раз(а), и механизм не мог быть ни подтверждён, ни опровергнут; гипотезы на основе ликвидаций/OI остаются заблокированными, пока данные не будут заполнены многолетней историей.

Аналитик проверки бэктеста вынес вердикт «отказаться»: код был корректным и срабатывал надёжно при наличии строк ликвидаций, так что это стена доступности данных, а не баг — дополнительный поток ликвидаций доступен только в реальном времени с историей ~2 месяцев, поэтому сигнал каскада не может сработать на 6.4 из 6.5 лет бэктеста, а 8 сделок в одном окне не могут поддержать ни walk-forward, ни холдаут.

Стратегия лонг-шорт на возврат к среднему на фьючерсах Binance BTCUSDT 1H (плечо 1.0x, 0.15 на ногу) с использованием дополнительных данных по ликвидациям — откат вынужденных каскадов ликвидаций: лонг при всплеске лонг-ликвидаций (z≥2) вместе с нисходящим движением ≥1%, и шорт на зеркальном шорт-сквизе — нацеленная на пять недопредставлённых бакетов, включая первый в истории механизм на основе ликвидаций, лонг-шорт, крипто-микроструктуры.

За ~6.5 лет (56,208 баров 1H) стратегия дала лишь 8 сделок, все сгруппированы в одном окне ~2 месяцев (2026-04-21 – 2026-06-24): общая доходность -0.03%, профит-фактор 0.92, Sharpe -0.68 с бессмысленным CI [-10.4, +23.5], комиссия 23% от gross, и движок пометил metrics_reliable=FALSE.

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.