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

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

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

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

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


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

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

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

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

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

*Важно. Дивиденды у робота зачисляются роботу в ночь закрытия реестра, но зачисление дивидендов в общий портфель эмулятора происходит через 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) Настройки робота

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

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) Один из вариантов тестирования

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

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

Дивиденды в алготрейдинге №3: KeltnerDividendScreener
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

Дивиденды в алготрейдинге №3: KeltnerDividendScreener
https://www.tbank.ru/invest/

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

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

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