Изображение блога
OS_Engine_team
OS_Engine_team Блог компании OsEngine
Сегодня в 17:59

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

Заключительная статья цикла «Ребалансинг в алго.

Сегодня разбираем робота RebalancerByMomentum — самого насыщенного ребалансера сборника. Если предыдущие два опирались на календарь дивидендов, то этот вообще не смотрит на выплаты. Его вопрос к рынку другой: где сейчас сила? В акциях — берём самые сильные. Нет силы в акциях — проверяем золото. Нет силы нигде — сидим в денежном рынке.

 

1) Торговая идея

Классическая моментум-логика: активы, которые росли последнее время, склонны продолжать рост. Робот каждую неделю измеряет силу тренда по трём классам активов и перекладывает капитал в сильнейшие:

Акции. Если рынок в целом здоров — покупаем топ-10 бумаг с самым сильным моментумом.

Золото. Если акции слабы, а у золота есть умеренный тренд — паркуемся в нём.

TMON@ (LQDTMOEX в тестере). Если слабо всё — капитал ждёт в денежном рынке и зарабатывает ставку.

Получается трёхуровневая защита: агрессия, защитный актив, кэш. Робот сам решает, на каком уровне находиться, и делает это по расписанию — без паники и суеты.

 

ВАЖНО!

Робот использует фонд ликвидности. Это такой инструмент, который всегда растёт, давая прибыль в условную ставку ЦБ. На западных площадках самый популярный инструмент называется LQDT («Ликвидность»). У нас в РФ множество других инструментов с похожей механикой и похожими названиями. У брокера Т-Инвестиции такой инструмент называется TMON@, а в тестере это LQDTMOEX. И то и другое — одно и то же.

 

2) Источники робота

BotTabScreener — скринер по множеству акций: именно здесь считаются индикаторы и отбирается топ по моментуму.

BotTabSimple под золото — со своими собственными индикаторами и настройками.

BotTabSimple под TMON@ (LQDTMOEX в тестере) — финальная парковка капитала. Через эту вкладку робот также читает портфель и свободные деньги.

 

3) Индикаторы

Momentum — классический моментум: отношение текущей цены к цене N свечей назад, в процентах. Значение выше 100 — актив вырос за период, ниже 100 — упал. Периоды по умолчанию: 49 свечей для акций, 60 для золота.

Keltner Channel — канал Кельтнера: EMA плюс-минус ATR, умноженный на коэффициент. Мы подробно разбирали его в третьей статье прошлого цикла. Здесь канал работает в двух ролях: верхняя граница — условие пробоя для входа, центральная линия — фильтр здоровья рынка. Настройки по умолчанию: акции — EMA 375, ATR 20, множитель 5,5; золото — EMA 640, ATR 20, множитель 1,4.

Обратите внимание: множители канала подобраны под таймфрейм 30 минут. Это не случайные числа — они калиброваны под получасовую динамику. Меняете таймфрейм — переподбирайте и канал, и пороги моментума.

 

4) Логика робота

Наступило время основного ребаланса (по умолчанию вторник, 10:00).

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

Робот идёт по шагам:

Шаг 1. Фильтр здоровья рынка. Сначала робот оценивает рынок в целом: считает, какая доля бумаг скринера торгуется выше центральной линии канала Кельтнера. Если растущих бумаг меньше, чем Stock % grow (по умолчанию 54%) — рынок считается слабым и в акции робот не идёт вообще, каким бы сильным ни был моментум отдельных бумаг. Это главный рубильник стратегии.


Шаг 2. Отбор акций. Если рынок здоров, бумага попадает в кандидаты, когда совпадают оба условия:

моментум не ниже Stock min momentum (по умолчанию 103,9 — то есть бумага выросла минимум на 3,9% за 49 свечей);

Цена закрытия выше верхней границы канала Кельтнера — есть подтверждённый пробой.

Кандидаты сортируются по убыванию моментума, и робот берёт топ-10 (параметр Stock Top N). Под акции выделяется до 50% депозита, деньги делятся поровну.

 

Шаг 3. Золото. Если по акциям позиций нет, робот проверяет золото. Условия хитрее, чем кажется:

моментум золота должен быть в коридоре от 99,5 до Gold max momentum (по умолчанию 102,3). Не перегрето и не в обвале — золото как защита покупается именно в умеренном тренде;

цена выше верхней границы канала Кельтнера.

 

Шаг 4. TMON@ (LQDTMOEX в тестере). У фонда своё отдельное время ребаланса (по умолчанию 11:00, через час после основного). Логика аккуратная: если есть позиции в акциях или золоте — TMON@ закрывается; если их нет — докупается до 49% депозита. В тестере позиция переоткрывается при смене года, а за 5 дней до конца теста закрывается, чтобы не тянуть хвост в отчёт.

 

И три детали кода, которые отличают боевого робота от учебного:

1) айсберг-заявки.
Все входы и выходы по акциям и золоту исполняются через BuyAtIcebergMarket / CloseAtIcebergMarket: заявка дробится на части с паузами между ними. На крупном капитале это экономит реальные деньги на проскальзывании.

2) пауза после закрытия акций.
В реальном режиме, закрыв позиции по акциям, робот ждёт 30 секунд, пока портфель обновится на бирже, и только потом считает деньги под золото. Без этой паузы расчёт объёма пошёл бы по устаревшей стоимости портфеля.

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

 

5) Исходный код в проекте

Робот лежит в открытом доступе на ГитХабе:
https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Rebalancers/RebalancerByMomentum.cs

 

6) Настройки робота

Параметры разбиты на четыре вкладки. Разбираем по порядку.

Вкладка Base:

Regime — режим работы: On / Off.
Rebalance period — период: Daily / Weekly / Monthly. При Monthly ребаланс происходит в первую неделю месяца. По умолчанию Weekly.
Rebalance day of week — день недели. По умолчанию вторник.
Main rebalance time — время основного ребаланса. По умолчанию 10:00.
Rebalance NOW — кнопка немедленной ребалансировки вне расписания.


Вкладка Stock:

Stock rebalance on — включить торговлю акциями.
Stock % grow — фильтр здоровья рынка: минимальная доля бумаг выше центра канала Кельтнера. По умолчанию 54%.
Stock momentum lookback — период моментума. По умолчанию 49.
Stock Top N — сколько бумаг брать в портфель. По умолчанию 10.
Stock min momentum — минимальный моментум. По умолчанию 103.9.
Stock max % deposit — доля депозита под акции. По умолчанию 50%.
Stock keltner EMA/ATR/multiplier — канал Кельтнера для акций: 375 / 20 / 5.5.
Stock iceberg orders count / ms distance — на сколько частей дробить заявку и паузы между ними в миллисекундах.


Вкладка Gold:

Gold rebalance on — включить торговлю золотом.
Gold momentum lookback — период моментума. По умолчанию 60.
Gold max momentum — верхняя граница коридора моментума. По умолчанию 102.3. Нижняя, 99.5, зашита в коде.
Gold max % deposit — доля депозита под золото. По умолчанию 50%.
Gold keltner EMA/ATR/multiplier — канал Кельтнера для золота: 640 / 20 / 1.4.
Gold iceberg orders count / ms distance — айсберг-заявки для золота.


Вкладка LQDT:

LQDT rebalance on — включить парковку в денежный рынок.
LQDT rebalance time — отдельное время ребаланса LQDT. По умолчанию 11:00.
LQDT max % deposit — доля депозита под LQDT. По умолчанию 49%.
Rebalance LQDT NOW — кнопка немедленной ребалансировки LQDT.

 

7) Запуск робота в тестере

Создайте сет из ликвидных акций MOEX — чем шире, тем честнее фильтр здоровья рынка: он считает долю растущих бумаг по всему сету. Не менее 30 бумаг.
Добавьте вкладки с золотом и LQDTMOEX.
Таймфрейм — 30 минут. Именно под него подобраны периоды индикаторов и пороги моментума. Менять таймфрейм — значит переоптимизировать всё.
Запустите тест на нескольких годах с разными режимами рынка: рост 2019–2021, обвал 2022, боковик после. Только так вы увидите все три состояния робота.

 

8) Один из вариантов тестирования

Штатные настройки робота, ТОП-30 ликвидных акций MOEX + золото + LQDTMOEX, тест за 10 лет:

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

На этом цикл «Ребалансинг в алго» заканчивается. Теперь у вас есть полный набор: календарный ребалансер, смешанный с золотом и моментумный с трёхуровневой защитой. Берите код, тестируйте, подгоняйте под себя — и делитесь результатами в сообществе!

 

Удачных алгоритмов!

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

https://smart-lab.ru/company/os_engine/blog/1024149.php

Скачать OsEngine: https://github.com/AlexWan/OsEngine
Официальная поддержка OsEngine в MAX: https://max
Канал Научный трейдинг в MAX: https://max.ru/

Поддержка OsEngine в Телеграм: https://t.me/osengine_official_support 
Канал Научный трейдинг (Bad Quant) в Телеграм: https://t.me/bad_quant

Ребалансинг в алго №4: RebalancerByMomentum — акции, золото и фонд ликвидности по силе тренда

https://www.tbank.ru/invest/

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
0 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн