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

Стратегии

COIN-M BTC Моментум временного ряда с подтверждением открытым интересом, длинные и короткие позиции (BTCUSD_PERP.BINANCE_CM, инверсный бессрочный контракт, дневные бары; торгуйте по знаку скользящей доходности за примерно 50 дней ONLY, когда рост открытого интереса подтверждает появление новых позиций; выход по трейлинг-стопу ATR, размер с поправкой на волатильность, 3 параметров)

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

BtcCoinMOpenInterestConfirmedTsMomLS

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

…полная версия в том виде, как она записана в файл.

Гипотеза

LONG-SHORT — одноинструментальная стратегия следования за направленным трендом на бессрочном инверсном контракте COIN-M с маржированием в BTC (BTCUSD_PERP.BINANCE_CM). Это NOT очередной клон Binance USD-M и NOT переформулировка в виде бета-нейтральной стратегии или парной торговли (L95/L96) — это ONE семейство механизмов, пережившее этот отбор стратегий на фабрике (прямой направленный импульс на крупном активе с глубокой ликвидностью), намеренно направленное на криптовалютную площадку с самыми низкими комиссиями……Показать большеСвернуть

LONG-SHORT — одноинструментальная стратегия следования за направленным трендом на бессрочном инверсном контракте COIN-M с маржированием в BTC (BTCUSD_PERP.BINANCE_CM). Это NOT очередной клон Binance USD-M и NOT переформулировка в виде бета-нейтральной стратегии или парной торговли (L95/L96) — это ONE семейство механизмов, пережившее этот отбор стратегий на фабрике (прямой направленный импульс на крупном активе с глубокой ликвидностью), намеренно направленное на криптовалютную площадку с самыми низкими комиссиями (COIN-M ~0.06% RT против USD-M ~0.10%), чтобы увеличить запас по комиссиям; кроме того, стратегии добавлен структурный сигнал подтверждения (открытый интерес), который недавно получил развитие в работах USD-M (DogeOpenInterestConfirmedTrendContinuationLS, SolPriceOpenInterestQuadrantTrendLS). Основной сигнал — это SIGN доходности за предшествующий период около 50 дней на дневных свечах. Сделка открывается только TAKEN, если открытый интерес RISING в течение окна подтверждения — то есть по мере развития ценового тренда входят новые деньги и формируются новые позиции, что отличает настоящий тренд от движения без сильной убеждённости или скачка на закрытии коротких позиций. Когда OI FLAT или FALLING на фоне тренда цены, движение вызвано сворачиванием позиций (истощением), а не новой убеждённостью, поэтому стратегия остаётся вне рынка. Размер позиций масштабируется с учётом волатильности (целевой риск поддерживается постоянным с помощью ATR); позиции защищены трейлинг-стопом Чандельера/ATR. Ровно 3 настраиваемых параметров (период анализа импульса, период подтверждения OI, множитель стопа ATR), чтобы не попасть на кладбище переобученных стратегий (380 смертей). COIN-M: из-за инверсного контракта прибыль и убыток выражаются в BTC — это реальное преимущество стратегии, специфичное для BTC, для держателей, желающих наращивать капитал с помощью надстройки, следующей за трендом, в единицах BTC; поэтому BTC (слишком часто использовавшийся в исследованиях на USD-M) — это RIGHT и обоснованный инструмент для этой конкретной, недостаточно исследованной площадки.

Итерация 2 исправляет указанную проблему sandbox_timeout уровня -3 минимальным изменением: фильтром SOURCE открытого интереса и ничем больше. В предыдущей версии использовался дополнительный поток первичного символа без обработки, содержащий зеркало OI контракта COIN-M; обращение к этому ключу заставляло движок загружать и выполнять JSON round-trip примерно 513 тысяч словарей строк по пять минут (15 parquet MB), что само по себе исчерпывало лимит времени 300 с до обработки баров (в……Показать большеСвернуть

Итерация 2 исправляет указанную проблему sandbox_timeout уровня -3 минимальным изменением: фильтром SOURCE открытого интереса и ничем больше. В предыдущей версии использовался дополнительный поток первичного символа без обработки, содержащий зеркало OI контракта COIN-M; обращение к этому ключу заставляло движок загружать и выполнять JSON round-trip примерно 513 тысяч словарей строк по пять минут (15 parquet MB), что само по себе исчерпывало лимит времени 300 с до обработки баров (в src/backtesting/supp_collector.py точно описан этот сбой). Теперь считывается 'open_interest_by_instrument' — компактная карта движка по каждой ноге, уже прореженная до частоты >= 1 значений в час и, начиная с 2026-09-10, заполненная для BINANCE_CM инверсных контрактов из того же зеркала. Локальные измерения: 42,763 точек за период 2021-07..2026-09, 10 с на построение, 1.4 MB JSON. Поток списка строк 'open_interest' остаётся резервным вариантом и имеет ту же форму, что и синтетический слой, поэтому уровень 2 по-прежнему получает настоящий ряд OI. Стоимость обработки одного бара не изменилась и в амортизированном расчёте равна O(1) (однонаправленный проход указателем по заранее отсортированному массиву, дековые структуры с maxlen, инкрементальный ATR) — без повторного сканирования, сортировки и min() в on_bar. Логика сигнала, правила входа/выхода, размер позиции по инверсному контракту, импорты и структура класса побайтно не изменились по сравнению с previous_code, кроме загрузчика, поэтому пройденные проверки уровня 1/1.5/2 сохранены. Кредитное плечо 2.0 действительно используется в position_size (бюджет = капитал × плечо), предельный валовой объём составляет 0.5 бюджета = 1.0x номинала капитала.

Переобученная направленная стратегия следования за трендом на одном инструменте с фильтром OHLCV/OI. Walk-forward-анализ: IS 1.95 -> OOS -0.797 (is_overfitted=TRUE); два из трёх окон OOS отрицательны — преимущество разворачивается на неизвестных данных. Это количественно подтверждено провалом дефлированного коэффициента Шарпа: DSR=0.0003, ожидаемый максимум=1.97 по 225 испытаниям — выбранный коэффициент Шарпа неотличим от шума лучшего результата из N вариантов (is_significant=false, не проходит проверку программы……Показать большеСвернуть

Переобученная направленная стратегия следования за трендом на одном инструменте с фильтром OHLCV/OI. Walk-forward-анализ: IS 1.95 -> OOS -0.797 (is_overfitted=TRUE); два из трёх окон OOS отрицательны — преимущество разворачивается на неизвестных данных. Это количественно подтверждено провалом дефлированного коэффициента Шарпа: DSR=0.0003, ожидаемый максимум=1.97 по 225 испытаниям — выбранный коэффициент Шарпа неотличим от шума лучшего результата из N вариантов (is_significant=false, не проходит проверку программы FDR, сохраняются 4 из 277). Все три настраиваемых параметра критические, поэтому устойчивой области для дальнейших итераций NO — результаты перебора повсеместно шумные, а не просто плохо настроенные. Проблема не в комиссиях: показатель на сделку 0.84% выше порога COIN-M, а PF составляет 1.67; кажущееся преимущество за весь период — артефакт выбора лучшего из 225 коррелированных испытаний, целиком обеспеченный единственным режимом нормальной волатильности и одним днём +17.6%. Фильтр подтверждения OI и перевод на площадку COIN-M не дали устойчивости, которую не смогла бы устранить дефляция этапа 3. Это соответствует устойчивому семейству направленных стратегий на одном бессрочном контракте с фильтром OI/дополнительных данных и, при сходстве 0.836, почти идентичной ранее оставленной стратегии с подтверждением OI направления COIN-M BTC (а также свинг-стратегии с подтверждением сдвига позиций OI -> code_defect, Donchian CM -> fee_edge, ETH CM TSMOM -> переобучение). При переобучении следует отказаться от стратегии, а не продолжать итерации: перенос того же механизма моментума плюс OI на другой инструмент обычно приводит к повторному переобучению, а не выявляет реальное преимущество; перебор не оставляет направления для настройки.

Реализация

Дневной моментум временного ряда лонг-шорт на инверсном бессрочном контракте COIN-M с маржированием в BTC (BTCUSD_PERP.BINANCE_CM). Направление определяется знаком доходности за последние ~50 дней; сделка открывается только при росте открытого интереса RISING в течение окна подтверждения (новые позиции открываются вслед за движением), а стратегия остаётся вне рынка, если OI не меняется/падает (движение вызвано закрытием позиций) или нет данных OI. Выход при смене знака моментума либо по скользящему стопу Чанделье ATR; после срабатывания стопа торговля в этом направлении блокируется до смены моментума. Размер позиции масштабируется по волатильности (постоянный риск на сделку через ATR) с жёстким ограничением валового номинала, выраженным в инверсных контрактах WHOLE через contracts_for_notional(). Найдено всего три параметра.

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

Убедитесь, что базовый шаблон действительно обращается к min_bars_required(); если нет, полагайтесь на внутренние проверки готовности (они уже корректны) и удалите переопределение либо переименуйте его, чтобы избежать предупреждения о затенении.

min_bars_required(self) переопределяет/затеняет метод фреймворка, на который базовый шаблон опирается при прогреве. Если базовый класс не вызывает это переопределение, предусмотренный прогрев max(mom_lookback, oi_lookback, atr_period)+2 игнорируется (это безвредно: собственные проверки deque/счётчика стратегии независимо предотвращают преждевременные сигналы, однако переопределение может оказаться мёртвым кодом).

Это дневной вариант TSMOM на одном инструменте с направленной торговлей — семейство, которое неоднократно погибало из-за переобучения/отрицательного матожидания на этапе аналитика (LtcCoinMDailyTsMom, SolIntermediateSkipWindowTsmom, несколько трендовых клонов DOGE/DOT/SOL). Дымовой тест в песочнице лишь умеренно положительный (коэффициент Шарпа 0.35, CI [-0.38, 1.15] пересекает ноль, total_return +20%, но терциль спокойной волатильности -5.1% / коэффициент Шарпа -0.28). Фильтр подтверждения OI и запас по комиссиям на площадке COIN-M — реальные отличия от оставленных аналогов USD-M, поэтому стратегия заслуживает полного бэктеста. Однако перед оптимизацией аналитик должен сопоставить преимущество на сделку (~0.35% в песочнице) с хорошо представленным кладбищем стратегий BTC/на одном инструменте TSMOM. Только рекомендация.

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

Шарп
0,35
Общая доходность
20,26%
Максимальная просадка
16,61%
Всего сделок
70
Доля прибыльных
41,4%
Профит-фактор
1,19

Механизм работает и соответствует гипотезе: 70 сделок за 6.1 лет (31 длинных / 39 коротких), все сигналы на вход отправлены (entry_diag 70->70, пропусков нет). Для дневного TSMOM с периодом около 50 дней это разумная частота, фильтруемая растущим OI.

Численно жизнеспособна на надёжной выборке: avg_trade_return_pct 0.19% (pct_notional) выше порога комиссий COIN-M ~0.10%, PF 1.19, положительный коэффициент Шарпа 0.35, максимальная DD 16.6% (ниже заранее зарегистрированного предела), 70 сделок, период 6.1 лет, metrics_reliable=true. Преимущество покрывает издержки, поэтому стратегию можно оптимизировать.

Реальные отличия от оставленных вариантов USD-M: перевод на инверсную площадку COIN-M с более низкими комиссиями для запаса по издержкам и фильтр подтверждения открытым интересом (структурный сигнал, недавно улучшивший варианты с подтверждённым трендом на USD-M OI). Всего 3 настраиваемых параметров, что ограничивает пространство множественных проверок.

Пограничная значимость: коэффициент Шарпа CI [-0.45, 1.16] пересекает ноль, терциль спокойной волатильности отрицательный (-5.1%, коэффициент Шарпа -0.28), а это хорошо представленное семейство дневного TSMOM на одном инструменте, которое неоднократно погибало из-за переобучения/отрицательного матожидания на этапе дефляции 3 (LtcCoinMDailyTsMom, SolIntermediateSkipWindowTsMom, несколько клонов DOGE/DOT/SOL).

end_unrealized_pct 15.2 от общей доходности 20.3 означает, что около 75% заголовочного показателя — это MTM по открытой позиции, а не реализованная прибыль. Это предостережение для этапа продвижения стратегии следует учитывать при ANALYZING и оценивать результат по реализованным метрикам с поправкой на риск.

Преимущество на сделку лишь немного превышает порог комиссий; оптимизатор должен найти действительно устойчивую область, а не подогнать кривую под периоды OI/моментума.

Анализ

Механизм работает и соответствует гипотезе: 78 оптимизированных сделок (38 длинных / 40 коротких) за 6.1 лет; все сигналы на вход отправлены. Для дневного TSMOM с периодом около 50 дней и фильтром растущего OI это разумная частота.

Преимущество на сделку покрывает издержки: оптимизированный avg_trade_return_pct 0.839% >> порога комиссий COIN-M 0.10%; profit_factor 1.67 > 1.3; комиссия составляет лишь 5.3% валовой суммы. Здесь комиссии не являются NOT причиной провала.

Окно отложенной выборки номинально положительное (коэффициент Шарпа 1.35 на 10 сделках).

Провал фильтра HARD: walk-forward-анализ is_overfitted=TRUE с IS 1.95 -> OOS -0.797, а два из трёх окон OOS отрицательны (-0.56, -2.96, +1.14). На данных вне выборки преимущество REVERSES, оно не просто ослабевает.

Провал фильтра HARD: средний коэффициент Шарпа вне выборки -0.797 <= 0 (порог валидности 0.5).

Дефлированный коэффициент Шарпа не прошёл проверку: DSR=0.0003, ожидаемый максимум=1.97 по 225 испытаниям (126 эффективных) — выбранный коэффициент Шарпа неотличим от шума лучшего результата из N вариантов. PSR устойчивых блоков 0.906 < 0.95, is_significant=false; результат не проходит проверку на уровне программы FDR (при q=0.10 Бенджамини—Хохберга сохраняются 4 из 277; candidate_p 0.9997).

Анализ чувствительности: ALL THREE настраиваемых параметров (mom_lookback, oi_lookback, atr_stop_mult) являются критическими: sharpe_grid скачет с -0.67 до +0.83 при небольшом изменении соседних периодов. Устойчивой области параметров для дальнейшей итерации нет.

Анализ режимов: убыток в BOTH спокойной (коэффициент Шарпа -0.07) и стрессовой (коэффициент Шарпа -0.22) третях — вся доходность получена в единственной трети с «нормальной» волатильностью (и за один день +17.6% на 2024-12-20); то есть результат обеспечен одним удачным периодом, а не устойчивым преимуществом.

Оптимизированный max_drawdown 26.1% превышает заранее зарегистрированный предел 22%; Кальмар 0.36 < 0.5.

Заранее зарегистрированный само-прогноз не угадал 3 из 5 (min_trades 78<120, OOS -0.80<0.9, DD 26.1>22).

При q=0.10 проверка Бенджамини—Хохберга оставляет 4 из 277 кандидатов программы. Кандидат, который её не проходит, неотличим от собственного шума программы, какими бы хорошими ни выглядели его отдельные статистики.

История итераций

sandbox_timeout: проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300 с на окне около 20000 баров (2400 дней с BTCUSD_PERP.BINANCE_CM-1-DAY-LAST-EXTERNAL). Обычно это означает, что вычисления на каждом баре растут вместе с историей — например, полный перебор ряда финансирования/дополнительного ряда либо создание списка и вызов min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Предварительно отсортируй массивы временных меток ONCE в __init__ и используй bisect либо кэшируй результаты поиска по временной метке: тогда затраты на бар составят O(log n), а не O(n).

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

Перенос хорошо изученного механизма моментума на одном инструменте на площадку с более низкими комиссиями и фильтром подтверждения OI даёт запас по комиссиям, но не повышает устойчивость: на данных вне выборки преимущество по-прежнему исчезает.

От стратегии отказались после оптимизации на этапе ANALYZING из-за провала жёстких фильтров: переобучение в walk-forward-анализе (отрицательный средний коэффициент Шарпа OOS), дефлированный коэффициент Шарпа неотличим от шума (не пройден фильтр программы FDR), все три параметра критические — устойчивой области для дальнейших итераций нет.

Дневная стратегия лонг-шорт на основе моментума временного ряда следует за трендом по знаку доходности за последние ~50 дней на инверсном бессрочном контракте COIN-M BTC, только если растущий открытый интерес подтверждает появление новых позиций. Используются скользящий стоп Чанделье ATR и размер позиции с поправкой на волатильность; стратегия переведена на площадку COIN-M с более низкими комиссиями.

Первичный бэктест: 70 сделок за 6.1 лет, средний результат на сделку 0.19% (выше порога комиссий около 0.10%), PF 1.19, коэффициент Шарпа 0.35, максимальная просадка DD по 16.6%. После оптимизации PF вырос до 1.67, а результат на сделку — до 0.84%, но walk-forward-анализ показал обратное: от коэффициента Шарпа IS 1.95 до OOS -0.797, DSR 0.0003 в 225 испытаниях, а DD превысил лимит 22%, достигнув 26.1%.

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