Перейти к содержимому
IMOEX 2191.18 2.1%
·Инвестиции·29 июля 2026 г.

Дивиденды в алготрейдинге №3: KeltnerDividendScreener

Дивиденды в алготрейдинге №3: KeltnerDividendScreener

Третья статья цикла «Дивиденды в алготрейдинге».

В ней разбираем робота KeltnerDividendScreener — трендовую стратегию, в которой дивиденды работают фильтром качества бумаг.

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

Робот покупает пробой верхней границы канала Кельтнера, но только в тех акциях, которые платили ранее дивиденды с доходностью выше порога.

Логика такая: стабильные хорошие выплаты — признак здоровой компании, а тренды в таких бумагах надёжнее. Робот торгует только в Long.

Дивиденды тоже иногда получаем:

*Важно. Дивиденды у робота зачисляются роботу в ночь закрытия реестра, но зачисление дивидендов в общий портфель эмулятора происходит через 7 дней для того, чтобы нельзя было использовать прибыль раньше, чем она будет зачислена в реальности.

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

BotTabScreener — скринер по множеству бумаг с лимитом открытых позиций.

WikiMaster — данные о прошлых выплатах через метод GetDividendsPast: робот смотрит, что бумага платила в последние N дней.

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

KeltnerChannel — канал Кельтнера: средняя линия (EMA) плюс-минус ATR с множителем. Пробой границ канала — сигнал тренда.

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

Вход в Long (всё должно совпасть):

1) Свеча закрылась выше верхней линии канала Кельтнера — пробой вверх.

2) За последние N дней (по умолчанию 30) у бумаги была выплата с доходностью выше порога (по умолчанию 2%).

3) Открытых позиций меньше лимита MaxPositions.

4) Сейчас не входит в запрещённые периоды торговли.

Выход из позиции:

1) Свеча закрылась ниже нижней линии канала Кельтнера — тренд сломался.

Обратите внимание: здесь, в отличие от робота-захватчика из статьи #2, используются прошлые выплаты. Мы не готовимся к конкретной отсечке — мы отбираем бумаги по дивидендной истории. Это ставка на поведение компании, а не на одно событие.

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

Робот в открытом доступе на ГитХабе:

https://github.com/AlexWan/OsEngine/blob/master/project/OsEngine/Robots/Dividends/KeltnerDividendScreener.cs

Куда смотреть в коде: метод IsDividendFilterPassed — дивидендный фильтр, методы входа и выхода по линиям канала.

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

1) Regime — режим работы: On / Off / OnlyClosePosition.

2) EMA period — период средней линии канала. По умолчанию 300.

3) ATR period — период ATR для ширины канала. По умолчанию 20.

4) Multiplier — множитель ATR. По умолчанию 4.0.

5) Lookback days — глубина поиска прошлых выплат, дней. По умолчанию 30.

6) Min dividend yield % — минимальная доходность выплаты для прохождения фильтра. По умолчанию 2%.

7) Max positions — максимум одновременных позиций.

8) Iceberg orders count — дробление заявки.

9) Non trade periods — запрещённые периоды торговли.

10) Volume type / Volume / Asset in portfolio — управление объёмом позиции.

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

1) Сет — ликвидные акции MOEX.

2) Таймфрейм — 30 минут.

3) Wiki подключит историю выплат автоматически — фильтр будет работать и на прошлых данных.

4) Тестируйте на длинных участках: трендовым стратегиям нужны разные фазы рынка.

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

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

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

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

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Источник: Smart-Lab