Избранное трейдера ezomm
Вопрос. За последний месяц мы накупили ОФЗ 26241 в количестве 450 шт на сумму 400.000 руб на ИИС. Какова будет отдача, додержи мы эти облигации до погашения при средней цене покупки 88,84 % ?
ОФЗ 26241 имеет купон в 47,37 руб. Все необходимые для расчета данные у нас есть. Примем единственное допущение в виде ставки реинвестирования будущих купонных выплат, будем скромными, равной 7%
Доход от данной инвестиции будет складывается из 3 источников:
1. Всех купонных выплат, получаемых 2 раза в год в течение 9 лет 47,37*18*450 = 383.697 руб;
2. Процент на процент, полученный от реинвестирования каждые 6 месяцев полугодовых купонных выплат 450*47,37*((1+0,035)^18-1)/0.035 – 383.697 = 138.551 руб;
3. Прироста капитала при погашении облигаций
450*(1000 — 888,4) = 50.220 руб
В конце срока инвестирования инвестору вернуться дополнительно от погашения 450 облигаций 450.000 руб.
Что такое Алгопак я уже писал, как и то, как можно сделать для библиотеки на Python moexalgo документацию из докстрингов – ведь пока никакого хорошего пособия с “разжеванными” примерами от Мосбиржи не существует.
На данный момент я поставил задачу – вытащить исторические данные по российским акциям и в дальнейшем их регулярно обновлять. Это позволит мне при изучении Backtrader использовать данные Мосбиржи для компонента DataFeeds, а также разрабатывать и тестировать на исторических данных собственные торговые стратегии.
Приступим. Отправная точка – раздел moexalgo на Гитхабе. Файл samples/quick_start.ipynb начинается с примера:
По BSPB ознакомился со стратегией развития до 2026 года. Трансформирую свой bear взгляд (который образовался на 280 после закрытия позиции) to neutral. В последние месяцы они начали делать то, что давно от них ждали – перестали сидеть на капитале и пошёл хороший буст активов. В ноябре пробили знаковый уровень – триллион рублей. Конечно, это уже сказалось на нормативах достаточности капитала (н1.2 13.5 на начало ноября). Вероятность увеличения пэйаута до 50 % я оцениваю теперь ещё ниже. Имеем дело в том числе с нормализацией метрик рентабельности.
В среднесрочной стратегии менеджмент таргетирует рентабельность капитала на уровне 18+ %. Без 20+% ROE трудно расти на 10% гг по активам и при этом дистрибутировать 50 %. Банк прямо сейчас стоит почти 0.6x капитала. Если увидим 0.5x книжки, то я, вероятно, вновь начну покупать. На ближайшую перспективу половина капитала – это в районе 180-190 за акцию. Модель дисконтированных дивидендов при моих вводных тоже указывает на этот диапазон, как справедливый.
.
РЕМ: Чтиво выходного дня.
.
Сегодня завершаем работу с заявками:
Функция OnTransReply
Функция OnOrder
Получение остатка по заявке, контроль исполнения полного объема
Таблица транзакций
Общая логика выставления лимитной заявки в стакане
В предыдущих примерах мы закладывали на обработку заявки небольшой таймаут (в пределах от 300 мс до 1 секунды), но правильнее отслеживать результат по коллбэкам, т.к. это время может быть и менее 300 мс, а может затянуться (по разным причинам) на секунды. Поможет нам в этом отслеживании функции обратного вызова OnTransReply и OnOrder.
Если отправляя заявку через sendTransaction мы на старте могли получить ошибку на стороне терминала (неправильно указанный торговый код/инструмент/класс рынка), то через OnTransReply мы получаем результат обработки нашей транзакции на сервере брокера (например ошибка при выставлении заявки из-за отсутствия подключения, либо у клиента нет прав на отправку транзакции конкретного типа, либо заявка не проходит по лимитам и пр.).
Функция OnTransReply возвращает ответ на транзакцию, выставленную средствами qlua.