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

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов

Продолжаем цикл статей «Дивиденды в алготрейдинге».

 

Сегодня первая практическая статья — разбираем робота DividendCaptureScreener. Это классическая стратегия захвата дивидендов: покупаем акцию перед отсечкой реестра, получаем выплату и выходим.

 

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

Робот ищет акции, у которых в ближайшие дни наступает отсечка реестра, и покупает их заранее — пока цена выше скользящей средней. На следующий день после отсечки позиция закрывается. Идея в том, чтобы поймать преддивидендное движение и выплату, не сидя в бумаге долго.

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

 

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

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

WikiMaster — источник данных о дивидендах: даты отсечек, размеры и доходность выплат. Работает и в тестере, и в бою.

 

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

SMA — простая скользящая средняя. Фильтр тренда: покупаем только выше неё. Отключается в настройках.

 

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

Вход в позицию (всё должно совпасть):

1) По бумаге есть дивиденд с отсечкой в ближайшие N дней (по умолчанию 5).

2) Цена закрытия выше SMA (если фильтр включён).

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

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

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

1) Наступил день, следующий за датой отсечки реестра.

2) Время сессии достигло заданного (по умолчанию 10:05).

Здесь есть важная деталь кода, на которую стоит обратить внимание. Дата реестра запоминается роботом в момент входа в сделку. Зачем? После отсечки метод GetDividendsFuture начинает смотреть уже на следующий дивиденд — и если бы робот проверял дату «на лету», условие выхода никогда бы не сработало. Запоминание этой даты решает эту проблему честно и просто.

 

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

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

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

 

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

Разбираем параметры по порядку.

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов

 

1) Regime — режим работы: On / Off / OnlyClosePosition (только закрытие имеющихся позиций).

2) Daysbeforeregistry — за сколько дней до отсечки искать вход. По умолчанию 5.

3) SMAperiod — период скользящей средней. По умолчанию 50.

4) UseSMAfilter — включить или выключить фильтр по SMA.

5) Maxpositions — максимум одновременно открытых позиций. По умолчанию 5.

6) Icebergorderscount — на сколько частей дробить заявку (айсберг-ордера). Полезно на неликвидных бумагах.

7) Exittime — время выхода на следующий день после отсечки. По умолчанию 10:05.

8) Nontradeperiods — запрещённые периоды торговли (утро, обед, вечер) с возможностью включать и настраивать каждый.

9) Volumetype — тип объёма: фиксированный объём или процент от депозита (по умолчанию 20%).

10) Volume — размер объёма.

11) Assetinportfolio — валюта портфеля для расчёта процентного объёма (рубли).

 

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

1) Создайте сет из ликвидных акций MOEX — Сбербанк, Газпром, Лукойл и другие дивидендные бумаги.

2)Таймфрейм — 30 минут. Меньше не надо.

3)Включите выплату дивидендов в тестере. В эмуляторе биржи.

4)Запустите тест на нескольких годах истории, чтобы захватить разные сезоны выплат (весна и лето — самые «дивидендные» месяцы на MOEX).

 

Начисление дивидендов и их включение в тестере, можно посмотреть здесь:

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов

 

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

Штатные настройки робота для ТОП 30 акций MOEX за 10 лет:

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов

 

9) Риски и нюансы

Честно про слабые места стратегии:

1)Дивидендный гэп. После отсечки цена падает примерно на размер дивиденда — выплата сама по себе прибыли не гарантирует. SMA-фильтр и ранний выход нужны именно для борьбы с этим эффектом.

2)Комиссии. Сделки короткие, оборота много — смотрите на свой тариф.

3)Проскальзывание. На неликвидных бумагах пользуйтесь айсберг-ордерами и не лезьте туда, где спред съест выплату.

4)Налоги. С дивидендов удерживается налог — учитывайте это при подсчёте реальной доходности стратегии.

 

Следующая статья — KeltnerDividendScreener: торгуем тренд, но только в бумагах с хорошей дивидендной историей. Другой взгляд на те же данные. Подписывайтесь!

 

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

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов
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

Дивиденды в алготрейдинге №2: DividendCaptureScreener — захват дивидендов
https://www.tbank.ru/invest/

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

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

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