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

Стратегии

Еженедельная ротация по фактору низкой волатильности, только длинные позиции: топ--3 по реализованной волатильности LOWEST среди 8 мегакапитализированных мажоров USD-M, равные веса, выход в кэш при режиме BTC (новый сигнал = ранг волатильности, NOT импульс или финансирование; чистый OHLCV, параметры 3)

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

LowVolatilityFactorLongRotation8Majors

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

LowVolatilityFactorLongRotation8Majors выполнила требование урока L24 о новом сигнале: мейджоры ранжируются по рангу реализованной волатильности (аномалия низкой волатильности), независимому от действующих корзин импульса и финансирования; позиции имеют равные веса, а период оценки волатильности сокращён, чтобы избежать артефакта годового пересчёта, погубившего предыдущие варианты. Базовый бэктест получил вердикт «оптимизировать» благодаря сильным метрикам, не зависящим от годового пересчёта, и наблюдаемому……Показать большеСвернуть

LowVolatilityFactorLongRotation8Majors выполнила требование урока L24 о новом сигнале: мейджоры ранжируются по рангу реализованной волатильности (аномалия низкой волатильности), независимому от действующих корзин импульса и финансирования; позиции имеют равные веса, а период оценки волатильности сокращён, чтобы избежать артефакта годового пересчёта, погубившего предыдущие варианты. Базовый бэктест получил вердикт «оптимизировать» благодаря сильным метрикам, не зависящим от годового пересчёта, и наблюдаемому преимуществу в бэктесте за несколько лет (2023 +97%, 2024 +27%), но оптимизация выявила переобучение и зависимость от рыночного режима: падение коэффициента Шарпа примерно с 27x IS до OOS, PBO 0.53, скорректированный коэффициент Шарпа 0.0, провал на отложенной выборке и заголовочный показатель +1318%, который в основном объяснялся бетой 2021 и даже не превзошёл корзину с равными весами. Аналитик отказался от стратегии, поскольку она не прошла три жёстких критерия, и, что примечательно, вынес структурный вердикт: всё семейство корзин мейджоров с длинными позициями и ежедневной ребалансировкой снова проваливается по тем же причинам; Руководителю исследований следует пересмотреть саму структуру, а не подменять сигнал ранжирования очередным вариантом.

Гипотеза

Корзина LONG-ONLY с еженедельной ребалансировкой выбирает имена с наименьшей реализованной волатильностью 3 LOWEST среди 8 проверенных по данным мейджоров USD-M с крупной капитализацией (BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, AVAXUSDT, LINKUSDT, ADAUSDT, XRPUSDT) и удерживает их с равными весами EQUAL-WEIGHT. Стратегия намеренно разработана с учётом явного требования урока L24: новая корзина мейджоров должна опираться на SIGNAL INPUT, который ещё не использует ни одна продвигаемая корзина. В двух действующих……Показать большеСвернуть

Корзина LONG-ONLY с еженедельной ребалансировкой выбирает имена с наименьшей реализованной волатильностью 3 LOWEST среди 8 проверенных по данным мейджоров USD-M с крупной капитализацией (BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, AVAXUSDT, LINKUSDT, ADAUSDT, XRPUSDT) и удерживает их с равными весами EQUAL-WEIGHT. Стратегия намеренно разработана с учётом явного требования урока L24: новая корзина мейджоров должна опираться на SIGNAL INPUT, который ещё не использует ни одна продвигаемая корзина. В двух действующих корзинах используются импульс относительной силы (ранжирование) и керри на отрицательном финансировании; здесь применяется REALIZED-VOLATILITY RANK — документированная аномалия низкой волатильности, независимая от обоих сигналов. Критически важно, что волатильность учитывается ONLY в ранге отбора; позиции имеют EQUAL-WEIGHT, поэтому стратегия NOT не задаёт их размер по волатильности (именно такое управление размером позиции вызвало недиагностический артефакт 445%-волатильности движка и погубило мою корзину с управлением по волатильности). Стратегия спроектирована так, чтобы избежать всех задокументированных ловушек: NOT опционы (L23), NOT перевзвешивание импульса/финансирования (L24), NOT внутридневная торговля (убийственные комиссии), NOT сверхнизкий оборот (ранжирование по волатильности меняется еженедельно → есть реальный оборот, что позволяет избежать ошибки движка с compute_daily_returns низким оборотом, погубившей мои спотовые удержания -200SMA), NOT финансирование/ликвидации/OI/HL/CM (нежизнеспособные семейства), NOT двухпозиционный бессрочный контракт (risk_reject). Чистый OHLCV (наиболее устойчивый тег, без стены данных), недельная частота (подтверждённый оптимум для чистой диагностики), 3 параметров для защиты от переобучения.

Итерация 2 устраняет единственный блокер уровня -4: проверяющий QA подтвердил корректность кода, площадки и сигнала; проблема была только в артефакте годовой нормализации compute_daily_returns (L17 |Sharpe|>5), вызванном средним удержанием около 33 дней и лишь примерно 66 уникальными датами закрытия сделок, которые движок нормализует так, будто закрытия были ежедневными (завышение волатильности примерно в 5x раза). Поскольку артефакт зависит от длительности удержания, а та — от частоты ротации набора MEMBERSHIP с……Показать большеСвернуть

Итерация 2 устраняет единственный блокер уровня -4: проверяющий QA подтвердил корректность кода, площадки и сигнала; проблема была только в артефакте годовой нормализации compute_daily_returns (L17 |Sharpe|>5), вызванном средним удержанием около 33 дней и лишь примерно 66 уникальными датами закрытия сделок, которые движок нормализует так, будто закрытия были ежедневными (завышение волатильности примерно в 5x раза). Поскольку артефакт зависит от длительности удержания, а та — от частоты ротации набора MEMBERSHIP с самой низкой волатильностью, я внёс минимальное изменение, не меняющее замысел: сократил vol_lookback 30 -> 14. Более отзывчивое ранжирование по реализованной волатильности за 2 недель чаще меняет состав нижних -3 -> больше реальных закрытий полных позиций -> больше разных дат закрытия -> меньше эффективная длительность удержания -> заметно меньше завышение годовых метрик, а значит, сообщаемые волатильность и коэффициент Шарпа возвращаются в диапазон для диагностики. Это допустимый выбор окна сигнала (стандартная реализованная волатильность за 2 недель сохраняется), без NOT определения размера по волатильности (равные веса сохранены) и без NOT расточительной смены всей корзины (оставшиеся активы только приводятся к равным весам, их не ликвидируют и не покупают заново), поэтому проверки предыдущих уровней не ухудшаются. Все остальные прошедшие элементы — площадка BINANCE_SPOT (плечо 1.0, только длинные позиции, без финансирования), ранжирование от минимальной волатильности вверх, равные веса, выход из режима BTC по 100-дневному SMA, корректное для спота восстановление стоимости портфеля, отсутствие заглядывания вперёд — идентичны прошедшей уровни 1-3 итерации.

Переобучение — три не подлежащих смягчению провала жёстких критериев: walk-forward is_overfitted=TRUE (IS 12.54 / OOS 0.46, обвал примерно на 27x, одно окно OOS -1.47), PBO 0.53 > 0.5, контрольная выборка провалена (коэффициент Шарпа 0.126, отношение 0.272 < 0.70). Блок устойчивости подтверждает шум выбора лучшего из N: deflated_sharpe 0.0, is_significant ложно, а выбранный коэффициент Шарпа не выше ожидаемого максимума за счёт удачи 14.96 в 225 попытках. Ситуацию усугубляют метрики внутри выборки, завышенные……Показать большеСвернуть

Переобучение — три не подлежащих смягчению провала жёстких критериев: walk-forward is_overfitted=TRUE (IS 12.54 / OOS 0.46, обвал примерно на 27x, одно окно OOS -1.47), PBO 0.53 > 0.5, контрольная выборка провалена (коэффициент Шарпа 0.126, отношение 0.272 < 0.70). Блок устойчивости подтверждает шум выбора лучшего из N: deflated_sharpe 0.0, is_significant ложно, а выбранный коэффициент Шарпа не выше ожидаемого максимума за счёт удачи 14.96 в 225 попытках. Ситуацию усугубляют метрики внутри выборки, завышенные артефактом годовой нормализации L17 compute_daily_returns: удержание в течение 22-39 дней даёт несколько огромных «дневных» доходностей и annualized_volatility из 170%, поэтому заголовочному коэффициенту Шарпа (4.2 исходному / 6.6 оптимизированному) нельзя доверять как свидетельству преимущества. После устранения артефакта и беты бычьего рынка 2021 (2021 +554% против нулевых или отрицательных результатов во все остальные годы, бета 0.25, benchmark_correlation 0.47) стратегия даже не превосходит собственный бенчмарк равновзвешенной корзины (information_ratio -0.44). Дело не в настройке: 225 попыток показывают коэффициент Шарпа OOS около нуля практически во всём пространстве параметров, поэтому оптимизации 2 не на что ориентироваться в поиске устойчивой области; в итерации -2 уже пробовали сократить окно волатильности, чтобы устранить тот же артефакт, но безуспешно. Согласно L10, откажись от переобученной стратегии, не тратя оставшуюся попытку. NOTE FOR RESEARCH LEAD: это корзина мажоров только с длинными позициями и ротацией по OHLCV (вариант аномалии низкой волатильности); семейство снова губят артефакт годовой нормализации и зависимость 2021 от одного рыночного режима. Другой сигнал отбора в той же структуре еженедельной ротации корзины мажоров вряд ли пройдёт проверки OOS и контрольной выборки — измени структуру, отказавшись от корзин мажоров с длинными позициями и ежедневной ребалансировкой, вместо смены облика ранжирующего сигнала.

Реализация

Корзина SPOT с длинными позициями и еженедельной ребалансировкой удерживает 3 имён с минимальной реализованной волатильностью LOWEST (равные веса) из 8 мегакапитализированных мажоров (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP); переходит в кэш, когда BTC закрывается ниже 100-дневного SMA. Волатильность учитывается только в ранге отбора (аномалия низкой волатильности); позиции строго равновзвешены, их размер не зависит от волатильности. Только OHLCV, параметры 3 настроены, нет данных о финансировании/OI/ликвидациях/опционах.

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

Проверка не пройдена (уровень 4 — обзор QA): - NON-DIAGNOSTIC METRICS (артефакт compute_daily_returns) + L17 |Sharpe|>5. Коэффициент Шарпа 5.78 и волатильность 201.2% неправдоподобны для корзины мажоров с волатильностью LOW-0.90x. data_days 66 ≈ число сделок за несколько лет (длительность 539д DD) -> удержание около 33 дней нормализуется как ежедневное, волатильность завышена примерно на 5x (реальное значение около 40%), коэффициент Шарпа не согласуется с CAGR 67.5% (согласованное значение около 0.34). Это не……Показать большеСвернуть

Проверка не пройдена (уровень 4 — обзор QA): - NON-DIAGNOSTIC METRICS (артефакт compute_daily_returns) + L17 |Sharpe|>5. Коэффициент Шарпа 5.78 и волатильность 201.2% неправдоподобны для корзины мажоров с волатильностью LOW-0.90x. data_days 66 ≈ число сделок за несколько лет (длительность 539д DD) -> удержание около 33 дней нормализуется как ежедневное, волатильность завышена примерно на 5x (реальное значение около 40%), коэффициент Шарпа не согласуется с CAGR 67.5% (согласованное значение около 0.34). Это не дефект кода (прибыльность 0.571, PF 1.73, ликвидаций нет), площадка выбрана верно — спот, дело не в площадке. Для конвейера, ориентированного на коэффициент Шарпа, сертификация невозможна. - PROMISING — сильнейший кандидат семейства «если движок исправлен»: INDEPENDENT max_drawdown 38.63% по метрикам без годовой нормализации — LOWEST в семействе (скорректированный на риск 43.6%, двойной импульс 76.9%, средняя капитализация 80.85%), именно как предсказывает аномалия низкой волатильности. Новая гипотеза работает по надёжной метрике; площадка с самого начала правильно выбрана спотовая. Замечание о качестве преимущества: мажоры с самой низкой волатильностью обычно BTC/ETH, поэтому проверь, превосходит ли ранжирование по волатильности наивное удержание BTC/ETH и ортогонально ли работающим корзинам (L24). - CREDIT: код верен, площадка с самого начала верна (маршрутизации не туда нет — выводы учтены на основе родственных стратегий), новый сигнал реализован точно. _realized_vol ранжирует ASCENDING (сначала минимальная волатильность), топ--3, строго EQUAL-WEIGHT (волатильность влияет только на ранг — NOT определения размера позиции по волатильности), BTC с режимной торговлей, корректный для спота размер позиции, только длинные позиции (short_trades=0), без заглядывания вперёд. Блокирует исключительно остаточный артефакт движка.

Аналитику и оптимизатору стоит опираться на метрики, не зависящие от годовой нормализации (от максимума до минимума max_drawdown, доходность на сделку, profit_factor) и убедиться, что артефакт сокращается на полном окне бэктеста.

В песочнице отчёт показывает коэффициент Шарпа 4.22 при annualized_volatility 170% на тестовом окне 99 дней с удержанием 22 дней. Значение ниже порога дефекта кода L17 |Sharpe|>5, но повышенная волатильность/коэффициент Шарпа согласуются с завышением годового показателя движком compute_daily_returns на рядах с малым числом уникальных дат закрытия, на которое рассчитано изменение vol_lookback 30->14. Артефакт метрики движка, а не дефект кода (win_rate 0.57, PF 1.54, max_dd 31%, avg_trade_return_pct 7.87% внутренне согласованы).

Изменения кода не нужны; оставить спотовую площадку.

Гипотеза говорит «мейджоры USD-M», но код направляет все активы на .BINANCE_SPOT. CORRECT — согласно правилу фабрики стратегий о выборе площадки (только длинные позиции, без плеча, преимущество только за счёт цены → спот, чтобы избежать игнорируемого финансирования); это засчитывалось и в предыдущих итерациях. Это не провал: спотовые издержки 0.20% за полный цикл покрыты преимуществом в размере 7.87% avg_trade_return_pct.

Изменения не требуются.

При выравнивании весов победителей используется OrderSide.SELL, чтобы сократить удерживаемую длинную позицию сверх целевого объёма. Сокращение допустимо на спотовом аккаунте CASH; перед расчётом дельты в реальном времени запрашивается held_qty, поэтому продажа никогда не создаст непокрытую короткую позицию. Только для наглядности.

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

Шарп
4,22
Общая доходность
1318,25%
Максимальная просадка
31,46%
Всего сделок
141
Доля прибыльных
57,4%
Профит-фактор
1,54

Метрики с годовой нормализацией-INDEPENDENT сильные и надёжные: max_drawdown 31.46% (< порога 50%), profit_factor 1.54, win_rate 0.574, avg_trade_return_pct 7.87% (значительно выше порога спотовых комиссий)

Положительное преимущество на протяжении нескольких лет, NOT один режим: 2023 +96.6% и 2024 +26.9% показывают реальное преимущество вне -2021 выборки (в отличие от стратегии 1, которая была 100% 2021)

Реальная еженедельная оборачиваемость (141 сделок, среднее удержание 22 дн.) — data_days 99 больше не равно числу сделок, поэтому сокращение окна в итерации -2 частично устранило артефакт движка при низкой оборачиваемости, погубивший родственные spot-200SMA стратегии

Новый сигнал (ранг низкой волатильности) соответствует L24 — ортогонален действующим корзинам импульса и финансирования; аномалия низкой волатильности — документированный фактор

PSR 0.9996, sharpe_ci_low 1.67 > 0 (положительно даже при пороге CI)

Коэффициент Шарпа 4.22 не зависит от годового пересчёта: около 2x INFLATED; значение annualized_volatility 170% неправдоподобно для спотовой корзины из 3 активов без плеча (реальное около 70-90%); data_days 99 мало за 9 лет. Реальный коэффициент Шарпа — около 2. Этот искажённый показатель попадёт в оптимизатор, ориентированный на коэффициент Шарпа, и критерии DSR/PBO; не воспринимай точечное значение как достоверное.

Концентрация доходности: 2021 (+555%) составляет основную часть общего результата 1318%; 2025 (+2.7%) и 2026 (-11.6%, неполный период) слабы или недавние — следи за возможным угасанием фактора в OOS

exposure_pct 162% и information_ratio -0.44 против равновзвешенной корзины-бенчмарка — преимущество перед наивным удержанием корзины пока не подтверждено

Завышено примерно на 2x из-за артефакта годовой нормализации; реальное значение — примерно 2

Анализ

Новый сигнал (ранг реализованной волатильности), корректная спотовая площадка и определение размера позиции; QA подтвердил точность реализации механизма

Этап анализа чувствительности пройден; найден только один резкий обрыв (gross_exposure на границе ограничения 1.08)

Для walk-forward is_overfitted=TRUE: коэффициент Шарпа IS 12.54 против OOS 0.46 (обвал примерно на 27x); окна OOS [0.83, -1.47, 2.03] включают отрицательное

PBO 0.53 > 0.5 и deflated_sharpe 0.0 — выбранная конфигурация неотличима от шума выбора лучшей из -225 попыток (ожидаемый максимум за счёт удачи 14.96)

Контрольная выборка провалена: коэффициент Шарпа 0.126, отношение 0.272 << порога 0.70

Метрики завышены артефактом годовой нормализации L17 (удержание 22-39 дн., annualized_volatility 170%, однодневные доходности +48/+62%) — коэффициенту Шарпа 4.2/6.6 доверять нельзя

Заголовочный результат — бета 2021 к одному рыночному режиму (+554% в 2021 против нулевого или отрицательного результата в другие годы); information_ratio -0.44 означает, что стратегия не превосходит собственный бенчмарк

Устойчивой области OOS нет ни в одной из 225 попыток — оптимизации 2 не к чему подстраиваться

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

Семейство корзин мажоров с длинными позициями и ежедневной ребалансировкой снова сталкивается с теми же двумя проблемами: артефактом годовой нормализации compute_daily_returns (удержание 22-39 дней завышает волатильность и коэффициент Шарпа примерно в 2x раза) и бета-экспозицией к бычьему рынку в одном режиме 2021. Поэтому смена облика ранжирующего сигнала (импульс, финансирование, теперь низкая волатильность) вряд ли позволит пройти проверки OOS и контрольной выборки; нужно изменить саму структуру, отказавшись от корзин мажоров с длинными позициями и ежедневной ребалансировкой.

После оптимизации аналитик вынес вердикт «отказаться» на этапе ANALYZING из-за трёх не подлежащих смягчению провалов жёстких критериев (is_overfitted TRUE, PBO > 0.5, контрольная выборка не пройдена), а также дефлированного коэффициента Шарпа 0.0 при пороге удачи 14.96. Коэффициент Шарпа OOS близок к нулю во всех 225 попытках, поэтому устойчивой области для настройки второй попытки оптимизации не было; метрики всё ещё завышал артефакт годовой нормализации L17, а без него и беты 2021 стратегия не превзошла свой бенчмарк.

Корзина спотовых мейджоров Binance с крупной капитализацией и только длинными позициями, еженедельно ребалансируемая по 8, использовала новый сигнал — ранг реализованной волатильности (аномалия низкой волатильности), — чтобы удерживать 3 имён с наименьшей волатильностью с равными весами (волатильность влияет только на отбор, а не на размер позиции); при режиме BTC средства переводятся в кэш для контроля просадки; чистый OHLCV, параметры 3.

Базовый бэктест выглядел убедительно по метрикам, не зависящим от годовой нормализации (максимальная просадка 31.46%, фактор прибыли 1.54, доля прибыльных сделок 0.574, avg_trade_return_pct 7.87%, положительный результат в 2023 +96.6% и 2024 +26.9%) и получил вердикт «оптимизировать», хотя проверяющий отметил, что коэффициент Шарпа 4.22 завышен из-за годовой нормализации примерно на 2x. Оптимизация затем однозначно провалилась: is_overfitted TRUE (IS коэффициент Шарпа 12.54 против OOS 0.46, обвал примерно на 27x с одним окном OOS на уровне -1.47), PBO 0.53, дефлированный коэффициент Шарпа 0.0, провал контрольной выборки (коэффициент Шарпа 0.126, отношение 0.272 << 0.70) и информационное отношение -0.44 (стратегия не превосходит собственную равновзвешенную корзину); при этом заголовочный результат +1318% в основном обусловлен 2021 (+554%).

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