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

Стратегии

Бэктест стратегии: BNB, BINANCE USD-M, день, только лонг (OHLCV) | Stratmill

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

BnbDailyMultiWeekTrendContinuationLong

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

BnbDailyMultiWeekTrendContinuationLong пыталась расширить проверенное семейство дневных стратегий продолжения многонедельного тренда на четвёртый инструмент, BNB, с простой конструкцией для фьючерсов на одном инструменте. Базовый бэктест выглядел поверхностно убедительно (доходность 126.5%, PF 3.99), но проверяющий установил, что всё преимущество обеспечили примерно два дня-выброса: коэффициент Шарпа составил 0.64, интервал CI пересекал ноль, эксцесс распределения доходности достиг 571. Поскольку сигнал с четырьмя фильтрами AND сработал лишь 30 раз за шесть лет — та же ошибка разреженности из-за единичных выбросов, которая погубила дневные стратегии для SOL и ADA, — и эта стратегия уже однажды провалила оптимизацию (DSR 0.0, окна OOS без сделок, PBO 0.73), аналитик снял её с рассмотрения на этапе проверки бэктеста, не запуская оптимизацию повторно.

Гипотеза

Дневная стратегия BNB только в лонг для фьючерсов BINANCE USD-M. Та же проверенная схема продолжения многонедельного тренда, что и в готовых дневных версиях для Link/Btc/Sol; применена к BNB, чтобы расширить семейство механизма до четвёртого инструмента, сохранив дисциплину одного инструмента, только OHLCV и одобрения фабрикой (BNBUSDT.BINANCE 1D). Уже добавленная BnbFourHourVolumeBreakoutLong подтверждает, что у BNB есть устойчивое поведение продолжения тренда; эта версия использует дневной интервал.

Исправление итерации 2: уровень 2 (синтетическая проверка) не пройден с ошибкой `_ema() takes 2 positional arguments but 3 were given`, потому что `_sma` и `_ema` были объявлены как `@staticmethod`. Синтетический прокси уровня -2 вызывает вспомогательные методы стратегии как связанные методы, принимающие self, поэтому статические методы с 2 аргументами получили 3 аргументов. Минимальное исправление: преобразовать `_sma` и `_ema` из статических методов в методы экземпляра (добавить `self`, удалить `@staticmethod`) — по аналогии с `_compute_atr`, который уже работал с тем же прокси. Все места вызова уже используют `self._sma(...)`/`self._ema(...)`, поэтому других изменений не потребовалось. Логика сигналов, параметры, размер позиции и импорты побайтно совпадают с предыдущей версией, что сохраняет все уже пройденные проверки уровня 1.

Не оптимизируй — эта точная стратегия (BnbDailyMultiWeekTrendContinuationLong) уже была отклонена после оптимизации: DSR 0.0 (при пороге ожидаемой удачи 4.19); walk-forward-анализ is_overfitted, где три окна ALL OOS дали ZERO сделок, ноль сделок на контрольной выборке и PBO 0.73. Повторно отправленный базовый бэктест имеет ту же дисквалифицирующую сигнатуру: вся доходность +126% приходится примерно на 2 аномальных дней (2021-03-06 +88.3%, $86 тыс. largest_win; 2024-04-02 +17.3%) при return_kurtosis 571 и……Показать большеСвернуть

Не оптимизируй — эта точная стратегия (BnbDailyMultiWeekTrendContinuationLong) уже была отклонена после оптимизации: DSR 0.0 (при пороге ожидаемой удачи 4.19); walk-forward-анализ is_overfitted, где три окна ALL OOS дали ZERO сделок, ноль сделок на контрольной выборке и PBO 0.73. Повторно отправленный базовый бэктест имеет ту же дисквалифицирующую сигнатуру: вся доходность +126% приходится примерно на 2 аномальных дней (2021-03-06 +88.3%, $86 тыс. largest_win; 2024-04-02 +17.3%) при return_kurtosis 571 и асимметрии 23.5. Убери их — и каждый год будет от нулевого до отрицательного (2020 -2.5%, 2022 +1.1%, 2023 -3.9%, 2025 +4%); кроме того, sharpe_ci_low — это -1.75 (CI охватывает 0), поэтому Sharpe 0.64 / PF 3.99 / Sortino 8.2 — артефакты одного дня. Причина структурная: условный фильтр 4 с AND срабатывает только при сочетании режима 200-SMA, стека 30/80 EMA, импульса за 20 дней и триггера пробоя максимума за 5 дней; за 6 лет это происходит всего 30 раз, из-за чего в окнах walk-forward OOS не хватает сделок (задокументированная проблема нулевого числа сделок на OOS). Это тот же режим разреженности с единичными аномальными выбросами, что и у отклонённых родственных дневных стратегий продолжения многонедельного тренда: SOL (19 сделок, преимущество на горизонте 2 дней) и ADA (15 сделок, преимущество на горизонте 1 дней). Механизм продолжения тренда обоснован, но уже применён к целям, где он работает (LINK/BTC/SOL дневная стратегия и BnbFourHourVolumeBreakout на BNB); BNB *дневная* стратегия продолжения многонедельного тренда — разреженная ветвь, зависящая от аномальных выбросов, которую нельзя проверить вне выборки; оптимизация параметров не создаст распределённое преимущество из артефакта на 2 день.

Реализация

Долгосрочная лонговая торговая стратегия по продолжению тренда BNBUSDT на дневном графике фьючерсов BINANCE USD-M. Вход при режиме (1): закрытие > 200-SMA, трендовом стеке (2): EMA30 > EMA80, импульсе (3): доходность за 20 дней > 0, AND (4) и сигнале продолжения: закрытие выше максимума за предыдущие 5 дней. Выход при пробое трейлинг-стопа «люстра» ATR(14) x3, сломе тренда (закрытие < EMA80) или сломе режима (закрытие < 200-SMA). Размер позиции рассчитывается относительно капитала с риском ATR при риске 2% на сделку.

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

Проверка не пройдена (уровень 2 — синтетические сценарии): Использованные параметры: ['atr_mult', 'ema_fast', 'ema_slow', 'risk_pct', 'atr_period', 'mom_period', 'sma_period', 'min_notional', 'size_precision', 'breakout_period', 'max_notional_frac'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - steady_downtrend: TypeError:……Показать большеСвернуть

Проверка не пройдена (уровень 2 — синтетические сценарии): Использованные параметры: ['atr_mult', 'ema_fast', 'ema_slow', 'risk_pct', 'atr_period', 'mom_period', 'sma_period', 'min_notional', 'size_precision', 'breakout_period', 'max_notional_frac'] Проверьте, что __init__ задаёт все атрибуты из self.parameters.get(). - steady_uptrend: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - steady_downtrend: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - flat_ranging: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - volatility_spike: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - zero_volume: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000) - price_gap: TypeError: BnbDailyMultiWeekTrendContinuationLong._ema() принимает 2 позиционных аргументов, но передано 3 (время бара: 1735701840000)

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

Шарп
0,64
Общая доходность
126,50%
Максимальная просадка
14,63%
Всего сделок
30
Доля прибыльных
36,7%
Профит-фактор
3,99

Механизм надёжен и уже проверен/добавлен для подходящих инструментов (LINK/BTC/SOL — дневное продолжение многонедельного тренда; BnbFourHourVolumeBreakout на самом BNB).

Простая и недорогая механика (комиссия 0.68% от валового объёма, max_DD 14.6%), ошибок корректности нет

Вся доходность приходится примерно на 2 дней-выбросов: 2021-03-06 +88.3% (largest_win $86k) и 2024-04-02 +17.3%; return_kurtosis 571, асимметрия 23.5. Без этих выбросов результат отрицательный или нулевой каждый год.

sharpe_ci_low -1.75 (CI значительно пересекает 0); коэффициент Шарпа 0.64 неотличим от шума; PF 3.99 / Сортино 8.2 завышены из-за выбросов

Структурная разреженность: 30 сделок за 6 лет при сигнале с 4 условиями и AND фильтрами; распределение по 3 окнам walk-forward-анализа оставляет окна OOS без сделок.

Эту стратегию EXACT уже сняли с рассмотрения после оптимизации (DSR 0.0 против порога удачи 4.19; is_overfitted, все окна 3 OOS без сделок, тестовая выборка без сделок, PBO 0.73). Повторный запуск оптимизации даст тот же результат.

Та же ошибка разреженности из-за единичных выбросов, что и у снятых с рассмотрения дневных стратегий-продолжений тренда на несколько недель для SOL и ADA

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

Сигнал с 4 условиями и AND фильтрами, который срабатывает всего 30 раз за 6 лет, не может создать распределённое преимущество, подтверждаемое вне выборки. Если основная доходность зависит от одного или двух дней-выбросов, оптимизация параметров не спасёт стратегию, а повторная отправка уже снятой с рассмотрения конфигурации воспроизводит ту же ошибку.

Аналитик вынес вердикт «снять с рассмотрения» на этапе проверки бэктеста до оптимизации, поэтому до оптимизации и последующего анализа дело не дошло. Решающий аргумент: эту стратегию уже сняли с рассмотрения после оптимизации (DSR 0.0 против порога удачи 4.19, переобучение в walk-forward-анализе, все три окна OOS без сделок, тестовая выборка без сделок, PBO 0.73), а повторно отправленный базовый вариант имел ту же структурно разреженную картину с единичными выбросами.

Алгоритмическая торговля: дневная фьючерсная стратегия только в лонг для одного инструмента, только OHLCV BNBUSDT, переносит схему продолжения многонедельного тренда LINK/BTC/SOL на BNB. Вход при пробое максимума за 5 дней, только если одновременно выполняются фильтр режима 200-SMA, трендовый порядок 30/80 EMA и положительный импульс за 20 дней; выход по трейлинг-стопу Чандельера ATR, пробою медленной линии EMA или слому режима.

Базовый бэктест показал общую доходность 126.5% (CAGR 15.9%) всего по 30 сделкам, с фактором прибыли 3.99 и просадкой 14.6%, однако коэффициент Шарпа составил лишь 0.64, минимум достиг -1.75 при значении CI, а хвосты распределения были экстремальными (эксцесс 571, асимметрия 23.5). Проверяющий установил, что вся доходность пришлась примерно на два дня-выброса (2021-03-06 +88.3% и 2024-04-02 +17.3%); после их исключения каждый год был безубыточным или убыточным.

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