Стратегии
Мультифакторный кросс-секционный портфель Hyperliquid (воспроизведение источника), вселенная топ-15 на каждый момент времени, ежедневная ребалансировка с гистерезисом по противоположным терцилям
Итог: Отменено
HlMultiFactorCompositeCrossSectionalBook
Сводка по итогам
Эта стратегия пыталась точно воспроизвести исходный лонг-шортовый портфель по терцилям с составным фактором на вселенной Hyperliquid из топ-15 инструментов, определяемой на каждый момент времени; в самой гипотезе отмечалось, что у нейтральных портфелей с несколькими позициями здесь была репутация 0/150. За три итерации ребалансировка сместилась с ежедневной на еженедельную, а валовая экспозиция была сокращена, но итоговый бэктест за 809 дней всё равно показал убыток 3.06% (коэффициент Шарпа -0.04, PF 0.975, -$6.54 на позицию), причём издержки были примерно равны убытку. При проверке бэктеста аналитик отказался от стратегии из-за отсутствия преимущества, отметив, что положительный процент на сделку был артефактом учёта. Аналитик также указал на непроверенную еженедельную закономерность доходности -2.5%/+2.5% около разворотов при ребалансировке как на возможную проблему движка или учёта при NETTING разворотах.
Гипотеза
Наиболее точная версия того, чем фактически торгует источник. Она занимает последнее место, поскольку у нейтральных портфелей с несколькими позициями здесь была репутация 0/150 (вывод 137). Параметры: HL бары 4H. Каждый день вселенная формируется заново на каждый момент времени: топ 15 инструментов по долларовому объёму за последние 30 дней среди листинговых кандидатов как минимум с 30 днями баров. Составной показатель — равновзвешенная сумма трёх факторов с z-нормировкой, каждый ограничен на 20-м/80-м межсекционных квантилях: - (отношение объёмов за 24h/96h), - (корреляция цены закрытия с объёмом за 96h), - (волатильность цены закрытия/открытия за 24h). Моментум за 3h из источника исключён как не покрывающий комиссии; фактор доли покупок исключён, поскольку в HL нет разделения по тейкерским сделкам. Длинная позиция в нижнем терциле, короткая — в верхнем. Вторичный, оцениваемый отдельно вариант остаётся вне рынка, когда разброс составного показателя ниже медианы за 90 дней.
Реализация
Пул кандидатов Hyperliquid из 20 бессрочных контрактов, бары 4H. В дни ребалансировки, привязанные к календарю (индекс дня UTC % 7 == 0, берётся из временной метки бара), формируется вселенная топ-15 на каждый момент времени по долларовому объёму за последние 30 дней. Для каждого инструмента рассчитываются три фактора: - (отношение объёмов за 24h/96h), - (корреляция цены закрытия с объёмом за 96h) и - (стандартное отклонение закрытия/открытия за 24h). Каждый фактор ограничивается на 20-м/80-м квантилях и приводится к z-оценке; составной показатель — их равновзвешенная сумма. Портфель открывает длинные позиции в нижнем терциле и короткие в верхнем, с гистерезисом по противоположным терцилям. Каждая позиция выставляется отдельным ордером на equity*0.35/(2*терциль), так что целевая валовая экспозиция равна 0.35x, а максимум — около 0.53x. Вариант с фильтром по разбросу включён при dispersion_filter=True; разброс рассчитывается ежедневно.
Результаты верификации
Зафиксируй в прогоне, что проверяемый вариант использует еженедельную периодичность. Оставь rebalance_every_days параметром, чтобы оптимизатор и аналитик могли сравнить его с ежедневной периодичностью.
В заголовке гипотезы указана ребалансировка DAILY, но в этой итерации по умолчанию задано rebalance_every_days=7, то есть недельная календарная сетка (день % 7 == 0 по дню UTC временной метки бара). В остальном механизм сохранён: PIT топ-15 по долларовому объёму за 30 дней, 3 ограниченных z-нормированных факторов с правильными знаками и горизонтами (6/24/24/6 баров 4H = 24h/96h/96h/24h), длинная позиция в нижнем терциле и короткая в верхнем, а также гистерезис по противоположным терцилям. Установка rebalance_every_days=1 в точности воспроизводит заявленную гипотезу, поэтому это значение параметра, а не структурная замена.
В таком виде это приемлемо. Если важен охват ранней истории, исключи поздно добавленные инструменты из extra_bar_types или учитывай, что фактическое начало определяется самой поздней датой листинга.
Барьер выравнивания в базовом шаблоне (_maybe_process_primary) обрабатывает основную временную метку лишь после того, как у ALL 19 дополнительных ног с тем же таймфреймом есть свеча с этой меткой. Поэтому портфель не может торговать, пока не будут добавлены все кандидаты (листинг SUI/APT/ARB/OP позже BTC/ETH на HL); разрыв в данных хотя бы по одной ноге пропускает всю временную метку. Собственная логика листинга PIT по каждому активу (min_history_bars, проверка устаревших данных) верна, но на практике из-за барьера активы не входят во вселенную по мере листинга. Само выравнивание не использует заглядывание в будущее: дополнительные свечи записываются до запуска calculate_signal, а код отклоняет last_ts > ts. Пропуск первой свечи в день ребалансировки обрабатывается: проверка дня срабатывает на следующей обработанной свече.
Изменения не нужны. При желании верни min_history_bars для ясности.
min_bars_required() переопределён как 25, тогда как min_history_bars равен 180. Это безвредно: calculate_signal начинает запись раньше, а _cross_section самостоятельно обеспечивает требование к истории листинга в 180 баров. Слой 1 отметил это как затенение базового метода.
Оценивай экономику на сделку по PnL USD, делённому на номинал позиции, либо попроси слой метрик разделить обратные неттинговые позиции, прежде чем сравнивать результат с минимальным уровнем комиссий.
Разворот — это выход (close_position) и новый вход по тому же инструменту на том же баре. На счёте NETTING неттинг работает корректно, но в отчёте по позициям эти развороты, по-видимому, учитываются так, что знак avg_trade_return_pct расходится со знаком математического ожидания USD (+0.39% против -$4.2/сделку) в песочнице.
Обзор бэктеста
- Шарп
- -0,04
- Общая доходность
- -3,06%
- Максимальная просадка
- 18,68%
- Всего сделок
- 495
- Доля прибыльных
- 44,6%
- Профит-фактор
- 0,98
Полный прогон по истории надёжен: 809 дней, 495 закрытых позиций, 20 инструментов; учтены и финансирование, и рыночное воздействие.
Формирование вселенной на каждый момент времени и выравнивание баров выглядят корректно. Сделки сбалансированы (246 длинных / 249 коротких), как и должно быть в нейтральном портфеле.
Отрицательное математическое ожидание на достаточной выборке: коэффициент Шарпа -0.04, PF 0.975, общая доходность -3.06%, математическое ожидание -$6.54 на позицию, коэффициент Сортино -0.05, PSR 0.48; интервал коэффициента Шарпа CI [-1.36, 1.26] включает ноль.
Опасение насчёт QA подтвердилось. avg_trade_return_pct равен +0.39%, но avg_trade_pnl_usd составляет -$6.54. При номинале позиции около 3.6% показатель +0.39% был бы примерно +$14 на позицию. Значения имеют противоположные знаки, поэтому процентный показатель — артефакт учёта и использовать его нельзя. По математическому ожиданию USD преимущество отрицательное и ниже примерно 0.09% затрат на полный цикл у HL. Оно также ниже порога, рассчитанного по размеру позиции в портфеле с несколькими инструментами (вывод 127).
Комиссия ($1,528) плюс моделируемое рыночное воздействие ($1,753) составляют около $3.3k, примерно столько же, сколько весь убыток. Без издержек валовое преимущество близко к нулю.
Календарные годы не согласуются: 2024 +0.63%, 2025 -2.68%, 2026 YTD -3.98%. Просадка длилась 427 дней. Портфель убыточен в спокойном и обычном режимах волатильности; вся прибыль приходится на стрессовый терциль.
История итераций (согласно строке документации кода): в итерации 2 было 2,624 сделок с доходностью 0.045% на сделку. На третьем проходе периодичность ребалансировки сократили до еженедельной, но PnL всё ещё отрицательный. Снижение оборота не выявило преимущества.
Начиная с 2025, дневная доходность демонстрирует устойчивую недельную закономерность: примерно -2.5%, затем примерно +2.5% в следующие дни. Она совпадает с еженедельным разворотом при ребалансировке, что указывает на возможный артефакт переоценки по рынку или учёта около разворотов. Я это не проверял, и на вердикт это не влияет.
Это нейтральный к рынку кросс-секционный портфель с несколькими позициями — такой класс уже рассматривается в исследовательском выводе 137. Применим и вывод 141: отрицательный коэффициент Шарпа на более чем 100 сделках — это завершённое опровержение гипотезы измерениями.
Анализ
Порог бэктеста: - ненадёжные метрики: несогласованность: знак коэффициента Шарпа 0.44 не совпадает со знаком total_return -25.47% — коэффициент Шарпа рассчитан по ряду mtm_equity_curve, а доходность берётся с кривой капитала. Оценивай результат по кривой капитала.
Сводка по итогам
Снижение оборота (с 2,624 сделок при ежедневной периодичности до 495 при еженедельной) сократило издержки, но не выявило скрытого преимущества. Для нейтральных портфелей с несколькими позициями проверяй USD математическое ожидание и валовой PnL до издержек, а не процент на сделку, который может искажаться из-за неттинга и разворотов позиций.
Этап проверки бэктеста вернул решение «отказаться» из-за отрицательного математического ожидания (код ошибки no_edge): математическое ожидание USD было отрицательным на достаточной выборке, а валовое преимущество до издержек было примерно нулевым. Этапы оптимизации, аналитики и оценки риска не проводились.
Воспроизведение мультифакторного кросс-секционного портфеля из источника на бессрочных контрактах Hyperliquid 4H: в каждый день ребалансировки строилась вселенная топ-15 на каждый момент времени по долларовому объёму за 30 дней; инструменты ранжировались по равновзвешенному составному показателю из трёх ограниченных z-нормированных факторов (отрицательное отношение объёмов, отрицательная корреляция цены закрытия с объёмом, отрицательная внутридневная волатильность); открывались длинные позиции в нижнем терциле и короткие в верхнем; гистерезис по противоположным терцилям позволял удерживать позиции.
За 809 дней и 495 закрытых позиций (246 длинных / 249 коротких) третья итерация принесла -3.06% при коэффициенте Шарпа -0.04 (CI -1.36 до 1.26), факторе прибыли 0.975, математическом ожидании -$6.54 на позицию и максимальной просадке 18.68%. Комиссия ($1,528) вместе с рыночным воздействием ($1,753) была примерно равна всему убытку, а у указанного +0.39% avg_trade_return_pct был знак, противоположный PnL USD, поэтому его сочли артефактом учёта.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.