Ідея коротко
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 |
Що перевірити
- Околиця порогу й вікна. Поріг 0, 10, 20 і 30%, вікно 6, 12, 18 і 24 місяці. Автор назвав 20% і 18 місяців як приклад. Якщо результат тримається лише біля цієї пари, її підібрано.
- Кількість позицій. 10 проти 15 проти 25. Дивіться доходність, просадку і частку тижнів, коли паперів, що пройшли поріг, менше, ніж слотів.
- Поріг проти фільтра індексу. Три прогони: лише поріг по паперах, лише фільтр індексу, обидва разом. Окремо 2008, 2020 і 2022 роки: як швидко портфель пішов у кеш і як швидко повернувся.
- Частота й буфер. Ротація раз на тиждень проти раз на місяць. Потім буфер: при топ-10 продавати папір, лише коли він опустився нижче 15-го місця. Рахуйте угоди на рік і результат після комісій і спреду.
- Історичний склад проти поточного. Clement прямо попереджає, що на нинішніх членах індексу трендові підходи виглядають кращими, ніж були. Різниця двох прогонів показує розмір помилки вцілілого.
- Бокові роки. 2011, 2015-2016 і 2022 окремо: оборот, кількість повернень у щойно проданий папір протягом двох тижнів, результат. Це слабке місце, яке називає Radge.
- Основна версія проти варіанта 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 рік стосуються його рахунків загалом, а не описаної тут конфігурації.