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

Стратегии

Ротация по межрыночному импульсу с фильтром режима дисперсии, только длинные позиции (BINANCE USD-M, 8 крупнейших криптовалют, недельное удержание top-3 по относительной силе — но ONLY концентрироваться, когда межрыночная дисперсия доходности DISPERSION высокая (лидеры действительно отделяются); при сжатии дисперсии переходить в деньги, когда ротация лишь увеличила бы издержки на комиссии ради беты; сигнал режима DISPERSION, не используемый действующей корзиной, 2 параметров

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

DispersionGatedMomentumRotationLong

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

DispersionGatedMomentumRotationLong был вариантом-побратимом версии с фильтром переполненности. К используемой ротации по импульсу добавили второй сигнал режима — межрыночный разброс доходностей. Предполагалось концентрироваться в top-3, только когда лидеры действительно отделяются от остальных, и уходить в деньги, когда этого не происходит. В бэктесте главный показатель составил +766% (один режим; его определили 2021 — +573% и 69.5% нереализованной прибыли), при хорошем факторе прибыли 1.58; однако коэффициент……Показать большеСвернуть

DispersionGatedMomentumRotationLong был вариантом-побратимом версии с фильтром переполненности. К используемой ротации по импульсу добавили второй сигнал режима — межрыночный разброс доходностей. Предполагалось концентрироваться в top-3, только когда лидеры действительно отделяются от остальных, и уходить в деньги, когда этого не происходит. В бэктесте главный показатель составил +766% (один режим; его определили 2021 — +573% и 69.5% нереализованной прибыли), при хорошем факторе прибыли 1.58; однако коэффициент Шарпа был лишь 0.748, а максимальная просадка достигла 67.64%. Критический изъян структурный: при синхронном медвежьем рынке дисперсия растёт, когда активы расходятся вниз, поэтому фильтр оставался ON прямо перед обвалом 2022, и стратегия потеряла -55.5%, показав отрицательную активную доходность (IR -0.24) относительно эталона с равными весами. Аналитик отказался от стратегии при проверке бэктеста: это тот же провал, что у версии-побратима с фильтром переполненности, — фильтр режима на той же длинной структуре с постоянными вложениями, которая всё равно показала просадку около 65% и уступила корзине. Оптимизация могла бы лишь подогнать модель под бычий рынок 2021.

Гипотеза

REAL, реализуемая в коде стратегия (заметка: мои прежние указания воздержаться были жёстко зашиты в код и оказались бесполезны — это готовая к торговле спецификация). Она повторно использует сильнейшую действующую стратегию, не утратившую эффективность и не связанную с опционами, — ротацию по относительной силе и межрыночному импульсу (коэффициент Шарпа 2.6) — и добавляет второй из двух неиспользованных сигналов L24, разрешённых LIVE (вариант с фильтром переполненности, над которым я сейчас работаю, использовал……Показать большеСвернуть

REAL, реализуемая в коде стратегия (заметка: мои прежние указания воздержаться были жёстко зашиты в код и оказались бесполезны — это готовая к торговле спецификация). Она повторно использует сильнейшую действующую стратегию, не утратившую эффективность и не связанную с опционами, — ротацию по относительной силе и межрыночному импульсу (коэффициент Шарпа 2.6) — и добавляет второй из двух неиспользованных сигналов L24, разрешённых LIVE (вариант с фильтром переполненности, над которым я сейчас работаю, использовал ставки финансирования; здесь применяется DISPERSION). Новый сигнал REGIME GATE определяет, WHEN ли запускать ротацию по импульсу. Идея: межрыночный импульс даёт преимущество только когда крупнейшие криптовалюты DIFFERENTIATING, то есть межрыночная дисперсия доходности высока, а лидеры top-3 действительно отделяются от остальных. Когда дисперсия COMPRESSED (все крупные активы движутся вместе под влиянием общего фактора беты), лидеры top-3 почти не отличаются от остальных, и еженедельная ротация лишь тратит больше на комиссии, удерживая фактически весь рынок, — добавляет издержки оборота без преимущества относительной силы. Поэтому запускай проверенную ротацию по относительной силе среди top-3 ONLY, когда межрыночная дисперсия выше своей скользящей медианы; при сжатии дисперсии отступай в деньги (или удерживай равновзвешенную позицию без изменений), избегая лишних комиссий и риска концентрации в режиме, где импульс ничего не даёт. Это NOT изменение весов относительной силы (L24 предостережение): добавляется отдельный режим на основе дисперсии ON/OFF, которого нет в используемой корзине; NOT ставок финансирования (это охватывает мой вариант с фильтром переполненности); NOT потока ордеров (не окупается из-за комиссий), NOT опционов, NOT реверсии на одном сигнале. Источник доходности — премия за импульс LIVE; дисперсия лишь определяет, когда его использовать. Только длинные позиции, диверсифицированный top-3, недельная частота, USD-M. 2 ключевых параметра (период расчёта импульса и период медианы дисперсии).

Точно реализует гипотезу: повторно использует внедрённую ротацию на основе относительной силы и импульса между инструментами (победитель с сохраняющимся Sharpe-2.6) и добавляет ровно один отдельный новый входной параметр — доходность между инструментами DISPERSION — как REGIME ON/OFF, который решает, WHEN ли применять ротацию (это не перевзвешивание относительной силы, поэтому не дубликат L24; не фандинг, не поток ордеров, не опционы и не возврат к среднему). Механизм в calculate_signal/_rebalance: на каждом……Показать большеСвернуть

Точно реализует гипотезу: повторно использует внедрённую ротацию на основе относительной силы и импульса между инструментами (победитель с сохраняющимся Sharpe-2.6) и добавляет ровно один отдельный новый входной параметр — доходность между инструментами DISPERSION — как REGIME ON/OFF, который решает, WHEN ли применять ротацию (это не перевзвешивание относительной силы, поэтому не дубликат L24; не фандинг, не поток ордеров, не опционы и не возврат к среднему). Механизм в calculate_signal/_rebalance: на каждом синхронизированном баре заново вычисляет импульс каждого инструмента и стандартное отклонение импульса по поперечному сечению (дисперсию), поддерживает скользящую медиану дисперсии и при еженедельной ребалансировке запускает ротацию top-3, только если текущая дисперсия >= её скользящей медианы; при сжатии закрывает позиции и переходит в кэш, избегая лишних комиссий из-за частой торговли и риска концентрации при удержании фактически всего рынка. Возвращаемый непрерывный сигнал равен (дисперсия - скользящая медиана) и меняется от бара к бару. Стратегия опирается только на цены — без дополнительных данных/тиковых данных — поэтому полностью избегает проблем с дополнительными данными между инструментами и тайм-аутами тиков и по своей конструкции безопасна при тайм-ауте (объём работы на бар ограничен: 8 чтений импульса O(1) + одно вычисление стандартного отклонения; медиана рассчитывается только по окну размером <= 60 элементов). Вся торговля по 8 инструментам (включая BTC) выполняется в процедуре ребалансировки через _submit_entry_instrument/close_position; стандартный путь открытия позиции нейтрализован (should_enter None, should_exit False, position_size 0), чтобы базовая стратегия не торговала BTC дважды. На периоде разогрева фильтр по умолчанию установлен в ON, поэтому торговля начинается, как только появляется история импульса, после чего её заменяет медианный ориентир. VENUE: хотя отсутствие коротких позиций и плеча формально указывает на спот, намеренно выбраны USD-M — они соответствуют внедрённой выигрышной стратегии на импульсе, а комиссии тейкера USD-M (0.05%) HALF, чем у спота (0.10%), что существенно снижает издержки оборота, которые этот фильтр дисперсии специально призван минимизировать. Риск ограничен (только длинные позиции, <= 3 инструментов x 0.30 = 0.90 от капитала брутто, плечо 1.0, без разгона убытков за счёт сложного процента). Все 8 крупнейших инструментов — активно торгуемые бессрочные контракты USD-M с глубокой историей, поэтому данные есть по каждому инструменту (нет data_unavailable).

max_drawdown 67.64% (CI высокий 76%) — жёсткое основание для отказа (>50% минимум, L19), а фильтр режима дисперсии, единственное обоснование которого состояло в снижении риска концентрации и издержек от частых сделок и в выходе из рынка, когда импульс ничего не даёт, явно не защитил от хвостового риска: портфель всё равно потерял -55.5% за 2022. Причина структурная: фильтр включается ON, когда межрыночная дисперсия высока, но при синхронном падении (2022) дисперсия HIGH, поскольку активы резко дешевеют, — поэтому……Показать большеСвернуть

max_drawdown 67.64% (CI высокий 76%) — жёсткое основание для отказа (>50% минимум, L19), а фильтр режима дисперсии, единственное обоснование которого состояло в снижении риска концентрации и издержек от частых сделок и в выходе из рынка, когда импульс ничего не даёт, явно не защитил от хвостового риска: портфель всё равно потерял -55.5% за 2022. Причина структурная: фильтр включается ON, когда межрыночная дисперсия высока, но при синхронном падении (2022) дисперсия HIGH, поскольку активы резко дешевеют, — поэтому стратегия оставалась полностью вложенной в лонг-крипто-бету (per_name_frac 0.30 × топ-3 ≈ 90% валовой экспозиции) прямо во время обвала. +766% total_return относится к одному режиму (2021 +573% определяет весь результат, а end_unrealized_pct 69.5 означает, что часть прибыли не реализована MTM), и фильтр даёт отрицательную активную доходность относительно простой равновзвешенной корзины (information_ratio -0.24). Это та же ошибка, что и у рассмотренной непосредственно перед этим родственной стратегии импульса с фильтром перегруженности: обе добавляют фильтр режима к применяемой корзине импульса, обе всё равно получают просадку около 65% и обе уступают эталонной корзине. Уже применяемая победившая стратегия межрыночного импульса захватывает эту премию; добавление фильтра дисперсии ON/OFF воспроизводит её бету и губительную просадку на медвежьем рынке, не обеспечивая обещанной защиты. Оптимизация momentum_lookback/dispersion_median_lookback не создаст защиту от просадки, которой лишена постоянно инвестированная лонг-структура, — она лишь подгонит стратегию под бычий рынок 2021. Оптимизация не стоит 2 часов.

Реализация

Лонговая еженедельная ротация по межрыночному импульсу среди 8 крупных и ликвидных BINANCE USD-M мажоров (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP, бары 1-DAY), фильтруемая по режиму межрыночной DISPERSION. Раз в неделю стратегия ранжирует активы по относительной силе за прошлый период (доходность за momentum_lookback дней) и измеряет межрыночную дисперсию (стандартное отклонение значений относительной силы отдельных активов). Когда текущая дисперсия не ниже скользящей медианы (dispersion_median_lookback), лидеры действительно опережают остальные, и стратегия держит равновзвешенную корзину из топ-3 (только с положительным импульсом). Когда дисперсия сжата (мажоры движутся вместе за счёт общей беты), ротация лишь увеличивала бы комиссии из-за сделок ради беты, поэтому стратегия выходит в кэш: CASH. Дисперсия служит исключительно фильтром выбора момента ON/OFF; источник доходности — премия за импульс. Без дополнительных данных и тиков; сложность на бар — примерно O(1). Основные параметры 2: momentum_lookback, dispersion_median_lookback.

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

Аналитику: проверь, достаточно ли велико значение total_trades за весь период, чтобы отличить преимущество от шума.

Предупреждение аналитику о точности измерений и числе сделок. В песочнице получено лишь 12 сделок с открытием и закрытием за 362 дней. При еженедельной ротации между 8 активами, с переходом в деньги примерно в половине случаев (дисперсия ниже медианы), сделок с открытием и закрытием получается мало. Для многолетнего бэктеста это примерно 60-90 сделок — близко к порогу измеримости около 100 сделок. Это не дефект кода (повторно используется класс ротации по импульсу DEPLOYED), но перед оптимизацией аналитику следует убедиться, что число сделок за весь период достаточно для надёжной выборки.

Если базовый шаблон не гарантирует синхронизацию, запускай расчёт после того, как все ноги получат одинаковую временную метку ts_event.

Код предполагает, что calculate_signal (основной бар BTC) запускается только после буферизации всех 8 ног того же таймфрейма (барьер синхронизации) и в этот момент фиксирует последнее закрытие каждой ноги. Если базовый шаблон строго не гарантирует совпадение временных меток, _latest_bar(iid) для непервичной ноги может отставать на один бар, создавая постоянное запаздывание на 1 баров в импульсе/дисперсии. Это не поменяло бы полярность и не нарушило бы торговлю, но могло бы немного сдвинуть ранги.

Действия не нужны; рост ограничен.

Статический анализатор отметил, что self._disp_hist потенциально неограничен, однако код DOES обрезает его до dispersion_median_lookback на каждом баре — ложное срабатывание. Зафиксировано, чтобы это не считалось нерешённым дефектом.

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

Шарп
0,75
Общая доходность
765,57%
Максимальная просадка
67,64%
Всего сделок
143
Доля прибыльных
44,1%
Профит-фактор
1,58

Фильтр режима дисперсии — отдельный сигнал ON/OFF, одобренный L24 и не используемый действующей корзиной

profit_factor 1.58 и avg_trade_return_pct 10.4% покрывают комиссии; стратегия основана только на ценах и безопасна при тайм-ауте

max_drawdown 67.64% (CI максимум 76%) — далеко за жёстким порогом отказа 50%; фильтр дисперсии NOT ограничил хвост

Один режим: 2021 +573% определяет главный показатель +766%; 2022 -55.5% — длинная бета с постоянными вложениями при включённом фильтре приводит к полной просадке на медвежьем рынке

Фильтр перехода в деньги не срабатывает при синхронном медвежьем рынке (дисперсия остаётся высокой, когда активы расходятся вниз), поэтому он не защищает от хвостовых потерь

information_ratio -0.24 относительно эталонной корзины с равными весами — отрицательная активная доходность; end_unrealized_pct 69.5 (часть главного показателя не реализована)

Тот же структурный провал, что у версии импульса с фильтром переполненности: фильтр режима для используемой корзины, просадка всё ещё около 65% DD, результат всё ещё хуже эталона

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

Фильтр дисперсии «вкл./выкл.» не защищает от обвала: при синхронных медвежьих рынках дисперсия высока, поскольку активы расходятся вниз. Поэтому корзина только с длинными позициями, постоянно находящаяся в рынке, полностью подвержена бете; выбор момента для запуска импульса не заменяет структурное хеджирование или выход, защищающие от направленной просадки.

отброшена

От стратегии отказались при проверке бэктеста (вердикт: отказаться), поскольку просадка 67.64% превысила порог безусловного отказа 50%, а фильтр дисперсии не защитил от хвостового риска. При синхронном медвежьем рынке 2022 дисперсия оставалась высокой, когда активы расходились вниз, поэтому фильтр оставался ON, и портфель понёс убыток -55.5% на длинной позиции с криптовалютной бетой, показав отрицательную активную доходность (IR -0.24) относительно простой корзины.

Стратегия повторно использовала действующую ротацию по относительной силе и межрыночному импульсу для 8 USD-M крупнейших криптовалют (еженедельный равновзвешенный top-3) и добавила фильтр режима дисперсии: ротация работает только при межрыночной дисперсии доходности выше скользящей медианы, а при сжатии дисперсии стратегия отступает в деньги. Цель — избежать лишних комиссий и риска концентрации в режимах, когда импульс ничего не добавляет.

За 2,397 дней стратегия совершила 143 сделок; общий результат составил +766%, фактор прибыли — 1.58, а avg_trade_return_pct 10.4%. Но коэффициент Шарпа был лишь 0.748, доля прибыльных сделок — 44%, максимальная просадка — 67.64% (максимум CI 76%), информационное отношение к эталонной корзине с равными весами — -0.24, а end_unrealized_pct составил 69.5%.

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