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

Стратегии

Корзина Hyperliquid: разворот относительных шоков при низкой активности

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

HyperliquidLowActivityRelativeShockBasket

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

После трёх итераций стратегия прошла проверку бэктеста: за 731 дней было открыто девять примерно равных по номиналу пар лонг/шорт. Аудит покрытия баров пройден, расчёты сверены, но чистая доходность составила -0.430%, а средняя доходность на одну сторону — -0.1864%. Проверяющий отказался от спецификации до оптимизации: после издержек она принесла убыток, а данных недостаточно для дальнейшей настройки. Это не означает отказа от предоставления ликвидности в целом.

Гипотеза

Проверь, отличает ли необычно низкая активность торгов временные ценовые шоки из-за дисбаланса запасов от переоценки на основе новой информации. Торгуй фиксированной корзиной из шести бессрочных контрактов, используя синхронизированные бары 4-HOUR: покупай относительно отстающие активы и открывай короткие позиции по лидерам, только если их долларовый объём за предыдущие 24 часов ниже исторической нормы. Удерживай парные позиции три дня. Идея основана на исследовании ликвидности криптовалют Bianchi, Babiak и Dickerson: [Объём торгов и предоставление ликвидности на криптовалютных рынках](https://eprints.lancs.ac.uk/172093/1/Babiak_Trading_Volume.pdf). Это новый эксперимент на Hyperliquid, а не воспроизведение дневных портфелей по совокупности бирж из статьи. До написания кода нужно проверить точное покрытие каталога; не подменяй отсутствующие инструменты.

Исследование стратегий только на длинных позициях — 81.9%, что превышает целевой показатель 55% на 26.9 процентных пункта. Этот эксперимент с нейтральной к доллару позицией нацелен на устранение крупнейшего дисбаланса: доля Hyperliquid увеличивается по направлению к 20% с 8.9%, а концентрация на одном инструменте снижается. В отличие от неудачных разворотов после высокого объёма, спредов дисперсии снижения и входов после процентного отскока, определяющая переменная — торговая активность ниже обычной на фоне смещения относительно других активов. Концентрация корпуса отсутствует, поэтому проверить новизну на уровне инструментов нельзя. Приведённые отрывки с идеями не подтверждают подходящий механизм исполнения; цитируемое первичное исследование криптовалют даёт более прямое экономическое обоснование.

Отказаться от оптимизации этой операционной версии на шести бессрочных контрактах: исполненные пары убыточны после издержек, а подтверждённых ошибок реализации или измеренного пути улучшения для дальнейших итераций разработчика нет. Это отвергает проверенную спецификацию Hyperliquid, но не совокупные дневные портфели из статьи и не предоставление ликвидности в целом; перебор параметров не проводился.

Реализация

Каждый день в фиксированное календарное время выбирает одну пару с равным номиналом из шести синхронизированных бессрочных контрактов Hyperliquid: покупает самый отстающий актив и открывает короткую позицию по лидеру, только если у обоих долларовый объём за последние 24 часов был ниже базового уровня. Пара удерживается 18 четырёхчасовых бара; стопы ATR фиксируются при входе, после выхода действует шестибарный период ожидания. Бары остальных пяти инструментов используются, только если их временная метка в точности совпадает с меткой бара FILUSD.

Устраняет критическое замечание QA. Раньше проверка _entries_paused находилась в условии раннего выхода, поэтому при паузе также пропускались стопы и лимит удержания открытой пары. Теперь она выполняется после управления открытой парой, непосредственно перед выбором новой. Во время паузы продолжают действовать лимит удержания в 18 баров и стопы ATR; они закрывают обе стороны. Фильтр паузы в базовом шаблоне пропускает такие выходы, поскольку они только сокращают позиции. Другая логика, параметры и значения конфигурации не менялись. Опасение по поводу преимущества стратегии сохраняется: в песочнице было всего 9 пар, средняя доходность на одну сторону составила -0.176%. Зафиксированный план разрешает настраивать только low_volume_ratio и residual_z_entry; это оставлено для оптимизации.

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

В песочнице зафиксировано девять пар со средней чистой доходностью -0.1757% на одну сторону. Оценка по всей истории должна показать, покрывает ли сигнал разворота при низкой активности комиссии и ценовое воздействие; этот результат краткого теста не свидетельствует об ошибке корректности.

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

Шарп
-0,34
Общая доходность
-0,43%
Максимальная просадка
1,24%
Всего сделок
18
Доля прибыльных
50,0%
Профит-фактор
0,87

В торговых записях — девять синхронизированных пар лонг/шорт с примерно равным номиналом; все закрыты в течение трёх дней. Размер позиций меняется с учётом риска, как и предусмотрено.

Все шесть наборов баров прошли аудит покрытия; расчёты сверены, открытых позиций нет.

Чистая доходность — -0.430%, фактор прибыли — 0.873, средняя доходность на одну сторону — -0.1864%; результат ниже порога проверки Hyperliquid +0.15%. Опасение QA относительно экономики стратегии подтвердилось на оценённом отрезке истории.

За 731 дней произошло всего девять парных эпизодов — этого мало для оптимизации двух параметров. Эта выборка не доказывает отсутствие более широкого механизма предоставления ликвидности.

Код выбирает отстающие активы для покупки, а лидеров — для короткой позиции, с фильтрами низкого объёма. Однако в торговых записях нет остаточных доходностей и коэффициентов объёма на момент входа, поэтому независимо проверить эти условия нельзя.

Бенчмарк корзины лонг-стратегий для этой парной стратегии прямо признан неинформативным.

экономика первичной проверки бэктеста

История итераций

Проверка не пройдена (уровень 1.5 — согласованность гипотезы и конфигурации) [класс=hypothesis_mismatch]: - optimization_plan фиксирует кредитное плечо на уровне 1.0

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] В песочнице за 785 дней завершилось всего девять пар; средняя доходность на одну сторону — -0.176%, фактор прибыли — 0.876. При оценке по всей истории следует изучить частоту срабатывания условий и проверить, покрывают ли развороты примерно 0.09% комиссии за сделку в обе стороны на одну сторону позиции плюс ценовое воздействие. Эти результаты сами по себе не являются основанием для отказа от стратегии. - [критическое]……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA) [класс=code_defect]: - [edge_concern] В песочнице за 785 дней завершилось всего девять пар; средняя доходность на одну сторону — -0.176%, фактор прибыли — 0.876. При оценке по всей истории следует изучить частоту срабатывания условий и проверить, покрывают ли развороты примерно 0.09% комиссии за сделку в обе стороны на одну сторону позиции плюс ценовое воздействие. Эти результаты сами по себе не являются основанием для отказа от стратегии. - [критическое] calculate_signal немедленно возвращает управление, если self._entries_paused имеет значение true, и до этого не управляет существующими позициями. При паузе входов отключаются и трёхдневный лимит удержания, и зафиксированные стопы ATR. Базовая платформа не может подстраховать стратегию: should_exit возвращает false вне явно заданного context_index и проверяет только основной инструмент. Поэтому во время паузы входов обе стороны позиции могут оставаться открытыми неопределённо долго. (строка 145) — исправление: отдели запрет новых входов от управления позициями. Продолжай проверять условия и отправлять ордера на выход, снижающие риск по существующей паре, даже когда входы приостановлены. Применяй проверку _entries_paused после управления открытыми позициями и до выбора новой пары. Убедись, что при паузе стратегия закрывает обе стороны по стопу или по истечении лимита удержания в 18 баров.

Отдели запрет новых входов от управления позициями. Продолжай проверять условия и отправлять ордера на выход, снижающие риск по существующей паре, даже когда входы приостановлены. Применяй проверку _entries_paused после управления открытыми позициями и до выбора новой пары. Убедись, что при паузе стратегия закрывает обе стороны по стопу или по истечении лимита удержания в 18 баров.

calculate_signal немедленно возвращает управление, если self._entries_paused имеет значение true, и до этого не управляет существующими позициями. При паузе входов отключаются и трёхдневный лимит удержания, и зафиксированные стопы ATR. Базовая платформа не может подстраховать стратегию: should_exit возвращает false вне явно заданного context_index и проверяет только основной инструмент. Поэтому во время паузы входов обе стороны позиции могут оставаться открытыми неопределённо долго.

Проверка не пройдена (уровень 4 — проверка QA) [класс=hypothesis_mismatch]: - [edge_concern] В песочнице за 785 дней было 9 пар (18 сторон), средняя доходность на одну сторону — -0.176%, при этом PF 0.876 и экспозиция 9.4%. В стрессовых окнах позиций вообще нет. Даже если зафиксировать минимальный уровень ликвидности, сначала проверь, даёт ли условие низкого объёма что-либо сверх простого разворота остаточной доходности. Сравни IC с фильтром по объёму и без него. - [критическое] should_enter() применяет……Показать большеСвернуть

Проверка не пройдена (уровень 4 — проверка QA) [класс=hypothesis_mismatch]: - [edge_concern] В песочнице за 785 дней было 9 пар (18 сторон), средняя доходность на одну сторону — -0.176%, при этом PF 0.876 и экспозиция 9.4%. В стрессовых окнах позиций вообще нет. Даже если зафиксировать минимальный уровень ликвидности, сначала проверь, даёт ли условие низкого объёма что-либо сверх простого разворота остаточной доходности. Сравни IC с фильтром по объёму и без него. - [критическое] should_enter() применяет фиксированный минимальный уровень ликвидности: minimum_daily_dollar_volume = $2,000,000 базового дневного долларового объёма. В гипотезе этот порог не указан, но в плане оптимизации он зафиксирован. Из-за него два из шести заявленных бессрочных контрактов большую часть истории исключены из «фиксированной корзины из шести бессрочных контрактов». Я декодировал бары каталога 4H и рассчитал базовый дневной долларовый объём за 30 дней. Для FILUSD.HYPERLIQUID (инструмент PRIMARY; медианный дневной объём DV $0.60M) он достигает как минимум $2M только в 18% случаев, а для ETCUSD.HYPERLIQUID — в 4% случаев (медиана $0.42M). Остальные активы проходят фильтр большую часть времени: BCH 80%, UNI 84%, INJ 75%, SUI 97%. На практике стратегия проверяет корзину из четырёх активов SUI/UNI/BCH/INJ. FIL и ETC по-прежнему участвуют в расчёте среднего корзины, но почти никогда не доступны для торговли. (строка 223) — исправление: либо убери абсолютный порог, либо опусти его ниже типичной ликвидности каждого заявленного актива, например примерно до $250k. Вместо фильтрации инструментов ограничивай размер позиции долларовым объёмом каждого актива: ценовое воздействие и ёмкость — вопрос размера позиции, а не состава набора инструментов. Если порог необходим, укажи его в гипотезе и выбери активы, которые ему соответствуют. Не сокращай корзину из шести активов без предупреждения. - [критическое] Условие входа срабатывает слишком редко, чтобы что-либо измерить. Вход возможен только при одном решении в день. Нужны два разных актива с низким объёмом: для одного z <= -1.25, для другого z >= +1.25; объём каждого должен превышать порог $2M. Фактически это означает 4 из 6 активов. Одновременно удерживается только одна пара: 18 баров плюс период ожидания в 6 баров. В песочнице за 785 дней получено 9 пар. Общая история по всем шести активам начинается только с 2024-04-20 (тогда же начинается ETC), то есть охватывает около 895 дней. По этой частоте за весь бэктест получится примерно 10 пар (около 20 сторон) — намного ниже уровня примерно в 100 сделок, при котором преимущество можно отличить от шума. Для адаптивного walk-forward-анализа также требуется не менее 20 ожидаемых сделок на каждое окно проверки длительностью 30+ дней. При примерно 0.35 пар в месяц построить корректные окна не удастся: результат будет неубедительным либо анализ завершится с ошибкой. (строка 185) — исправление: главный рычаг — восстановить корзину из шести активов (см. замечание выше). Также рассмотри возможность одновременно удерживать больше одной пары, например открывать позиции по двум активам с самым низким объёмом каждый день и ограничивать валовую экспозицию уровнем max_gross_equity_fraction. Это сохранит ежедневный вход в парную позицию с удержанием 3 дней, как предусмотрено гипотезой, без перенастройки порогов. Проверь, что результатов песочницы достаточно, чтобы за примерно 895 дней получить не менее 100 сторон. - [предупреждение] Любая отсутствующая синхронная временная метка сбрасывает все скользящие данные: базовый уровень, историю остаточной доходности и sample_count. После этого до появления новых входов должно пройти около 186 баров (примерно 31 дней). В каталоге обнаружено лишь 2 пропусков UNI (максимум 8 ч), поэтому влияние невелико, но реально. (строка 78) — исправление: приемлемо. В качестве альтернативы можно считать недействительным только окно доходности 24 ч через пропуск, а не базовый уровень за 180 баров и историю остаточной доходности. - [предупреждение] Жёсткие стопы на уровне ATR/3% и период ожидания в 6 баров добавлены сверх требований гипотезы. Это дополнительные меры управления риском, они не заменяют предусмотренное удержание в течение 3 дней; оно корректно реализовано как 18 x баров 4H от момента entry_ns. Проверка выполняется только при закрытии бара. (строка 240) — исправление не требуется. Задокументируй их как дополнительные меры.

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

Для проверки условий отбора в будущих тестах нужны дополнительные парные эпизоды и записи остаточных доходностей и коэффициентов объёма. Этот результат отвергает только проверенную спецификацию Hyperliquid.

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

Проверялось, разворачиваются ли относительные ценовые шоки при низком объёме: стратегия покупала отстающие активы и открывала короткие позиции по лидерам в корзине из шести бессрочных контрактов Hyperliquid, используя синхронизированные четырёхчасовые бары и удерживая позиции три дня.

За 731 дней бэктест дал 18 закрытых позиций, сгруппированных в девять парных эпизодов. Чистая доходность составила -0.430%, коэффициент Шарпа — -0.338, фактор прибыли — 0.873. Средняя доходность на одну сторону — -0.1864%, ниже порога проверки +0.15%.

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