Стратегии
Бэктест стратегии: тренд Quantiacs (WMA200 / ROCP20 / диапазон 2%), дневная корзина из 7 инструментов — бессрочные фьючерсы OKX USDT; лонг/шорт, равный вес активных ног
Итог: Отменено
QuantiacsTrendFollowingOkxBasket
Сводка по итогам
В этом запуске автомат состояний стратегии следования за трендом Quantiacs WMA/ROCP перенесён на корзину из семи инструментов OKX бессрочных фьючерсов USDT с ежедневной торговлей в лонг и шорт и равными весами. На бэктесте первой итерации корзина потеряла 15.57% примерно за 4.7 лет: 58 сделок, фактор прибыли 0.920, коэффициент Шарпа 0.19 и просадка 64.31%. Движение цены дало лишь небольшую прибыль, а расходы на финансирование превратили результат в убыток. При разборе бэктеста аналитик отказался от стратегии до оптимизации, отметив, что это не опровергает исходную стратегию Quantiacs или все возможные варианты параметров.
Гипотеза
Исправление повторной попытки: в предыдущем контракте для прогрева использовались 5*365 lookback_period из исходника. Индикаторам нужно 220 баров (360 с настраиваемыми максимумами), что укладывается в общую дневную историю корзины с 2021-01-24 (около 2,070 дней). Сохранён фьючерсный характер исходника и позиции лонг/шорт; OKX заполняет недостаточно представленную категорию площадок.
negative_expectancy: измеренная реализация корзины OKX убыточна после учёта финансирования и издержек исполнения; показатель PF 0.920 и avg_trade_return_pct -4.194% по сравнению с +0.15%. Издержки финансирования перекрывают небольшой положительный вклад price_pnl. Эти базовые результаты не оправдывают двухчасовой поиск параметров. Вывод относится к этой версии для криптовалютных бессрочных контрактов с добавленным допуском на ребалансировку; он не опровергает исходную стратегию Quantiacs для фьючерсного набора инструментов и не доказывает, что все варианты параметров убыточны.
Реализация
Перенос стратегии Quantiacs strategy-futures-trend-following на бессрочные фьючерсы 7 OKX USDT (BTC, ETH, SOL, ADA, LINK, BCH, TRX), дневные бары. Для каждого актива вычисляется WMA(200) -> ROCP(20) с боковым диапазоном 2% и исходным автоматом состояний стопа по последнему заполненному трендовому состоянию. Лонг открывается при roc > +2%, шорт — при roc < -2%; в боковом режиме позиция сохраняется. Вес портфеля равный: размер каждой активной ноги — +-MTM капитала x плечо / N_active; если все ноги имеют нулевую позицию, позиция стратегии тоже нулевая.
Результаты верификации
В полном бэктесте проверьте, что финансирование OKX (PG funding_rates, биржа okx) прикреплено к каждой ноге. До этого считайте доходность симулятора рассчитанной до вычета финансирования.
В симуляторе финансирование не учитывается (funding_folded=false, funding_events_available=0), хотя в гипотезе указано, что оно применяется через реестр. Это вопрос платформы или подключения данных, а не кода стратегии. Стратегия не считывает данные о финансировании, что правильно для этого правила, основанного только на цене.
Изменения не нужны. Аудитор пробелов в данных должен сохранять все OKX дневные ноги без пропусков.
Автомат состояний каждой ноги продвигается только тогда, когда барьер базового инструмента на том же таймфрейме выпускает основной бар; для этого на момент времени ts должны быть бары у всех 7 ног. Если у одной ноги OKX нет дневного бара, этот день пропускается для всей корзины. Следующий бар наверстывает пропуск, поскольку _update_leg обрабатывает все буферизованные бары с ts > leg_last_ts, поэтому состояние остаётся корректным, но ребалансировка за этот день пропускается. Заглядывания вперёд нет: барьер обеспечивает одновременность цен закрытия.
Нет. Статическое предупреждение base_shadow здесь ложно срабатывает.
min_bars_required() намеренно переопределена: max(360, wma+roc+1). Это удерживает calculate_signal, пока не буферизованы 360 основных баров. Наихудший требуемый объём — 300+40 — помещается в базовый буфер _max_bars=500, поэтому история WMA никогда не обрезается.
В песочнице указана максимальная просадка 48.4%, превышающая ограничение плана 35%; бутстрэп DD CI составляет 33-84%. При открытии любой позиции портфель всегда имеет валовую экспозицию 1x; стоп-лосса нет — это соответствует исходному варианту. Короткие позиции оказываются прибыльными лишь в 29% случаев, а спокойный режим приносит убыток -19.7%. Также песочница сообщает funding_folded=false и funding_events_available=0, поэтому OKX фондирования при удержании позиций в течение нескольких месяцев (в среднем 209 дней) NOT учтено в PnL. Прежде чем доверять результату, проверь, что в полный бэктест включён реестр фондирования OKX: во время бычьего рынка криптовалют длинные позиции долго платят положительное фондирование. Комиссии не вызывают опасений: средняя доходность сделки 5.0% от номинала против примерно 0.10% за полный круг, а комиссии составляют 0.75% от валовой суммы. В реестре учтено 37 закрытых позиций, но 368 исполнений, поскольку размер позиции меняется при каждом изменении N_active.
Обзор бэктеста
- Шарп
- 0,19
- Общая доходность
- -15,57%
- Максимальная просадка
- 64,31%
- Всего сделок
- 58
- Доля прибыльных
- 36,2%
- Профит-фактор
- 0,92
В торговых записях есть длинные и короткие позиции по всем семи инструментам, что соответствует предполагаемым направлениям торговли корзины и низкой частоте оборота.
Финансирование учтено: доступные события (36,185) и явные денежные потоки финансирования в закрытых сделках снимают опасения QA по поводу отсутствия финансирования.
За 1,725 оценённых дней 58 закрытых позиций принесли убыток $15,573.51: PF 0.920 и средняя доходность сделки -4.194% против заданного минимального уровня OKX для фьючерсов +0.15%.
Торговые записи согласуют $2,348.73 от price_pnl с -$17,922.24 финансирования и показывают чистый убыток. Реализованный портфель с долгим удержанием не зарабатывает достаточно, чтобы покрыть фактические расходы на удержание.
Опасения QA по поводу риска подтвердились: просадка достигает 64.31%, при этом 2025 убыточных 44.05%. Просадка служит дополнительным свидетельством, но не является единственной причиной отказа.
Бенчмарк корзины помечен как неинформативный; вывод об альфе относительно стратегии «купи и держи» не обоснован.
Сводка по итогам
Для медленных трендовых портфелей с долгим удержанием позиций в криптовалютных бессрочных фьючерсах ценовое преимущество нужно оценивать за вычетом расходов на финансирование, поскольку финансирование (здесь -$17.9 тыс.) может легко перевесить умеренное преимущество от направления цены.
Аналитик разбора бэктеста проголосовал за отказ от стратегии из-за отрицательного матожидания: avg_trade_return_pct из -4.194% против нижней границы по фьючерсам +0.15% OKX; влияние финансирования перевесило небольшой положительный PnL от движения цены, поэтому двухчасовая оптимизация признана неоправданной. Аналитик уточнил, что этот вердикт относится только к переносу на криптовалютные бессрочные фьючерсы и добавленному допуску ребалансировки, а не к исходной стратегии Quantiacs для фьючерсного рынка.
Точный перенос фьючерсной стратегии следования за трендом Quantiacs с лицензией MIT (WMA200, 20-дневный ROCP для WMA, боковой диапазон ±2%, автомат состояний лонг/шорт для каждого актива) на дневную корзину 7 бессрочных фьючерсов OKX USDT с равными весами (BTC, ETH, SOL, ADA, LINK, BCH, TRX) и плечом 1.0x; добавлен допуск ребалансировки 20%.
За 1,725 оценённых дней (2022-01-19 — 2026-10-09) закрыто 58 позиций; общая доходность — -15.57% (CAGR -3.52%), коэффициент Шарпа — 0.19, фактор прибыли — 0.920, доля прибыльных сделок — 36.2%, avg_trade_return_pct -4.194%, максимальная просадка — 64.31%. Торговые записи показывают +$2,348.73 PnL от цены и -$17,922.24 от финансирования.
Анализ
strategy-futures-trend-following
Анализ
strategy.ipynb
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.