Ідея коротко
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 років місячної ротації набирається небагато перемикань. Статистична вага такого тесту менша, ніж у стратегій із сотнями угод.
- У бокових ринках місячне вікно запізнюється. Сигнал входить після зростання і виходить після падіння, і пила коштує дорожче, ніж здається за підсумковою кривою.