Идея коротко
Gary Antonacci соединил два вида моментума. Абсолютный отвечает на вопрос, стоит ли вообще быть в рынке акций: рос ли он за последний период сильнее безрисковой ставки. Относительный отвечает на вопрос, в какой части рынка быть: какой из кандидатов вырос сильнее остальных. Если абсолютный моментум отрицательный, капитал уходит в облигации или T-bills.
Сделки только в лонг, без шортов и инверсных ETF. Стопа нет: его роль выполняет сама смена актива. Простые модели Antonacci считают на месячных данных и пересматривают позицию раз в месяц. По его словам, лучше всего подход работает на индексах акций разных регионов.
Вариант B из книги Leslie Masonson (пересказ канала Financial Wisdom) проще. Каждый месяц держим QQQ или TLT, смотря у кого выше доходность за три месяца. Проверки против T-bills в нём нет: облигации сами служат и защитным активом, и ориентиром.
Длину окна и список ETF Antonacci в интервью не назвал. Они заданы нами и помечены.
Почему это может работать
Antonacci объясняет моментум поведением инвесторов. Люди рано продают прибыльные позиции и долго держат убыточные, из-за этого движение цены растягивается во времени. Второй эффект: инвесторы предпочитают рынок своей страны и пропускают возможности в других регионах. Правило, которое смотрит на весь мир одинаково, может забрать эту премию. Сам механизм в интервью описан словами, без чисел.
Относительный моментум без абсолютного всегда держит какой-то рисковый актив, даже когда падает весь рынок. Абсолютный фильтр добавляет выход из акций в затяжных падениях. Antonacci добавляет довод против постоянной диверсификации: корреляции акций и облигаций нестабильны (в 2022 году они падали вместе), а слабые активы в портфеле тянут результат вниз. Двойной моментум держит только то, что сейчас растёт.
Слабое место автор называет сам: боковые рынки, где тренд меняется часто и модель пилит.
Правила
Основная модель (логика автора, настройки Finetiq)
// решение на закрытии последнего торгового дня месяца, исполнение на открытии следующего дня
// Finetiq: автор говорит о месячной ребалансировке, день не называет
RiskAssets = [SPY, EFA, EEM] // автор: индексы акций разных регионов; Finetiq: США, развитые рынки, развивающиеся
Bills = BIL // Finetiq: ETF на T-bills как мера безрисковой доходности
Safe = AGG // Finetiq: защитный актив; автор: облигации или T-bills
N = 12 месяцев // Finetiq: стартовое значение, автор длину не назвал
Ret(x) = доходность x за N месяцев с учётом дивидендов // Finetiq: полная доходность
// шаг 1: абсолютный моментум рынка акций (автор, 07:57)
IF Ret(SPY) > Ret(Bills)
// шаг 2: относительный моментум (автор)
Hold = актив из RiskAssets с максимальной Ret
ELSE
Hold = Safe
IF Hold <> текущая позиция
SELL текущую позицию AT NEXT BAR OPEN
BUY Hold на весь капитал AT NEXT BAR OPEN // Finetiq: одна позиция на 100%
// автор: только лонг, стоп не используется, выход происходит сменой актива
Второе прочтение порядка проверок
В интервью порядок описан двумя способами. Antonacci сам говорит, что тренд проверяется на рынке акций в целом. Ведущий пересказывает иначе: каждый кандидат сравнивается с безрисковой ставкой, и сильнейший выбирается среди прошедших. Antonacci соглашается с пересказом.
// прочтение 2 (пересказ ведущего, 14:17)
Passed = [x in RiskAssets : Ret(x) > Ret(Bills)]
IF Passed не пуст
Hold = актив из Passed с максимальной Ret
ELSE
Hold = Safe
// разница с основной моделью только в месяцы, когда SPY ниже T-bills,
// а другой регион выше: здесь держим его, в основной модели уходим в Safe
Вариант B. Masonson: QQQ или TLT по трём месяцам
// месячная ротация, всегда в одном из двух активов
R3(x) = Close(x) / Close(x, 63 торговых дня назад) - 1
// автор: доходность за предыдущие 90 дней (3 месяца); Finetiq: 63 торговых дня
IF R3(QQQ) > R3(TLT)
Hold = QQQ
ELSE
Hold = TLT
// день ребалансировки в видео не назван.
// Finetiq: последний торговый день месяца, исполнение на открытии следующего
Параметры
| Параметр | Значение | Откуда |
|---|---|---|
| Абсолютный фильтр | доходность рынка акций выше T-bills | автор |
| Выбор актива | максимальная доходность среди кандидатов | автор |
| Направление | только лонг | автор |
| Частота | раз в месяц и при смене позиции | автор |
| Данные | месячные | автор |
| Кандидаты | SPY, EFA, EEM | Finetiq (автор: индексы разных регионов) |
| Безрисковый ориентир | BIL | Finetiq |
| Защитный актив | AGG | Finetiq (автор: облигации или T-bills) |
| Окно доходности | 12 месяцев | Finetiq |
| Доходность | с учётом дивидендов | Finetiq |
| День ребалансировки | последний торговый день месяца | Finetiq |
| Вариант B: активы | QQQ и TLT | автор |
| Вариант B: окно | 3 месяца (90 дней) | автор |
| Вариант B: окно в барах | 63 торговых дня | Finetiq |
Что проверить
- Окрестность окна. 3, 6, 9 и 12 месяцев, а также среднее по нескольким окнам. Antonacci упоминает, что его сбалансированная модель добавляет к книжной версии несколько окон. Если результат держится только на одной длине, она подобрана.
- Порядок проверок. Основная модель против прочтения 2. Посмотрите, в какие месяцы они расходятся и что происходило дальше.
- Вариант B с абсолютным фильтром и без него. Добавьте к QQQ/TLT правило: если обе доходности ниже BIL, держим BIL. Отдельно смотрите 2022 год, когда акции и длинные облигации падали вместе.
- День и частота ребалансировки. Конец месяца против начала и середины, раз в месяц против раз в три недели (так ребалансируется модель AGM у автора). Если результат сильно зависит от дня месяца, эдж хрупкий.
- Полная доходность против цены. Прогоните сигнал на ценах без дивидендов и на скорректированных. У TLT и AGG выплаты составляют заметную часть доходности, и по голой цене облигации будут выбираться реже.
- Начало периода. Тест Masonson начинается в декабре 2009 года, после кризиса. Прогоните вариант B с 2003 года (после запуска TLT), чтобы в выборку попал 2008 год.
- Число переключений и издержки. Посчитайте смены позиции в год и серии «туда-обратно» за два месяца. В боковом рынке их больше всего, туда же уходит проскальзывание и налог.
Особенности платформ
TradingView (Pine Script)
- Стратегия торгует только символ графика. Ротацию между тремя-четырьмя ETF как стратегию не протестировать: сигнал посчитать можно, а сделки по другим символам нельзя.
- Для QQQ/TLT на графике QQQ тестер покажет только периоды в QQQ, месяцы в TLT будут выглядеть как кэш. Это другой результат. Кривую ротации придётся считать вручную в индикаторе.
- Данные других ETF читаются через
request.security. Значения прошлого месяца без заглядывания вперёд:request.security(sym, "M", close[1], lookahead = barmerge.lookahead_on). Последний торговый день месяца на истории заранее неизвестен, на практике сигнал сдвигается на первый бар нового месяца. - Проверьте корректировку на дивиденды: настройка графика и параметр
adjustment.dividendsвticker.modify. Без неё облигационные ETF выглядят слабее, чем были.
MultiCharts и TradeStation (EasyLanguage)
- Ордера отправляются только по Data1. Ротацию делают в портфельном модуле (TradeStation Portfolio Maestro, MultiCharts Portfolio Trader) или отдельной стратегией на каждый ETF: стратегия на графике SPY читает остальные ETF как Data2-Data4 и держит SPY, только когда он победитель.
- При отдельных стратегиях у каждой свой капитал. Суммарный результат похож на ротацию, только если размер позиции считается от общего счёта, иначе кривые не совпадут.
- Смена месяца на дневных барах:
Month(Date) <> Month(Date[1])срабатывает на первом баре нового месяца. Решение по закрытию прошлого месяца исполняется на день позже, чем в правилах. - Уточните, скорректированы ли ряды ETF на дивиденды у вашего поставщика данных.
MetaTrader 5 (MQL5)
- Советник может торговать несколько символов, мультисимвольный режим тестера это поддерживает. Но ETF у брокеров MT5 встречаются редко, обычно как CFD с короткой историей. ETF на T-bills почти нигде нет.
- Замена ETF индексными CFD меняет стратегию: нет дивидендов, есть своп за удержание. У CFD на облигационный ETF своп может съесть процентный доход, ради которого актив держат.
- «Кэш» на счёте MT5 это свободная маржа без процентов. Защитная часть модели не зарабатывает ставку T-bills.
- Месячные бары берите с закрытого бара:
iClose(sym, PERIOD_MN1, 1). Границы месяца идут по времени сервера брокера и сдвинуты на несколько часов от биржевых.
Где идея может сломаться
- Antonacci описал логику, но не параметры. Окно, список ETF и защитный актив в основной модели наши. Результаты его коммерческих моделей к этой конфигурации не относятся.
- Цифры варианта B взяты из пересказа книги на YouTube-канале. Период начинается сразу после кризиса 2008 года, на падающих ставках, когда росли и QQQ, и TLT. Просадка 56.3% выше, чем у buy and hold, а вывод об опережении с поправкой на риск принадлежит ведущему.
- Выбор QQQ как рискового актива сделан задним числом: это один из самых сильных индексов периода.
- Ротация между акциями и облигациями не защищает, когда оба актива падают одновременно. Antonacci сам приводит 2022 год как пример.
- За 15 лет месячной ротации набирается немного переключений. Статистический вес такого теста меньше, чем у стратегий с сотнями сделок.
- В боковых рынках месячное окно запаздывает. Сигнал входит после роста и выходит после падения, и пила стоит дороже, чем кажется по итоговой кривой.