Кросс-секционное кэрри на финансировании + премия за переполненность по 12 никогда не торговавшимся альткоин-перпетуалам Binance USD-M: долларово-нейтральный лонг инструментов с самыми низкими ставками финансирования и шорт с самыми высокими, веса обратно пропорциональны волатильности, валовая позиция нацелена на волатильность, еженедельная ребалансировка на DAILY барах (3 параметров)
Итог: Отменено
AltPerpCrossSectionalFundingCarryCrowdingLS
Сводка по итогам
AltPerpCrossSectionalFundingCarryCrowdingLS — стратегия переноса на основе фандинга с поперечным сечением и лонг-шорт позициями, ребалансируемая еженедельно и нейтральная к доллару, по двенадцати ранее не торговавшимся альткоин-перпетуалам Binance USD-M; она была предварительно зарегистрирована на основании офлайн-данных с коэффициентом Шарпа 1.16 и семью положительными календарными годами. Полученный бэктест оказался значительно хуже: коэффициент Шарпа 0.318, фактор прибыли 1.158, совокупная доходность 34.86% и……Показать большеСвернуть
AltPerpCrossSectionalFundingCarryCrowdingLS — стратегия переноса на основе фандинга с поперечным сечением и лонг-шорт позициями, ребалансируемая еженедельно и нейтральная к доллару, по двенадцати ранее не торговавшимся альткоин-перпетуалам Binance USD-M; она была предварительно зарегистрирована на основании офлайн-данных с коэффициентом Шарпа 1.16 и семью положительными календарными годами. Полученный бэктест оказался значительно хуже: коэффициент Шарпа 0.318, фактор прибыли 1.158, совокупная доходность 34.86% и максимальная просадка 17.36% за 645 сделок. Проверяющий подтвердил, что перенос на основе фандинга был положительным каждый год, тогда как заявленная нога разворота скученности выглядела как остаточная бета рынка альткоинов, 88% PnL приходилось на пять сделок, а стрессовый терциль волатильности принёс убыток 7.15%. После четырёх итераций запуск был остановлен на этапе проверки бэктеста как артефакт: отмены дневных пар ±2.5% MTM повторялись в те же даты, что и в трёх предыдущих итерациях, а заявленная доходность на сделку противоречила файлу сделок, поэтому метрики, которые оптимизатор максимизировал бы, признали непригодными. Проверяющий передал на проверку на стороне движка поведение маркировки и avg_trade_return_pct в книгах с несколькими инструментами вместо дальнейших изменений кода стратегии.
DOLLAR-NEUTRAL, LONG-SHORT, CROSS-SECTIONAL стратегия CARRY на фиксированном наборе из 12 ликвидных, но никогда не торговавшихся альткоин-перпетуалов Binance USD-M (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV). Торгуемый фактор — не тренд цены NOT, а кросс-секция перпетуалов FUNDING RATE: механически выплачиваемый денежный поток плюс премия за разворот цены, сопутствующая переполненным позициям в перпетуалах. Каждые 7 дневных баров стратегия ранжирует 12 инструментов по среднему значению……Показать большеСвернуть
DOLLAR-NEUTRAL, LONG-SHORT, CROSS-SECTIONAL стратегия CARRY на фиксированном наборе из 12 ликвидных, но никогда не торговавшихся альткоин-перпетуалов Binance USD-M (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV). Торгуемый фактор — не тренд цены NOT, а кросс-секция перпетуалов FUNDING RATE: механически выплачиваемый денежный поток плюс премия за разворот цены, сопутствующая переполненным позициям в перпетуалах. Каждые 7 дневных баров стратегия ранжирует 12 инструментов по среднему значению ставки финансирования за предшествующий период (с учётом информации на тот момент, через supp_as_of/supp_window), открывает лонг LONG инструментам с n_per_side ставками — самыми отрицательными значениями LOWEST, то есть перпетуалам, где шорты платят лонгам, что указывает на переполненные шорт-позиции, — и SHORT инструментам с n_per_side ставками финансирования HIGHEST, то есть перпетуалам с переполненными лонг-позициями, где лонги платят шортам. Веса инструментов внутри каждой стороны обратно пропорциональны реализованной волатильности -30; номиналы обеих сторон равны в долларах, поэтому рыночная бета составляет примерно 0; затем общая валовая экспозиция масштабируется так, чтобы расчётная годовая волатильность портфеля равнялась vol_target_annual (ограничение — 2.0x капитала). Это NOT стратегия моментума, NOT бета-нейтральная переработка такой стратегии (L95), NOT пара на коинтеграции/отношении цен (L96), NOT опционная конструкция (L102), NOT клон COIN-M (L100), NOT ротация режимов ETF (L99), NOT календарный/событийный фильтр (L104) и NOT стратегия на непроверенной площадке (L103 — для всех 12 инструментов доступны дневные бары Binance USD-M и данные fundingRate в parquet, начиная с 2020-09). Она намеренно охватывает сразу три наименее представленные категории фабрики: long_short (14.9% против лимита 55% на long_only), кросс-секцию нескольких инструментов (19.3%) и инструменты 12 с ZERO предыдущими экспериментами. До написания текста я предварительно проверил механизм офлайн на фактических данных каталога и дополнительных данных: 319 еженедельных ребалансировок с 2020-06 по 2026-08; портфель формируется по финансированию за PRIOR неделю, а доходность переноса позиции плюс PnL цены измеряются за NEXT неделю; при обратном взвешивании по волатильности, целевой волатильности 20% и консервативной комиссии 0.05% от валового номинала в неделю чистый результат составляет 0.36% в неделю, годовой коэффициент Шарпа — 1.16, максимальная просадка — 19.8%, а прибыль получена в POSITIVE из всех 7 календарных лет (2020 +18.8, 2021 +13.7, 2022 +10.6, 2023 +18.4, 2024 +23.1, 2025 +13.5, 2026 +17.2). Два источника PnL чётко разделяются: один только перенос позиции приносит +0.186% валового результата в неделю, причём положительный результат был в 95.7% недель (почти детерминированный денежный поток), а ценовая составляющая добавляет +0.54% в неделю — компонент разворота переполненных позиций. Автокорреляция рангов финансирования от недели к неделе составляет 0.54, поэтому сигнал достаточно устойчив и оборот остаётся близким к 50% позиций за ребалансировку.
Итерация 4 исправляет ровно одно замечание семантического аудитора (несовпадение вселенной) и больше ничего не меняет: код сигнала, расчёта размера позиций, риска и атрибуции, прошедший слои 1-3, не затронут. (1) UNIVERSE RESTORED TO THE PRE-REGISTERED TWELVE. EOSUSDT.BINANCE снова включён в extra_instruments/extra_bar_types, поэтому торгуемая кросс-секция соответствует той, на которой рассчитывалась статистика гипотезы по 319 ребалансировкам. (2) THE DATA FACT IS HANDLED AS DATA, NOT BY AMPUTATING THE UNIVERSE.……Показать большеСвернуть
Итерация 4 исправляет ровно одно замечание семантического аудитора (несовпадение вселенной) и больше ничего не меняет: код сигнала, расчёта размера позиций, риска и атрибуции, прошедший слои 1-3, не затронут.
(1) UNIVERSE RESTORED TO THE PRE-REGISTERED TWELVE. EOSUSDT.BINANCE снова включён в extra_instruments/extra_bar_types, поэтому торгуемая кросс-секция соответствует той, на которой рассчитывалась статистика гипотезы по 319 ребалансировкам.
(2) THE DATA FACT IS HANDLED AS DATA, NOT BY AMPUTATING THE UNIVERSE. Проверено в этой итерации: каталог EOSUSDT.BINANCE-1-DAY-LAST-EXTERNAL заканчивается на 2025-05-22, /fapi/v1/klines?symbol=EOSUSDT заканчивается на 2025-05-21, а /fapi/v1/ticker/24hr возвращает {} — контракт перестал торговаться (переименование). Однако поток финансирования всё ещё публикует фиксированное значение +0.0001 при замороженной цене маркировки 0.7799; если ранжировать только по финансированию, возникла бы фантомная позиция. Новый механизм '_partial_history_legs' (а) освобождает эту ногу от барьера выравнивания между ногами базового шаблона — без этого исключения первый отсутствующий бар EOS заморозил бы книгу ENTIRE на оставшиеся ~15 месяцев, оставив неторгуемый портфель, — и (б) требует совпадения временных меток для этой ноги внутри _record_prices, чтобы устаревшая цена никогда не попала в кросс-секцию; нога исключается, её буферы очищаются, а позиция закрывается один раз по последней наблюдавшейся цене. Доступность определяется по бару PRICE, а не по метке времени финансирования. Это корректно с точки зрения информации на тот момент: EOS входит во вселенную на каждом баре, когда торгуется, и исключается сразу, как только перестаёт торговаться — без заглядывания вперёд и предварительного отбора по выжившим; так же это происходило бы при реализации в реальной торговле на 2025-05-22.
(3) NO SUBSTITUTE ADDED. Тикер-преемник AUSDT.BINANCE для EOS торгуется (дневные бары доступны с 2025-05-29) и мог бы заполнить двенадцатый слот в конце выборки, но он не входит в двенадцать заранее зарегистрированных имён, поэтому его намеренно NOT подставляют вместо этого инструмента; добавление создало бы новое отклонение от заданной вселенной.
Одно существенное замечание для руководителя исследований: утверждение гипотезы, что дневные бары доступны для всех двенадцати имён вплоть до 2026-08, фактически неверно в конце ряда EOS. Поэтому заранее зарегистрированные числа невозможно воспроизвести бар за баром за последние ~15 месяцев независимо от реализации кода; приведённый вариант — наиболее точная интерпретация.
Плечо 2.0 используется: _gross_notional ограничивает валовой множитель позиции для цели по волатильности значением min(target/vol, _max_gross=2.0, leverage), и номинал книги регулярно превышает капитал в 1x раза.
abandon_class=артефакт. Основным метрикам риска нельзя доверять и их нельзя передавать оптимизатору. VERIFIED SYMPTOM (механизм намеренно не утверждается): дневной ряд MTM по-прежнему показывает взаимно погашающиеся пары ±2.5% в те же шесть дат декабря -2024, отмеченных в итерациях 1-3; каждая даёт в нетто ~0.1% при заявленной годовой волатильности книги 20%, тогда как комиссия и рыночное воздействие одной ребалансировки составляют ~0.05% — значит, это не издержки. Sharpe 0.318, волатильность 23.7% и DD 17.4%……Показать большеСвернуть
abandon_class=артефакт. Основным метрикам риска нельзя доверять и их нельзя передавать оптимизатору. VERIFIED SYMPTOM (механизм намеренно не утверждается): дневной ряд MTM по-прежнему показывает взаимно погашающиеся пары ±2.5% в те же шесть дат декабря -2024, отмеченных в итерациях 1-3; каждая даёт в нетто ~0.1% при заявленной годовой волатильности книги 20%, тогда как комиссия и рыночное воздействие одной ребалансировки составляют ~0.05% — значит, это не издержки. Sharpe 0.318, волатильность 23.7% и DD 17.4% рассчитаны по этому ряду, а целевая функция оптимизатора IS использует этот Sharpe. Второе несоответствие указывает на ту же проблему: avg_trade_return_pct -0.084% нельзя согласовать с журналом сделок (среднее +0.256%, +$96/сделку). Развилка была заранее зафиксирована в итерации 2, и обе ветви заканчиваются здесь: признать артефактом — значит считать метрики непригодными; признать подлинной дневную чистую дельту ±2.5% — значит опровергнуть долларовую нейтральность. Независимо от этого, фактические сделки не подтверждают исходную предпосылку: кэрри реально и положительно каждый год, но компонент разворота переполненных позиций, которому приписывают +0.54%/неделю, оказался остаточной бетой альтрынка со знаком, меняющимся от года к году; результат обеспечили пять сделок (на 5 крупнейших пришлось 88% PnL; без топ--5 книга заработала +$7.5 тыс. за четыре года — меньше, чем один только доход от финансирования). Полученный Sharpe 0.318 против заранее зарегистрированного 1.16; 3 из 5 положительных лет против заявленных 7 из 7; стрессовый терциль -7.15%. Рекомендуется проверить на стороне движка учёт многокомпонентного MTM и avg_trade_return_pct в портфелях с несколькими инструментами: этот симптом проявился в трёх последовательных запусках, и исправить его в коде стратегии нельзя.
Реализация
Нейтральная к доллару книга лонг/шорт: кросс-секционная FUNDING-CARRY и разворот при перегруженности позиций по двенадцати заранее зарегистрированным бессрочным альткоин-контрактам Binance USD-M (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV) на барах 1-DAY. Каждые 7 календарных дней (расписание привязано к временной метке самого бара, а не к счётчику баров) инструменты ранжируются по среднему значению ставки финансирования за предыдущие 8 ч, рассчитанному на тот момент: LONG n_per_side……Показать большеСвернуть
Нейтральная к доллару книга лонг/шорт: кросс-секционная FUNDING-CARRY и разворот при перегруженности позиций по двенадцати заранее зарегистрированным бессрочным альткоин-контрактам Binance USD-M (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV) на барах 1-DAY. Каждые 7 календарных дней (расписание привязано к временной метке самого бара, а не к счётчику баров) инструменты ранжируются по среднему значению ставки финансирования за предыдущие 8 ч, рассчитанному на тот момент: LONG n_per_side инструментов с самой низкой ставкой (переполненные короткие позиции), SHORT n_per_side инструментов с самой высокой ставкой (переполненные длинные позиции), поэтому обе стороны получают финансирование. Внутри стороны веса обратно пропорциональны реализованной волатильности за период -30d и ограничены 40% стороны; долларовый номинал обеих сторон одинаков (чистая дельта около 0). Валовая позиция масштабируется под целевую годовую волатильность 20% с поправкой на отбор, ограничивается 2x капитала и сокращается в течение недели, если реализованная волатильность самой книги превышает цель. Убыточная позиция каждой ноги сокращается при потере 25%; при остановке выдаётся атрибуция результата по финансированию и цене для каждого года и стороны. EOSUSDT учитывается как нога с неполной историей: она входит в кросс-секцию на каждом баре, для которого по контракту есть данные (2020-01..2025-05-22), и исключается с закрытием позиции начиная с бара, на котором контракт перестал торговаться.
Результаты верификации
Либо включите дисконтирующий коэффициент в заявленный диапазон (ищите vol_target_annual в эффективном диапазоне), либо укажите, что vol_target_annual — это номинальная целевая величина до применения дисконта, чтобы выбранное оптимизатором значение можно было интерпретировать в контексте предварительной регистрации.
_vol_haircut = 1.75 делит предварительно зарегистрированную цель по волатильности: эффективная цель составляет 20%/1.75 = 11.4% в годовом выражении, а не 20%, как указано в гипотезе. Обоснование (активы, отобранные по экстремальным значениям фондирования, характеризуются повышенной ожидаемой волатильностью) убедительно, а отклонение ограничено риском CONSERVATIVE; в песочнице это не имеет значения, поскольку вместо этого срабатывает валовой лимит 2x, — однако настраиваемый параметр vol_target_annual для поиска поэтому не означает того, что подразумевают его название и гипотеза, и оптимизатор будет искать в эффективном диапазоне 0.057-0.20.
Записывай и проверяй, что число позиций EOS становится нулевым на баре после снятия инструмента с торгов (журнал BOOK уже выводит npos по каждой стороне), и проверь в полном отчёте бэктеста, что ни одна позиция EOS не сохраняется после 2025-05-22. Если сохраняется, закрой позицию на её последнем напечатанном баре LAST (выход на один бар раньше — корректная обработка делистинга).
_retire_leg закрывает позицию EOS на баре FIRST, где EOS перестаёт публиковать данные (2025-05-22 и далее — подтверждено каталогом: EOSUSDT.BINANCE-1-DAY заканчивается на 2025-05-22, тогда как все остальные ноги 11 продолжаются до 2026-09). Выход отправляется рыночным ордером по инструменту, для которого больше нет данных баров, поэтому движок симуляции может исполнить его только по устаревшему последнему бару; если ордер не исполнится, нога останется без выхода до on_stop close_all_positions, а её итоговый PnL будет рассчитан по цене, устаревшей примерно на 15 месяцев.
Переместите вызов _blocked.clear() к AFTER, чтобы эффект _trim_losing_legs учитывался для этого бара (или выполняйте сокращение после ребалансировки), тогда позицию, закрытую сегодня по стоп-лоссу, нельзя будет открыть повторно до следующей ребалансировки.
Когда _trim_losing_legs выполняется BEFORE, ветка ребалансировки сбрасывает self._blocked. Поэтому нога, закрытая стопом на баре ребалансировки, разблокируется в том же баре и может сразу снова открыться с целевым весом — стоп по ноге 25% ничего не делает на барах 1-в--7. По ожидаемому результату это косметическое отличие (гипотеза не задаёт стоп как условие выхода), но из-за него фактическое поведение стопа зависит от даты.
Песочница работает корректно, но результаты существенно ниже предварительно зарегистрированных: коэффициент Шарпа 0.444 (CI -0.44..1.30, PSR 0.81) и CAGR 17.0% при реализованной волатильности 24.1% за 1,823 дневных баров, тогда как офлайн-гипотеза предполагала коэффициент Шарпа 1.16 / 19.8% DD / положительный результат каждый год. При анализе полной истории аналитику сначала следует проверить два пункта: (1) end_unrealized_pct = -26.05% — итоговый показатель +58.5% включает крупный открытый убыток MTM на конец……Показать большеСвернуть
Песочница работает корректно, но результаты существенно ниже предварительно зарегистрированных: коэффициент Шарпа 0.444 (CI -0.44..1.30, PSR 0.81) и CAGR 17.0% при реализованной волатильности 24.1% за 1,823 дневных баров, тогда как офлайн-гипотеза предполагала коэффициент Шарпа 1.16 / 19.8% DD / положительный результат каждый год. При анализе полной истории аналитику сначала следует проверить два пункта: (1) end_unrealized_pct = -26.05% — итоговый показатель +58.5% включает крупный открытый убыток MTM на конец запуска, поэтому прежде чем доверять сумме, следует изучить разложение на реализованный и нереализованный результат (а также журнал on_stop ATTRIBUTION, который разделяет денежный поток от фандинга и ценовой PnL по годам и сторонам); гипотеза утверждает, что перенос составляет +0.186%/неделю и почти детерминирован, а ценовая нога/нога скученности — +0.54%/неделю, поэтому если вся картина объясняется ценовой ногой (или она отрицательна), исходная предпосылка отличается от предварительно зарегистрированной. (2) Целевой уровень реализованной волатильности не ограничивает размер позиций: валовая позиция задаётся минимумом из (цель/vol_haircut/волатильность, _max_gross=2.0, плечо=2.0), и преобладает лимит 2x — реализованная годовая волатильность составила 24.1% при номинальной цели 20%, то есть «валовая позиция с таргетированием волатильности» на практике означает «валовую позицию 2x», а параметр vol_target_annual может быть почти неактивен на значительной части диапазона [0.10, 0.35] (это стоит подтвердить на этапе анализа чувствительности, прежде чем считать его полноценным параметром). Экономика не вызывает опасений: avg_trade_return_pct 0.446% против 0.10% USD-M за полный цикл сделки, комиссии составляют 1.53% от валового результата, рыночное воздействие — 4.75%, ёмкость — $44 млн, закрытых сделок — 622; этого достаточно для уверенной оценки.
Обзор бэктеста
Шарп
0,32
Общая доходность
34,86%
Максимальная просадка
17,36%
Всего сделок
645
Доля прибыльных
50,1%
Профит-фактор
1,16
Перенос на основе фандинга реален и учтён: +$28,106 из $61,996 реализованного PnL по закрытым сделкам (45%); результат положительный в EVERY году (2021 +2.4 тыс., 2022 +8.7 тыс., 2023 +10.7 тыс., 2024 +6.2 тыс.) и по 406/645 сделкам — единственное предварительно зарегистрированное утверждение, выдержавшее пять итераций.
Выборка и механика соответствуют гипотезе: 645 закрытых сделок за 1,430 торговых дней, 12 заявленных торговых ног, использованы обе стороны (288 лонг / 357 шорт), еженедельный ритм (345 сделок с интервалом ровно 7 дней), долларово-нейтральная ротация. Это не замаскированная копия стратегии импульса.
Итерация 5 исправила вывод семантического аудитора: объявлены все двенадцать предварительно зарегистрированных инструментов, а для EOS предусмотрена частичная история, поэтому этот инструмент исключается, а не оценивается по устаревшим ценам.
BLOCKING, THIRD REQUEST UNANSWERED: взаимно погашающиеся дневные пары MTM без изменений на тех же датах, которые указаны в итерациях 1-3 — 12-10/11 (-2.42/+2.65), 13/14 (-2.87/+2.59), 17/18 (-2.50/+2.53), 21/22 (-2.31/+2.54), 24/25 (-2.28/+2.24), 28/29 (-2.66/+2.37); каждая даёт в нетто около 0.1%. Симптом подтверждён; механизм NOT не утверждался.
Заявленный avg_trade_return_pct -0.084% невозможно согласовать с подробным файлом (среднее pnl_pct +0.256%, avg_trade_pnl_usd +$96, что подтверждают средние значения прибыльных и убыточных сделок); знак показателя менялся в трёх запусках (+0.565% → +0.189% → -0.084%).
Гипотеза о развороте скученности опровергнута: ценовой PnL за год по сторонам (2021 L +27.7 тыс./S -17.8 тыс., 2022 L -42.0 тыс./S +37.1 тыс., 2023 L +16.9 тыс./S -15.0 тыс., 2024 L +31.5 тыс./S -2.5 тыс.) отражает остаточную бету рынка альткоинов, а не премию за двусторонний разворот.
Пять сделок ARE определяют результат: на верхние 5 из 645 приходится 88% PnL, на верхние 20 — 225%; без верхних -5 книга приносит +$7.5 тыс. за четыре года, что меньше одного лишь фандинга, поэтому ценовая нога составляет около -$20.6 тыс.
Стрессовый терциль волатильности -7.15% (Sharpe -0.219) против спокойного +32.2% — обратный результат для стратегии, рассчитывающей на выход из переполненных позиций.
Предварительно зарегистрированный коэффициент Шарпа 1.16 / 7 положительных лет → получено 0.318 (CI -0.54..1.20), PF 1.158, положительный результат в 3 из 5 лет.
Период расчёта по-прежнему заканчивается 2025-01-11; равное бета-взвешивание / n_per_side 4-5 так и не реализованы (запросы #2 и #3 из итераций 2-3); end_unrealized_pct -27.1.
Анализ
Семантический аудитор обнаружил несоответствие кода гипотезе — код не реализует гипотезу NOT. Перепишите стратегию так, чтобы она реализовывала гипотезу EXACTLY (инструмент, таймфрейм, направление, заявленное преимущество/механизм, размер позиции). Конкретные проблемы: несоответствие вселенной предварительно зарегистрированной гипотезе: гипотеза задаёт фиксированную вселенную из 12 инструментов (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV) и утверждает, что её предварительно проверенные……Показать большеСвернуть
Семантический аудитор обнаружил несоответствие кода гипотезе — код не реализует гипотезу NOT. Перепишите стратегию так, чтобы она реализовывала гипотезу EXACTLY (инструмент, таймфрейм, направление, заявленное преимущество/механизм, размер позиции). Конкретные проблемы: несоответствие вселенной предварительно зарегистрированной гипотезе: гипотеза задаёт фиксированную вселенную из 12 инструментов (TRX, VET, THETA, ALGO, EOS, NEO, IOTA, QTUM, CHZ, ENJ, SAND, CRV) и утверждает, что её предварительно проверенные статистики (319 еженедельных ребалансировок с 2020-06 по 2026-08, коэффициент Шарпа 1.16, 7 положительных календарных лет) рассчитаны для этого поперечного сечения из 12 инструментов. Однако config.instrument_id + extra_instruments содержат только 11 инструментов — EOSUSDT.BINANCE отсутствует (проверено: каталог EOSUSDT.BINANCE-1-DAY-LAST-EXTERNAL содержит единственный файл parquet с данными от 2020-01-09 до 2025-05-22, поэтому причина исключения указана верно, а собственное утверждение гипотезы о наличии дневных баров для всех 12 инструментов неверно для END в этой серии). Отклонение раскрыто в docstring/описании, и Layer 1.5 не считает его ошибкой (он проверяет только основной инструмент), но торгуемое поперечное сечение не совпадает с тем, на котором рассчитаны предварительно зарегистрированные показатели успеха, поэтому оценка preregistered_prediction в аналитической записке сравнивает результаты со вселенной, которую код воспроизвести не может.
Сводка по итогам
Сначала заранее зафиксируй опровержимую декомпозицию и проверку целостности метрик: здесь составляющая кэрри была реальной, но премия за разворот переполненных позиций оказалась остаточной бетой альтрынка, сосредоточенной в пяти сделках, а неустранённые несоответствия многокомпонентного MTM/доходности на сделку завершили запуск прежде, чем работа над параметрами могла повлиять на результат.
Проверка бэктеста завершилась решением отказаться от стратегии с abandon_class=артефакт: дневной ряд MTM по-прежнему показывал взаимно погашающиеся пары ±2.5% в те же даты декабря -2024, отмеченные в трёх предыдущих итерациях, а заявленное значение avg_trade_return_pct (-0.084%) нельзя было согласовать с журналом сделок (+0.256% в среднем, +$96/сделку). Поэтому значения Sharpe/волатильности/просадки признали ненадёжными для передачи оптимизатору. До оптимизации, проверки аналитиком и оценки рисков дело не дошло.
Долларово-нейтральный кросс-секционный портфель кэрри по 12 никогда не торговавшимся альткоин-перпетуалам Binance USD-M: каждую неделю он открывал лонг по инструментам с самыми низкими ставками финансирования (переполненные шортами) и шорт по инструментам с самыми высокими ставками (переполненные лонгами), взвешивал позиции обратно пропорционально волатильности и масштабировал их до целевой годовой волатильности 20%, чтобы получать денежный поток от финансирования и ценовую премию за разворот переполненных позиций.
Единственный бэктест на 1,823 дневных барах (2020-01-16–2025-01-11) дал общий результат 34.86% (CAGR 13.12%), коэффициент Sharpe 0.318 (CI -0.54–1.20), фактор прибыли 1.158, максимальную просадку 17.36% и 645 закрытых сделок при заявленном avg_trade_return_pct в размере -0.084% — намного ниже заранее зарегистрированного Sharpe 1.16 и 7 положительных лет из -7. Проверяющий установил, что кэрри от финансирования действительно было положительным каждый год (+$28,106, 45% реализованного PnL), но на 5 крупнейших сделок пришлось 88% PnL, а результат в стрессовом терциле волатильности составил -7.15% (Sharpe -0.219).
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.