Стратегии
Пара Hyperliquid DeFi: игра на разворот временного расхождения доходностей AAVE–UNI
Итог: Отменено
HyperliquidAaveUniDispersionFade
Сводка по итогам
Гипотеза заключалась в том, чтобы сыграть на временном расхождении доходностей между AAVE и UNI на Hyperliquid, открыв парную позицию с равными долларовыми суммами: длинную по отстающему активу и короткую по лидирующему, используя синхронизированные бары длительностью 4 часов; при проверке каталога обнаружено 5,879 общих временных меток. Стратегия прошла 7 итераций, а в последних заметках кода указано, что построение стратегии было заблокировано из-за противоречивых исходных наблюдений по финансированию; торговая логика оставлена без изменений до исправления данных/загрузчика. Затем бэктест завершился ошибкой FundingObservationError для hyperliquid/AAVEUSD, и запуск был прекращён. Метрики бэктеста не были рассчитаны; до этапов проверки, оптимизации, анализа и оценки риска дело не дошло.
Гипотеза
Проверь, разворачивается ли временное расхождение между AAVE и UNI после общего движения сектора: покупай относительно отстающий актив и шорти относительно лидирующий, используя синхронизированные свечи 4–HOUR. Это событийная пара с равными долларовыми суммами, а не утверждение о коинтеграции уровней цен. HyperliquidCollector предоставляет бессрочные контракты OHLCV. Точная проверка локального каталога подтвердила 5,879 общих временных меток закрытия от 2024-01-25 до 2026-10-01, с двумя пропущенными временными метками сетки внутри этого диапазона. Сигналы используют только завершённые свечи; ордера исполняются после формирования сигнала. Ожидаемое сокращение расхождения и частота событий — заранее зарегистрированные прогнозы, а не измеренные результаты.
Доля Hyperliquid существенно ниже целевой: 6.8% против 20%; это предложение также сокращает чрезмерные доли стратегий на одном символе и только с длинными позициями. Концентрация корпуса неизвестна, поэтому установить новизну для конкретного инструмента нельзя. В отличие от арбитража одного актива между биржами, этот механизм ориентирован на расхождение доходностей сектора в процентных пунктах, а не на небольшие ценовые различия между площадками. В отличие от сохранившейся ротации по импульсу, он открывает позицию против временной относительной динамики. Предоставленные выдержки из библиотеки не подтверждают этот механизм; код не копировался.
backtest_exception: валидация raise FundingObservationError(f"конфликтующие ставки финансирования в {source} в момент {second_ns}") src.backtesting.funding_input_audit.FundingObservationError: data_unavailable: конфликтующие ставки финансирования в hyperliquid/AAVEUSD в момент 1789297200000000000
Реализация
После общего движения коррелированного сектора и временного расхождения доходностей за шесть свечей торгует парой бессрочных контрактов AAVE–UNI с равными долларовыми суммами. Покупает отстающий актив и шортит лидера, используя строго синхронизированные завершённые свечи длительностью 4 часов. Закрывает оба плеча при сокращении зафиксированного расхождения, убытке пары, достижении лимита удержания или потере любого плеча; устанавливает индивидуальные защитные стопы.
Результаты верификации
Добавь контроль устаревшего плеча и срок удержания по временной метке, который позволяет закрыть оба плеча независимо от синхронного формирования сигнала.
Для проверки рисков пары нужны синхронизированные свечи. Если свеча одного из плеч отсутствует, выходы по убытку пары и лимиту удержания откладываются до возобновления синхронизированной обработки. Индивидуальные защитные стопы остаются доступными, но лимит удержания в 12 свечей не гарантирован при разрывах в данных.
Инженерной команде следует устранить противоречия в наблюдениях финансирования в пределах разрешённого окна оценки и повторить проверку с проверенными данными финансирования для каждого плеча. Сохрани учёт финансирования и заявленные инструменты.
Конфигурация сообщает об ошибке FundingObservationError до создания стратегии, тогда как предоставленный успешный запуск в изолированной среде показывает ноль доступных событий финансирования и отсутствие начислений финансирования. Эти входные данные не подтверждают наличие текущего успешного запуска с корректным учётом финансирования для обоих бессрочных плеч.
Профилируй загрузку данных, аудит финансирования, работу движка и обратные вызовы ордеров, сохранив гипотезу и охват оценки.
Изолированной среде потребовалось около 295 секунд для обработки 4,715 свечей. Расчёты сигналов стратегии используют буферы ограниченного размера и инкрементальные суммы корреляций; вычисления по постоянно растущей истории не просматриваются, однако время выполнения требует инженерной проверки до повторной оптимизации.
Изолированная среда сообщает о 146 закрытых позициях со средним номиналом -0.703% и фактором прибыли 0.735. Оцени полную сходимость на всей истории с учётом издержек исполнения и корректного учёта финансирования каждого плеча; результаты этого дымового теста не свидетельствуют об ошибке корректности.
Анализ
История итераций
Проверка не пройдена (уровень 1.5 — согласованность гипотезы и конфигурации) [класс=hypothesis_mismatch]: - optimization_plan фиксирует кредитное плечо на уровне 1.0
sandbox_timeout: проверка не пройдена (уровень 3 — бэктест в изолированной среде): дымовой тест превысил лимит времени 300с на окне примерно в 20000 свечей (2400 дней по AAVEUSD.HYPERLIQUID-4-HOUR-LAST-EXTERNAL). Почти всегда это означает, что объём работы на каждой свече растёт вместе с историей — например, полное повторное сканирование ряда финансирования/дополнительных данных либо перестроение списка и вызов min()/sorted() внутри calculate_signal()/on_bar() на каждой свече. Предварительно вычисли отсортированные массивы временных меток ONCE в __init__ и используй bisect либо кешируй результаты поиска по временной метке, чтобы затраты на свечу составляли O(log n), а не O(n).
Проверка не пройдена (уровень 3 — процесс бэктеста): стратегию не удалось загрузить/собрать в процессе бэктеста: ory/src/backtesting/supp_collector.py», строка 684, в _ensure_then_load_supp return await _load_supp_with_per_leg_funding(instrument_id, legs, db_url, keys) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/backtesting/supp_collector.py", строка 749, в _load_supp_with_per_leg_funding await load_supplementary_data(instrument_id, db_url=db_url, only_keys=keys) File "/opt/strategy-factory/src/backtesting/supp_collector.py", строка 812, в load_supplementary_data hl_db_funding = await _load_hl_funding_from_db(db_url, base) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/strategy-factory/src/backtesting/supp_collector.py", строка 598, в _load_hl_funding_from_db add_funding_observation(out, ts_ns, row[1], f"hyperliquid/{base_symbol}") File "/opt/strategy-factory/src/ba
Сводка по итогам
Дублирующиеся или противоречивые наблюдения финансирования в исходных данных (здесь hyperliquid/AAVEUSD) следует выявлять и исправлять на уровне данных/загрузчика до написания стратегии, чтобы не тратить бюджет итераций на дефект данных, который нельзя устранить изменением стратегии.
На итерации 7 запуск был прекращён с ошибкой backtest_exception: аудит входных данных финансирования вызвал FundingObservationError (data_unavailable), поскольку в исходных данных были противоречивые ставки финансирования для hyperliquid/AAVEUSD на временной метке 1789297200000000000. Проверка бэктеста, оптимизация, анализ и оценка рисков не проводились.
Событийная пара бессрочных контрактов Hyperliquid с равными долларовыми суммами на свечах длительностью 4 часов: покупает относительно отстающий актив и шортит относительно лидирующий, когда доходности AAVE и UNI временно расходятся после общего движения сектора, рассчитывая на сокращение расхождения (без утверждения о коинтеграции уровней цен).
Эффективность не измерялась: отчёт о бэктесте пуст, отчёта об оптимизации нет, поэтому показатели доходности, коэффициента Шарпа и числа сделок отсутствуют.
Причина отказа
backtest_exception: валидация raise FundingObservationError(f"конфликтующие ставки финансирования в {source} в момент {second_ns}") src.backtesting.funding_input_audit.FundingObservationError: data_unavailable: конфликтующие ставки финансирования в hyperliquid/AAVEUSD в момент 1789297200000000000
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.