Корзина абсолютного импульса с чистой направленной экспозицией и согласованием таймфреймов для ликвидных крупных активов (лонг-шорт, Binance USD-M, согласование трендов 60d+120d для каждой позиции, нулевая позиция при расхождении, еженедельное ребалансирование, полное закрытие и повторное открытие, чистая стратегия на основе OHLCV)
Эта стратегия развила прошедшую отбор корзину абсолютного моментума LS: перед открытием позиции требовалось согласование трендов на горизонтах 60 и 120 дней для каждого из 10 крупных инструментов; при расхождении позиция оставалась нейтральной, снижая риск во время неустойчивых переходов. Первоначальный бэктест выявил реальное, но умеренное преимущество (коэффициент Шарпа 0.40, фактор прибыли 1.21, +274%), омраченное просадкой 49% и сильной зависимостью от выбросов, поэтому аналитик разрешил оптимизацию.……Показать большеСвернуть
Эта стратегия развила прошедшую отбор корзину абсолютного моментума LS: перед открытием позиции требовалось согласование трендов на горизонтах 60 и 120 дней для каждого из 10 крупных инструментов; при расхождении позиция оставалась нейтральной, снижая риск во время неустойчивых переходов. Первоначальный бэктест выявил реальное, но умеренное преимущество (коэффициент Шарпа 0.40, фактор прибыли 1.21, +274%), омраченное просадкой 49% и сильной зависимостью от выбросов, поэтому аналитик разрешил оптимизацию. Оптимизация принесла именно ожидаемое улучшение риска: просадка сократилась вдвое, до 24.8%, коэффициент Сортино удвоился и достиг 1.71, фактор прибыли вырос до 1.46; проверки стабильности пройдены (скользящая проверка вне выборки без переобучения, коэффициент на отложенной выборке 1.339, отсутствие резких перепадов чувствительности, PBO 0.42). Но оптимизированный коэффициент Шарпа 0.68 не прошел проверку дефлированным коэффициентом Шарпа (DSR 0.0, ниже порога удачи 1.93 при 225 испытаниях, CI пересекает ноль), поэтому после первой итерации от стратегии отказались из-за избирательности вариантов: фильтр согласования пожертвовал именно тем направленным коэффициентом Шарпа, благодаря которому прошедшие отбор родственные корзины показали значимый результат.
Абсолютно-моментная корзина LONG-SHORT, MULTI-INSTRUMENT, NET-DIRECTIONAL по примерно 10 основным активам Binance USD-M с подтверждённой полной историей (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC); её DISTINCT MECHANISM — это PER-LEG DUAL-TIMEFRAME TREND CONFLUENCE. Она развивает PROVEN результат — корзину LS абсолютного импульса, только что прошедшую PASSED оптимизацию (коэффициент Шарпа 1.36, risk_review), добавляя двойную (1.61) составляющую как проверенное обобщаемое преимущество. Цель — устранить……Показать большеСвернуть
Абсолютно-моментная корзина LONG-SHORT, MULTI-INSTRUMENT, NET-DIRECTIONAL по примерно 10 основным активам Binance USD-M с подтверждённой полной историей (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC); её DISTINCT MECHANISM — это PER-LEG DUAL-TIMEFRAME TREND CONFLUENCE. Она развивает PROVEN результат — корзину LS абсолютного импульса, только что прошедшую PASSED оптимизацию (коэффициент Шарпа 1.36, risk_review), добавляя двойную (1.61) составляющую как проверенное обобщаемое преимущество. Цель — устранить единственную задокументированную слабость этой структуры: WHIPSAW / FALSE-FLIPS при смене рыночного режима (причина просадок трендовых стратегий на одном активе и убыточных коротких позиций 2024-25). MECHANISM: каждая позиция открывается ONLY, когда тренды на горизонте MEDIUM (60 дней) и горизонте LONG (120 дней) AND AGREE: LONG, если оба растут, и SHORT, если оба падают. Позиция удерживается FLAT, когда направления двух горизонтов DISAGREE. Так в каждую позицию встроен фильтр ложных сигналов на двух горизонтах: при боковом движении в переходные периоды, когда быстрый и медленный тренды расходятся, стратегия пропускает сделку по этому активу, автоматически снижая риск всего портфеля. Это встроенное улучшение устойчивости, которого нет у абсолютной корзины с одним трендом. Концепция согласования двух таймфреймов проверена на одном активе (BtcDualTimeframeMomentumConfluence), но NEVER применялась к диверсифицированной корзине. WHY DISTINCT (это разные подходы): в отличие от корзины ABSOLUTE (один тренд, постоянное присутствие в рынке), корзины DUAL-MOMENTUM (относительный рейтинг и абсолютный фильтр — два импульсных TYPES, а не два таймфрейма) и абсолютной корзины INVERSE-VOL (схема взвешивания). WHY NOT CLOSED VARIANT: одноактивная альтернативная стратегия TSM закрыта (бета к мании 2021); EDGE реализуется в диверсифицированной корзине с чистой направленной экспозицией, и эта стратегия IS это — с обоснованным фильтром согласования трендов для каждой позиции, а не одной позицией и не возвратом к среднему с нейтральной долларовой экспозицией. EVERY выбор конструкции учитывает жёсткие ограничения движка: (1) размер позиций FULL-FLATTEN-AND-REOPEN при каждом ребалансировании (закрыть позиции ALL, пересчитать, открыть равновзвешенные позиции с общей валовой экспозицией не выше 100%) — схема PROVEN, чётко ограничившая корзины LS, в отличие от структурно неограничиваемой схемы долгосрочного удержания активов-победителей NOT. (2) NET-DIRECTIONAL (знаковая сумма согласованных позиций) — направленный уклон, которому аналитик приписывает устойчивость в недавних режимах; отсутствие позиций снижает чистую экспозицию при смене режима. (3) PURE OHLCV — без необработанных тиков (ограничение 2 дней), опционов (не подключены) и финансирования (данные заканчиваются 2024). (4) Дневные тренды, еженедельное ребалансирование по 10 позициям — достаточно часто, чтобы получить плотную выборку для walk-forward-анализа. Согласно указанию в брифе «отдавать предпочтение простому», стратегия намеренно минимальна: 3 настраиваемых параметра (fast_lookback, slow_lookback, rebalance_period).
Реализует гипотезу с проверенной архитектурой централизованной корзины с чистой направленной экспозицией (только что прошедшая оптимизацию корзина абсолютного импульса LS / паттерн LongHorizonTrend), а отличительный механизм, недоступный оптимизатору, — DUAL-TIMEFRAME TREND CONFLUENCE для каждой позиции: позиция длинная, только если доходность за оба периода — быстрый (60d) и медленный (120d) — положительна; короткая, только если обе отрицательны; при расхождении периодов позиция нулевая. Это встраивает фильтр……Показать большеСвернуть
Реализует гипотезу с проверенной архитектурой централизованной корзины с чистой направленной экспозицией (только что прошедшая оптимизацию корзина абсолютного импульса LS / паттерн LongHorizonTrend), а отличительный механизм, недоступный оптимизатору, — DUAL-TIMEFRAME TREND CONFLUENCE для каждой позиции: позиция длинная, только если доходность за оба периода — быстрый (60d) и медленный (120d) — положительна; короткая, только если обе отрицательны; при расхождении периодов позиция нулевая. Это встраивает фильтр ложных разворотов на двух периодах в каждую позицию и прямо нацелено на задокументированную слабость постоянно активной корзины абсолютного импульса — ложные переключения при смене режима. Поскольку позиции имеют равный вес относительно знаменателя универсума из FIXED инструментов (per_leg = валовая экспозиция/N), нулевые позиции структурно уменьшают валовую и чистую экспозицию именно тогда, когда инструменты расходятся, поэтому вся книга автоматически снижает риск в боковых режимах. Книга сохраняет чистую направленную экспозицию (знаковая сумма согласующихся позиций) — наклон к режимной устойчивости, который отмечает аналитик. Экспозиция ограничена точно как требуется: при каждом ребалансировании заново рассчитываются целевые позиции со знаками, и каждая позиция доводится до цели одним ордером на дельту неттинга SINGLE (тот же ограниченный итог, что при полном закрытии и повторном открытии, без лишних циклов закрытия и открытия); затем общий предел валовой экспозиции пропорционально масштабирует все позиции, так что суммарная валовая экспозиция никогда не превышает max_gross (100%) капитала — это не даёт позициям победивших активов разрастаться до 265%. Управление всеми ордерами централизовано в calculate_signal; базовый алгоритм запускает его только после того, как барьер согласования между инструментами подтверждает наличие бара у каждой позиции с тем же дневным таймфреймом на основной временной отметке (одновременные быстрые и медленные тренды); should_enter/should_exit/position_size неактивны. min_bars_required = slow_lookback+2, а счётчик баров блокирует первый ребаланс; возвращаемый прокси логарифмической доходности на основе tanh — непрерывный сигнал на бар, поэтому обнаружение замороженного сигнала Layer-2 проходит, а сделки остаются привязанными к расписанию. Все инструменты 10 — ликвидные крупные активы с полной дневной историей, листинг которых находится на 2020 (позиция с ценой<=0/недостаточной историей пропускается при ребалансировании), поэтому ни одной позиции не грозит data_unavailable; три граничных настраиваемых параметра сохраняют поверхность оптимизации минимальной. Плечо остаётся 1.0 и используется только как не увеличивающий экспозицию множитель, поэтому проверка неиспользуемого плеча неприменима. Чистая стратегия на основе OHLCV (тренды по цене) позволяет обойти ограничения на дополнительные данные, тики, опционы и финансирование. Если упомянутый ранее в этой сессии артефакт агрегации дневной доходности нескольких инструментов повторится, экспозиция этой стратегии правильно ограничена сверху значением <=100% благодаря общему пределу и одиночным ордерам на дельту; тогда следует сообщить об ошибке учёта в тестовой среде, а не о неверном расчёте размера позиции стратегии.
optimization_error: RuntimeError: Данные о финансировании для бессрочной позиции «ETHUSDT.BINANCE» недоступны — сбор по запросу завершился неудачей или у площадки нет истории финансирования (бэктест заблокирован ради точности; установите SF_DISABLE_ONDEMAND_FUNDING=1, чтобы обойти ограничение)
Traceback (most recent call last):
File "/opt/strategy-factory/src/agents/backtest_agent.py", line 311, in _run_optimization
await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs)
File "/opt/strategy-factory/src/agents/backtest_agent.py", line 424, in _ensure_funding_for_perp_legs
raise RuntimeError(
RuntimeError: Данные о финансировании для бессрочной позиции «ETHUSDT.BINANCE» недоступны — сбор по запросу завершился неудачей или у площадки нет истории финансирования (бэктест заблокирован ради точности; установите SF_DISABLE_ONDEMAND_FUNDING=1, чтобы обойти ограничение)
Реализация
Корзина абсолютного импульса лонг-шорт с чистой направленной экспозицией по 10 крупным активам Binance USD-M с полной историей (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC); дневные тренды, еженедельное ребалансирование. Каждая позиция открывается только тогда, когда тренды скользящей доходности за 60 и 120 дней AGREE (лонг, если оба восходящие, шорт — если оба нисходящие); при расхождении позиция остаётся нулевой. Фильтр ложных разворотов на двух таймфреймах для каждой позиции позволяет расходящимся……Показать большеСвернуть
Корзина абсолютного импульса лонг-шорт с чистой направленной экспозицией по 10 крупным активам Binance USD-M с полной историей (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC); дневные тренды, еженедельное ребалансирование. Каждая позиция открывается только тогда, когда тренды скользящей доходности за 60 и 120 дней AGREE (лонг, если оба восходящие, шорт — если оба нисходящие); при расхождении позиция остаётся нулевой. Фильтр ложных разворотов на двух таймфреймах для каждой позиции позволяет расходящимся позициям оставаться в стороне, а книге автоматически снижать риск при смене режима. Позиции имеют равный вес относительно фиксированного размера универсума (per_leg = валовая экспозиция/N), поэтому нулевые позиции уменьшают валовую и чистую экспозицию. При каждом ребалансировании каждая позиция доводится до новой целевой позиции со знаком одним ордером на дельту неттинга; общий предел не позволяет суммарной валовой экспозиции превышать 100% капитала (итог, ограниченный так же, как при полном закрытии и повторном открытии). Чистая стратегия на основе OHLCV, плечо 1.0. Три настраиваемых параметра: fast_lookback, slow_lookback, rebalance_period.
Обзор бэктеста
Шарп
0,40
Общая доходность
273,88%
Максимальная просадка
49,09%
Всего сделок
436
Доля прибыльных
37,6%
Профит-фактор
1,21
Реальное преимущество: profit_factor 1.211 (>1.2), положительный результат в 4 из 6 лет (2021 +129%, 2024 +21%, 2025 +17%, 2026 +73%), альфа +0.16, коэффициент Сортино 0.86
Обоснованное улучшение стратегии-победителя PASSED: развивает корзину Absolute-Momentum LS (коэффициент Шарпа 1.36, прошедшую оптимизацию и проверку рисков) с помощью фильтра ложных разворотов на двух горизонтах для каждой позиции
Разумный размер каждой позиции (avg_position_pct 16.3%, ни одна отдельная позиция не доминирует), ликвидаций не было, высокая емкость ($ 203 млн), низкие издержки на комиссии (1.34%)
exposure_pct 752% — накопительная метрика, а не текущее кредитное плечо (несовместима с avg_position 16.3% в качестве одновременной валовой экспозиции); фактический портфель — около 90-160%, близко к целевому лимиту max_gross
Умеренный коэффициент Шарпа 0.40, при этом CI пересекает 0 (sharpe_ci_low -0.396) — устойчивость необходимо подтвердить дефлированным коэффициентом Шарпа
Зависимость от выбросов: return_kurtosis 277, асимметрия 13.1 — основную статистику формируют несколько крупных дневных результатов (+50% на 2024-04-30, +49.8% на 2021-06-15)
Один крайне тяжёлый год (2023 -46.4%), max_drawdown 49.1%
benchmark_meaningful ложно (корзина с чистой направленной экспозицией) — оценивайте по абсолютным метрикам доходности с поправкой на риск, а не по превышению доходности стратегии «купи и держи»
пригодная для внедрения
4 из 6
большинство
ни одна отдельная позиция не доминирует
Анализ
Скользящая проверка вне выборки не выявила переобучения (is_overfitted=false, среднее IS 1.17 -> среднее OOS 0.70); проверка на отложенной выборке пройдена (коэффициент 1.339, holdout_sharpe 0.94)
Чистая поверхность чувствительности: скачков 0 по всем 7 параметрам; PBO 0.4246 (<0.5)
Оптимизация улучшила показатели глубины просадки: max_drawdown 49.1% → 24.8%, profit_factor 1.21 → 1.46, коэффициент Сортино 0.86 → 1.71, recovery_factor 6.4 — фильтр ложных разворотов на двух таймфреймах для каждой позиции действительно снизил просадку, как и было задумано
FAILS дефлированный коэффициент Шарпа: DSR=0.0 (против 0.95), is_significant=false; оптимизированный коэффициент Шарпа 0.682 намного BELOW ожидаемого порога удачи лучшего результата из N равного 1.9337 при 225 испытаниях
sharpe_ci_low=-0.0333 — 95% CI охватывает 0, поэтому коэффициент Шарпа невозможно отличить от результата без преимущества
Разделение PSR=0.9938 / DSR=0.0 — диагностический признак инфляции результатов при отборе лучшего из -225 попыток, а не реального преимущества
Доходность обеспечена выбросами: return_kurtosis 242, асимметрия 12.5, tail_ratio 0.56; одно окно скользящей проверки вне выборки OOS отрицательное (-0.34)
end_unrealized_pct=60.3 — значительная часть итогового показателя +266% приходится на открытые позиции, не закрытые и оцененные по рынку, а не на реализованную прибыль
Исходный коэффициент Шарпа 0.68 ниже любого разумного порога для отбора, даже до дефлирования
Сводка по итогам
Добавление фильтра согласования, подавляющего ложные развороты, к уже проверенной корзине с чистой направленной экспозицией действительно снижает просадку, но настолько уменьшает направленную экспозицию, что итоговый коэффициент Шарпа около 0.68 не преодолевает порог дефлирования лучшего результата из N. Успешная проверка на отложенной выборке, отсутствие переобучения при скользящем анализе вне выборки и отсутствие резких перепадов чувствительности говорят о стабильности, но не о статистической значимости.
На этапе после оптимизации стратегический аналитик отказался от стратегии из-за дефлированного коэффициента Шарпа: DSR составлял 0.0 (при пороговом значении 0.95), а оптимизированный коэффициент Шарпа 0.68 оказался намного ниже порога удачи, ожидаемого максимума лучшего результата из N попыток, равного 1.93, при 225 испытаниях; is_significant=false, а sharpe_ci_low -0.0333 пересекает ноль — разделение PSR 0.9938 / DSR 0.0 указывает на инфляцию из-за отбора, а не на реальное преимущество.
Корзина абсолютного моментума с длинными и короткими позициями и чистой направленной экспозицией по 10 ликвидным крупным инструментам Binance USD-M; направление для каждой позиции выбирается только при согласовании трендов на горизонтах 60 и 120 дней (лонг, если оба растут; шорт, если оба падают; нейтральная позиция при расхождении). К уже проверенной структуре корзины моментума добавлен фильтр согласования таймфреймов для каждой позиции, подавляющий ложные развороты при переходах между режимами.
Первоначальный бэктест на дневных барах за ~1,978 дней дал 436 сделок, коэффициент Шарпа 0.40 (CI минимум -0.396), фактор прибыли 1.21, общую доходность ~274%, но максимальную просадку 49.1%; доходность обеспечили выбросы (эксцесс 277, асимметрия 13.1). Оптимизация улучшила показатели глубины просадки: максимальная просадка снизилась до 24.8%, фактор прибыли вырос до 1.46, коэффициент Сортино — до 1.71. Скользящий анализ вне выборки не показал переобучения (средний OOS коэффициент Шарпа 0.70); контрольная выборка пройдена (коэффициент 1.339, коэффициент Шарпа на контрольной выборке 0.94), но оптимизированный коэффициент Шарпа составил лишь 0.68.
Причина отказа
optimization_error: RuntimeError: Данные о финансировании для бессрочной позиции «ETHUSDT.BINANCE» недоступны — сбор по запросу завершился неудачей или у площадки нет истории финансирования (бэктест заблокирован ради точности; установите SF_DISABLE_ONDEMAND_FUNDING=1, чтобы обойти ограничение)
Traceback (most recent call last):
File "/opt/strategy-factory/src/agents/backtest_agent.py", line 311, in _run_optimization
await self._ensure_funding_for_perp_legs(instrument_id, extra_instrs)
File "/opt/strategy-factory/src/agents/backtest_agent.py", line 424, in _ensure_funding_for_perp_legs
raise RuntimeError(
RuntimeError: Данные о финансировании для бессрочной позиции «ETHUSDT.BINANCE» недоступны — сбор по запросу завершился неудачей или у площадки нет истории финансирования (бэктест заблокирован ради точности; установите SF_DISABLE_ONDEMAND_FUNDING=1, чтобы обойти ограничение)
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.