← Все идеи
#051НовоеИмпульсПозиционная

Недельная ротация по моментуму с абсолютным порогом

Раз в неделю держим 10 сильнейших по ROC акций индекса, но только из тех, что выросли больше чем на 20% за 18 месяцев. Стопов нет, выход через ротацию. Вариант Nick Radge: сначала тренд рынка, затем сильнейшие за 12 месяцев.

The Algorithmic Advantage · Alan Clement · Смотреть видео

Рынки

Акции

Таймфрейм

D1, W1

Данные

OHLC, Список инструментов

Правила

Частично формализовано

Сложность

Средняя

Статус

Не проверено

Часть правил дописали мы, это помечено в тексте.

TradingView нужны данные или обходные пути
EasyLanguage есть ловушки
MetaTrader 5 нужны данные или обходные пути

Идея коротко

Alan Clement перепробовал на акциях разные трендовые входы: пробои, ящики Дарваса. Его наблюдение: любой такой вход работает лучше, если пропускать только бумаги с сильным моментумом, и тем лучше, чем выше порог. Если довести мысль до конца, вход не нужен вообще. Достаточно раз в неделю ранжировать бумаги индекса, держать верхние и заменять выпавших.

В правилах два вида моментума. Абсолютный это порог: держим только бумаги, которые выросли больше заданного процента. Пример автора: больше 20% за 18 месяцев. Относительный это место в рейтинге: из прошедших порог берём 10 сильнейших. Стопов нет. Бумага уходит из портфеля, когда выпадает из топа или опускается ниже порога.

Порог работает и как фильтр режима. В медвежьем рынке бумаги по одной проваливаются под него, портфель сжимается и поэтапно уходит в кэш. На росте список снова наполняется.

Вариант B от Nick Radge проверяет сначала тренд всего рынка. Если он вниз, портфель в кэше целиком. Если вверх, покупаются сильнейшие акции Russell 1000 за 12 месяцев.

От карточки «Двойной моментум» идея отличается масштабом. Там три-четыре индексных ETF, одна позиция на весь капитал и ориентир в виде T-bills. Здесь сотни акций, 10-16 позиций, а порог задан ростом самой бумаги. Выход из рынка идёт не разом, а по одной бумаге.

Почему это может работать

Clement называет три причины. Портфель всегда держит сильнейшие бумаги индекса, поэтому рост рынка он забирает. Продажа и покупка идут одновременно: одна бумага сменяет другую, и риск портфеля меняется плавно. У системы с отдельными сетапами капитал может уйти в сделки за один день и так же дружно попасть под откат на следующей неделе.

Третья причина касается выхода. Вершины редко бывают острыми: бумага сначала ходит в боковом диапазоне, и моментум в это время стремится к нулю. Ротация выводит из позиции посередине этого диапазона, не дожидаясь обвала и без стоп-лосса.

Radge смотрит на ту же механику через правый хвост. Сильные тренды бывают не всегда, но достаточно часто, и одна бумага вроде Tesla в 2020 году делает год. Моментум как фактор, по его словам, давно описан в академических работах. Слабое место оба знают: боковой рынок, где лидеры часто меняются.

Всё это объяснения авторов. Цифр по результатам самой ротации в интервью нет.

Правила

Основная версия (Clement)

// вселенная: акции одного индекса с историческим составом
// автор: индекс или сектор; Finetiq: S&P 500 как стартовая вселенная
// решение раз в неделю на закрытии последнего торгового дня недели,
// исполнение на открытии следующего бара
// автор: ротация раз в неделю; Finetiq: день недели

ROC(x) = Close(x) / Close(x, 378 баров назад) - 1   // автор: рост за 18 месяцев; Finetiq: 18 × 21 торговый день
Floor  = 20%                                         // автор: пример порога
N      = 10                                          // автор: пример; оптимум по его опыту 14-16

Eligible = [x in Universe : ROC(x) > Floor]          // абсолютный моментум (автор)
Top      = N бумаг из Eligible с максимальным ROC     // относительный моментум (автор)
// Finetiq: рейтинг по тому же ROC, отдельную меру автор не назвал

FOR each x in Portfolio
    IF x NOT in Top                                  // выпала из топа или ушла под порог (автор)
        SELL x AT NEXT BAR OPEN
FOR each x in Top NOT in Portfolio
    BUY x AT NEXT BAR OPEN

// если в Eligible меньше N бумаг, свободные слоты остаются в кэше (автор)
PositionSize = Equity / N      // Finetiq: равные доли; автор говорит о многих малых позициях
// стопов нет, внутри недели позиции не трогаем (автор)

Фильтр режима (автор: любой из трёх)

// 1. моментум самого индекса (автор)
IF Close(Index) / Close(Index, 126 баров назад) - 1 < 0   // Finetiq: окно 6 месяцев и порог 0
    SELL все позиции AT NEXT BAR OPEN, новых покупок нет

// 2. только порог по бумагам (автор): отдельного фильтра нет, портфель сжимается сам

// 3. внешний индикатор (автор): всплеск VIX или структура кривой фьючерсов VIX
//    Finetiq: см. карточку vix-term-structure-regime

Вариант B. Radge: сначала рынок, потом акции

// вселенная: Russell 1000 с историческим составом (автор)
// ротация раз в месяц (автор; в общем описании «раз в месяц или раз в неделю»)
// Finetiq: последний торговый день месяца, исполнение на открытии следующего

Regime = Close(SPX) > SMA(Close(SPX), 200)       // автор: один из двух примеров фильтра
// второй пример автора: new highs минус new lows NYSE, порог не назван

Mom(x) = Close(x) / Close(x, 252 бара назад) - 1  // автор: окно 12 месяцев «для примера»
N      = 20                                        // Finetiq: число позиций автор не назвал

IF NOT Regime
    SELL все позиции AT NEXT BAR OPEN             // автор: рынок вниз, портфель в кэше
ELSE
    Top = N бумаг с максимальным Mom
    SELL держимые, которых нет в Top              // автор: ослабевшие продаём
    BUY бумаги из Top, которых нет в портфеле
// Finetiq: режим проверяем только в день ротации

Версия для одного-двух символов (Finetiq)

Ранжирование на одном символе не проверить. Проверить можно порог: сколько времени он держит в рынке и что делает на падениях.

// индексный ETF или фьючерс, решение раз в неделю
IF ROC(Close, 378) > Floor AND нет позиции
    BUY AT NEXT BAR OPEN
IF ROC(Close, 378) <= Floor AND есть позиция
    SELL AT NEXT BAR OPEN
// Floor: 0%, 10%, 20%. Порог для акций на индексе может держать вне рынка
// большую часть времени: посчитайте долю недель над порогом до теста

// два символа: держим тот, у кого ROC выше, если он над порогом, иначе кэш

Параметры

Параметр Значение Откуда
Вселенная акции индекса или сектора автор
Стартовая вселенная S&P 500 с историческим составом Finetiq
Мера моментума rate of change автор
Абсолютный порог рост больше 20% за 18 месяцев автор (пример)
Окно в барах 378 торговых дней Finetiq
Мера для рейтинга тот же ROC Finetiq
Число позиций 10 в примере, оптимум 14-16 автор
Частота ротации раз в неделю автор
День ротации последний торговый день недели Finetiq
Размер позиции равные доли капитала Finetiq
Стоп нет автор
Направление только лонг автор
Фильтр индекса ROC индекса за 6 месяцев ниже 0 Finetiq (автор: моментум индекса)
Вариант B: фильтр рынка S&P 500 выше SMA 200 или new highs-new lows NYSE автор (примеры)
Вариант B: окно 12 месяцев, 252 бара автор (пример), бары Finetiq
Вариант B: частота раз в месяц автор
Вариант B: число позиций 20 Finetiq

Что проверить

  1. Окрестность порога и окна. Порог 0, 10, 20 и 30%, окно 6, 12, 18 и 24 месяца. Автор назвал 20% и 18 месяцев как пример. Если результат держится только около этой пары, она подобрана.
  2. Число позиций. 10 против 15 против 25. Смотрите доходность, просадку и долю недель, когда прошедших порог бумаг меньше, чем слотов.
  3. Порог против фильтра индекса. Три прогона: только порог по бумагам, только фильтр индекса, оба вместе. Отдельно 2008, 2020 и 2022 годы: как быстро портфель ушёл в кэш и как быстро вернулся.
  4. Частота и буфер. Ротация раз в неделю против раз в месяц. Затем буфер: при топ-10 продавать бумагу, только когда она опустилась ниже 15-го места. Считайте сделки в год и результат после комиссий и спреда.
  5. Исторический состав против текущего. Clement прямо предупреждает, что на нынешних членах индекса трендовые подходы выглядят лучше, чем были. Разница двух прогонов показывает размер ошибки выжившего.
  6. Боковые годы. 2011, 2015-2016 и 2022 отдельно: оборот, число возвратов в только что проданную бумагу за две недели, результат. Это слабое место, которое называет Radge.
  7. Основная версия против варианта B на одной вселенной и одном периоде: порог по каждой бумаге против общего фильтра рынка.

Особенности платформ

TradingView (Pine Script)

  • Стратегия торгует только символ графика. Ротацию по сотням акций как стратегию не протестировать, а число запросов request.security ограничено и для рейтинга по индексу не хватит.
  • Проверяется версия на одном символе. ROC за 18 месяцев на дневках: close / close[378] - 1, первые 378 баров сигнала нет. На недельном графике то же окно около 76 баров (378 / 5).
  • Недельное решение на дневном графике придётся ловить по смене недели и исполнять на открытии следующего бара. Если неделя закончилась праздником, проверьте, что ротация не пропала.
  • Дивиденды меняют ROC акций. Проверьте, включена ли корректировка графика (adjustment.dividends в ticker.modify).

MultiCharts и TradeStation (EasyLanguage)

  • Ордера отправляются только по Data1. Ротацию делают в портфельном модуле: TradeStation Portfolio Maestro или MultiCharts Portfolio Trader. На каждом символе работает копия стратегии, отбор топ-N выполняется на уровне портфеля.
  • Список символов портфеля задаётся заранее. Если взять нынешних членов S&P 500, тест покупает уже известных победителей. Нужны данные с историческими составами индекса и исключёнными бумагами.
  • Размер позиции считайте от капитала всего портфеля. Если каждая копия стратегии работает от своего стартового капитала, получится набор независимых систем, а не ротация.
  • Смена недели на дневных барах: DayOfWeek(Date) < DayOfWeek(Date[1]) срабатывает на первом баре новой недели. Решение по закрытию прошлой недели тогда исполняется на день позже, чем в правилах.
  • Для 5-10 ETF работает упрощённый путь без модуля: стратегия на Data1 читает остальные символы как Data2 и далее и держит Data1, только когда он в топе. Для сотен акций это не подходит.

MetaTrader 5 (MQL5)

  • Советник может торговать любой символ из Market Watch, мультисимвольный тестер это поддерживает. Проблема в данных: у брокера должен быть весь индекс. Обычно доступны CFD на несколько сотен американских акций, с короткой историей и без исключённых из индекса бумаг. Тест на таком списке это тест на выживших.
  • Каждый символ нужно добавить в Market Watch и загрузить по нему историю. Тест по сотням символов получается тяжёлым.
  • Дивиденды у CFD на акции приходят корректировкой баланса, а цена на графике падает в дату отсечки. ROC по такому ряду занижен у дивидендных бумаг. За удержание длинной позиции списывается своп, и при удержании три-четыре месяца он становится заметной издержкой.
  • Недельную границу считайте по времени сервера, данные берите с закрытого дневного бара (индекс 1).

Где идея может сломаться

  • Порог 20% за 18 месяцев и топ-10 Clement привёл как пример. Параметры своей системы и её результаты он не раскрыл.
  • Без стопа убыток бумаги внутри недели ограничен только её долей в портфеле. Автор принимает этот риск сознательно и защищается числом позиций. В медвежьем рынке, по его же словам, корреляции акций стремятся к единице, и десять позиций падают вместе, пока порог или фильтр не выведут в кэш.
  • Ошибка выжившего. Оба автора тестируют на исторических составах индексов. У розничного трейдера таких данных часто нет, а на текущем составе ротация выглядит лучше, чем была.
  • Порог в процентах роста зависит от эпохи. В спокойные годы 20% за полтора года проходят немногие бумаги и портфель недобран, в пузырь проходят почти все и порог перестаёт фильтровать.
  • Боковой рынок даёт частые замены и пилу. Radge называет 2022 год тяжёлым именно поэтому.
  • Недельная ротация на сотнях бумаг даёт заметный оборот. Спред, комиссии и налог на короткие прибыли могут съесть часть результата.
  • Цифры Radge о вероятности прибыли и о 2022 годе относятся к его счетам в целом, а не к описанной здесь конфигурации.

Источники

  • 010 - Alan Clement - Fortified & Diversified Quantitative Equities Strategies

    The Algorithmic Advantage · Alan Clement · 2023-12-05

    • 17:52Тест на исторических составах индекса
    • 47:44Фильтр по моментуму улучшает трендовые входы
    • 48:07Без входа: держать сильнейших и ротировать
    • 48:57Только лонг, нужен фильтр режима
    • 49:43Моментум как выход вместо стопа
    • 50:44Три варианта фильтра режима
    • 52:35Порог: рост больше 20% за 18 месяцев, затем топ-10
    • 54:39Стопы внутри недели не помогли
    • 55:33Ротация раз в неделю, удержание 3-4 месяца
    • 56:30Оптимум 14-16 позиций
    • 57:22Ротация против 52-недельных пробоев
  • 044 — Nick Radge: Want Big Fish? You'll Need a Bigger Rod

    The Algorithmic Advantage · Nick Radge · 2025-10-28

    • 20:40Абсолютный тренд и относительный моментум
    • 21:35Сначала тренд рынка, затем сильнейшие акции
    • 22:23Пересмотр раз в месяц или раз в неделю
    • 23:01Правый хвост: Tesla в 2020 году
    • 23:44Слабое место: боковой рынок 2022 года
    • 25:50Russell 1000 с месячной ротацией
    • 26:56Фильтры режима: SMA 200 и new highs-new lows
    • 1:26:43Тест на исторических составах Russell 1000

Заявлено автором

Эти цифры и утверждения принадлежат автору. Мы их не проверяли.

  • Alan Clement: ротация раз в неделю, среднее удержание сделки около трёх-четырёх месяцев.
  • Clement: по его опыту, оптимальное число позиций 14-16. Порог 20% за 18 месяцев и топ-10 он приводит как пример, а не как параметры своей системы.
  • Clement: в его тестах 52-недельные пробои и другие абсолютные трендовые входы на акциях дали меньше, чем ротация. Цифр он не приводит.
  • Nick Radge: 2020 год стал для него рекордным в основном из-за Tesla, купленной около $30-40 (пик около $340). Такая бумага, по его словам, бывает почти каждый год: Moderna в 2021, AppLovin в 2024. В 2022 году такой не было.
  • Radge: в 2022 году просадка по его счетам составила около 30%. Боковой рынок он называет слабым местом подхода.
  • Radge: вероятность прибыли в любом 12-месячном окне у его стратегий 86% или 91%, в зависимости от стратегии. Какой именно, не уточнено.

Похожие идеи

Обновлено: 2026-09-11