← Усі ідеї
#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