Как проверить облигацию по номеру
Перейти к содержимому

Как проверить облигацию по номеру

  • автор:

Как я ищу ликвидные облигации на Московской бирже

Когда не можешь купить определенную облигацию на бирже из-за отсутствия ликвидности, это обидно. Особенно если потратил время на ее анализ и подбор.

кандидат технических наук

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

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

Какие сервисы я использовал

До создания таблицы я пробовал разные сервисы: Smart-lab , Cbonds, Rusbonds, bonds.finam.ru, анализ облигаций от УК «Доходъ» и сервис поиска от Московской биржи.

На мой взгляд, в некоторых из них требуется слишком много исходных параметров, а их указание не ведет к желаемым результатам. У меня есть четкое представление о том, что для меня важно, и этих пунктов всего пять. К тому же на этапе покупки может оказаться, что торгов по бумаге не было уже несколько дней. Только в одном сервисе из шести — Rusbonds — можно в явном виде указать желаемый оборот бумаг, в остальных эта информация недоступна.

Какие параметры для меня важны

Мне было важно иметь возможность указать определенные параметры, какие-то — диапазоном, какие-то — минимальным порогом.

Диапазон текущей доходности. В Т⁠—⁠Ж уже есть хорошая статья про доходность облигаций. От себя добавлю, что для поиска парковки денег на несколько месяцев доходность — один из важных параметров.

Диапазон текущих цен. Обычно я ищу варианты именно для парковки денег на несколько месяцев и держу облигации до погашения. Для этого случая слишком высокая цена скорее отпугивает, ведь эмитент при погашении заплатит только 100% номинала. Поэтому при поиске указываю не более 101% от номинала.

Диапазон дюрации. Дюрация — это эффективный срок до погашения облигации. Учитываю, чтобы видеть только те облигации, что погасятся в нужные мне сроки.

Обложка статьи

Минимальный объем сделок за последние несколько дней. Это самый важный параметр, из-за которого и был написан скрипт. Я хотел иметь возможность указать пороговый средний объем сделок за последние 15 дней, чтобы сервис показывал только то, что проходит фильтр.

Есть ли налоговая льгота для корпоративных облигаций. На текущий момент еще действуют льготы по налогу на купонный доход с облигаций федерального займа (ОФЗ), муниципальных и субфедеральных облигаций, а также выпущенных после 1 января 2017 года корпоративных облигаций со ставкой не выше ставки ЦБ + 5 п. п. Пока что этот параметр тоже важен.

Все эти критерии я учел в своей таблице со встроенным поиском.

Как работает таблица

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

Чтобы таблица была не просто очередным безымянным шаблоном, я дал ей собственное имя: Поиск ликвидных облигаций на Мосбирже �� . Название говорит о том, что делает эта таблица, а silver fir отсылает к разновидности вечнозеленых деревьев: ведь некоторые облигации торгуются не только в рублях.

Сам код скрипта можно посмотреть через панель «Инструменты» → «Редактор скриптов». Расскажу вкратце, что делает скрипт:

  1. Подключается к внешнему сервису Московской биржи, перебирая укрупненные группы разных режимов торгов облигациями. Их три: «Т0: Основной режим — безадрес», «Т+: Основной режим — безадрес», «Т+: Основной режим (USD) — безадрес».
  2. Далее скрипт ищет внутри этих ответов с сервера Мосбиржи бумаги, удовлетворяющие заданному диапазону текущей доходности и диапазону текущих цен.
  3. Когда такие бумаги найдены, это сразу уменьшает выборку с полутора тысяч всех доступных на Мосбирже облигаций до максимум нескольких десятков.
  4. Среди найденных вариантов происходит дальнейшая фильтрация по суммарным оборотам за последние несколько дней.
  5. Если бумага проходит и этот фильтр, то она попадает в конечную выборку и для нее определяется наличие налоговой льготы для корпоративных облигаций, выпущенных с 1 января 2017 года.
  6. После этого массив найденных бумаг записывается в таблицу на вкладку «Результат», а перед этим вся вкладка очищается от любых записей.
  7. Разрешение на отображение и выполнение внешнего веб-контента требуется только для того, чтобы через дополнительный пункт меню отобразить ссылку на эту статью в Т⁠—⁠Ж.

Работа скрипта полностью зависит от сервера Московской биржи

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

Пошаговое руководство по использованию

После корректировки параметров скрипту необходимо авторизоваться для работы. Для этого перейдите на вкладку меню «Инструменты» → «Макросы» и выберите любой из двух пунктов: «Открыть описание работы таблицы» или «Искать по параметрам».

Далее потребуется разрешить такие действия:

  1. Просмотр, создание, изменение и удаление таблиц на « Гугл-диске ».
  2. Подключение к внешнему сервису.
  3. Отображение и выполнение внешнего веб-контента в уведомлениях и на боковых панелях приложений «Гугла».

Выглядит это разрешение так.

Посмотреть список всех приложений, которые уже имеют доступ к вашему аккаунту, можно здесь. При необходимости можно закрыть доступ или изменить его настройки.

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

В меню этой гугл-таблицы появится новый пункт «Поиск облигаций v. 3», а в нем кнопка «Искать по параметрам». Она запустит работу скрипта, который закончит свою работу примерно за минуту, вставив результаты работы на лист «Результат».

Запомнить надо две вещи

  1. Скрипт делает предварительную механическую работу по подбору подходящих облигаций.
  2. Решение о дальнейшей покупке конкретных найденных бумаг должен принимать сам человек после знакомства с эмитентом.

Загрузка

Михаил Шардин

Крутая статья! Не останавливайтесь.

Михаил Шардин

Спасибо за таблицу!

Михаил Шардин

Спасибо автору за труд!
Далее уже можно доработать под себя, например, загиперссылить название на полную инфу по выпуску, данные по оферте.

Для начала добавил поля с датой погашения(MATDATE) и офертой(OFFERDATE) — для этого надо добавить имена полей в ссылку, значения в bonds из ответного json и расширить область вывода на 2 столбца.

Доступные имена полей — https://iss.moex.com/iss/engines/stock/markets/bonds/

Михаил Шардин

Олег, да, дело такое — можно править под любые нужды:
The MIT License
Разрешает:
* Коммерческое использование
* Распространение
* Изменение
* Личное использование

Запрещает:
* Отказ от ответственности
* Никакой гарантии

Вот мой репозиторий под Node.js:
https://github.com/empenoso/SilverFir-Investment-Report/tree/master/Node.js%20Release/bond_search_v2

Михаил, я имел в виду следующее:

мне, например, критично отбирать облигации без оферты, субординированности, погашения с амортизацией. Возможно ли добавить в ваш шаблон подобные фильтры для отбора?

Михаил Шардин

Anton, это возможно — скрипт публично доступнен — исправьте под себя.
Эта версия на Google Apps Script, ещё есть версия на Node.js.

Вот статья про Node.js версию этого скрипта: https://habr.com/ru/post/506720/

Михаил Шардин

Михаил Шардин

Flow, а про какой портфель идёт речь не могу понять? Это же просто скринер. Это не портфель.

Спасибо огромное! Очень удобный поиск

Спасибо! Очень интересно. А оферта вас не интересует?

Михаил Шардин

Aleksandr, по желанию можно доделать. Код ведь открыт.

Михаил, Я понял. Но хотел узнать ваше мнение при выборе облигации об оферте.

Михаил Шардин

Aleksandr, когда ищу короткие по срокам, то стараюсь избегать оферт.

Я пока только изучаю, пробую покупать акции, но ваша таблица по поиску облигаций просто классная ! Спасибо за информацию !

Уже не работает?

Михаил Шардин

Елена, невозможно что-то купить если нет предложений на продажу в стакане.
И с налогами с января 2021 года все поменяется.

Михаил Шардин

Елена, вообще речь про облигации. И ситуация именно по облигациям не такая уж и редкая.

Благодарю за таблицу!

Михаил, большое спасибо за инструмент! А подскажите, пожалуйста, как бы еще усовершенствовать ваш скринер на фильтр для квалифицированных инвесторов?

Михаил, скажите, а КАК это сделать? У меня та же ошибка(
С двумя вкладками внизу вроде понятно,создал файл и сохранил. А код где находится и как его скопировать?
Это работает только в Google Sheets или будет работать в обычном Экселе(не веб-версии)

Я прошу прощения — поисковики на rusbonds ну совсем никого не устраивают? Нет никаких плясок с бубном, куча фильтров, включая оферту

ОГРОМНОЕ спасибо за статью и таблицу. 2 вопроса:
1. Налоги с купонов теперь придется платить с любого типа облигаций (то есть остались ли хоть какие-нибудь льготы)? Можно ли сразу от доходности в %% отчекрыжить налог, чтобы понять, какая реально доходность за вычетом налогов?
2. Выбранные облигации с высоким рейтингом? Сколько у них звездочек в худшем случае? 🙂

Михаил Шардин

Mr, скоро выйдет продолжение с учетом 2021 года.

Спасибо за труд!! Вы гений����

Михаил Шардин

Владмир, спасибо!
Скоро в Т—Ж выйдет продолжение для гугл таблиц, но если есть желание посмотреть уже сейчас, то вот для Node.js: https://habr.com/ru/post/533016/

Сначала, конечно, спасибо за автоматизацию процесса, на самом деле выбирать правильные зёрна в отвалах мусора дело долгое и неблагодарное.
Но есть несколько вопросов:
1) я ограничил цену не до 101%, а до 102,5%, вполне можно потерять 2,5%, если доход в год 10% и больше . При этом ограничении нашлось 22 облигации. Всего 22. Я отбираю с прошлого года с параметрами >9.5%, меньше 3 лет и обязательно с известными купонами. У меня 56 облигаций.
2) Тинькоф не хочет торговать всеми бумагами Мосбиржи, поэтому у меня 30 бумаг у Тинькова и 26 у ВТБ — там намного больше выбор. Автор может исправить макрос, чтобы искать облигации на всей бирже?
3) Статья написана и размещена на сайте Тинькофф — странно, но даже из этих 22 найденных облигаций 4 Тинькоф не продаёт: RU000A0JWN89 RU000A102J57 RU000A100Q92 RU000A0ZZNV7. Опять в ВТБ уходить?
4) возможно, уменьшение количества в списке вызвано многими ошибками Тинькова, как например:

Ламбумиз выпуск 1
RU000A100LE3

09 июля 2021
через 4 месяца

Михаил Шардин

Sergei, авторы здесь часто никак не связаны с Тинькофф ��‍♂️

Михаил, про Тинькоф понятно, а почему облигации то далеко не все находит?

Облигации

Корпоративная облигация — RU000A0NR6J1

Эмитент — АКЦИОНЕРНОЕ ОБЩЕСТВО «АЛЬФА-БАНК»; Корпоративная облигация — RU000A0NR6J1

Корпоративная облигация — RU000A106BM4

Эмитент — АКЦИОНЕРНОЕ ОБЩЕСТВО «АЛЬФА-БАНК»; Корпоративная облигация — RU000A106BM4

Корпоративная облигация — RU000A0NR6U8

Эмитент — АКЦИОНЕРНОЕ ОБЩЕСТВО «АЛЬФА-БАНК»; Корпоративная облигация — RU000A0NR6U8

Корпоративная облигация — RU000A105XQ1

Эмитент — АКЦИОНЕРНОЕ ОБЩЕСТВО «АЛЬФА-БАНК»; Корпоративная облигация — RU000A105XQ1

Поиск облигаций

Здесь вы сможете легко и быстро подобрать облигации, удовлетворяющие именно вашим критериям. На сайте реализованы фильтры, которые помогут вам найти облигации под ваши нужды. Поиск облигаций осуществляется по всем рублевым облигациям, находящимся в обращении на Московской бирже в данный момент.

Поиск облигаций — это калькулятор доходности облигаций, в котором не нужно отдельно искать и добавлять ценные бумаги для расчета и сравнения. Вы ищите по таблице, которая уже содержит посчитанные параметры по каждой облигации.

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

Чтобы выполнить поиск облигаций, просто задайте фильтры, которые вам необходимы, остальные — оставьте пустыми. После чего нажмите “применить”.

Скрипт выборки российских облигаций по параметрам

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

Работа скрипта по поиску облигаций на Московской бирже

Так как сервисов по поиску российских облигаций много, но ни один из них не имеет достаточной гибкости и простоты и поэтому на работу с ними тратится достаточно много времени. Исходя из этого и решил разработать собственный скрипт для поиска облигаций.

Сделал это на Node.js с выводом полученных результатов в локальный html файл с интерактивной таблицей от Google Charts (а в случае, если JavaScript отключен в браузере, что например происходит при открытии этого html файла из мессенджера на iPhone, то отображается статическая версия таблицы, также сгенерированная скриптом).

Существующие сервисы и мои параметры для поиска

Существующих сервисов довольно много:

    — блоги трейдеров и инвесторов. . Рынок внутренних и международных облигаций.
  • Облигации в России — Rusbonds. — информация о российском рынке облигаций.
  • Сервис поиска от Московской Биржи. . УК ДОХОДЪ.

Мой желаемый результат — актуальная выборка из всех российских облигаций по следующим параметрам:

  1. Заданный диапазон текущей доходности.
  2. Заданный диапазон текущих цен.
  3. Заданный диапазон дюрации.
  4. Объем сделок за последние n дней больше порогового.
  5. Ответ на вопрос — есть ли налоговая льгота для корпоративных облигаций, выпущенных после 1 января 2017 года?
  • 5% < Доходность < 11%
  • 98% < Цена < 101%
  • 4 мес. < Дюрация < 15 мес.
  • Объем сделок за n дней > 15 000 шт.

Облигации на Московской бирже доступны внутри основных режимов торгов:

  • Т0: Основной режим — безадрес. (до 22.05.2020: 1443 бумаг, в июне — 131 шт.).
  • Т+: Основной режим — безадрес. (до 22.05.2020: 295 бумаг, в июне — 1638 шт.).
  • Т+: Основной режим (USD) — безадрес. (до 22.05.2020: 125 бумаг, в июне — 128 шт.).

Мой скрипт поиска облигаций на Московской бирже

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

Я хотел найти некий баланс — чтобы минимально подкованный человек мог воспользоваться результатами работы этого скрипта.

Ещё одно очень важное отступление — в скрипте всё напрямую зависит от работы API Московской биржи, которое имеет свои особенности.

Если говорить про поиск облигаций, то сразу после открытия торгов значения доходности по средневзвешенной цене ( YIELDATWAPRICE ) обнуляются.


Схема определения средневзвешенной цены ( WAPRICE )

Значение YIELDATWAPRICE на мой взгляд выглядело лучше для целей поиска, но пришлось использовать YIELD , иначе сразу после открытия биржи работа скрипта была невозможна.

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


Схема определения цены закрытия ( LEGALCLOSEPRICE )

Чтобы уменьшить количество обращений к API Московской биржи я использую значение дюрации ( DURATION ), а не беру готовое значение количества дней до погашения ( DAYSTOREDEMPTION ), ведь я пользуюсь собственным скриптом только в личных целях.

Распишу подробно все шаги которые нужны для работы моего скрипта.

Самое главное что понадобится для работы скрипта — Node.js. Это — среда выполнения JavaScript. Если раньше JavaScript можно было запустить только в браузере, но однажды разработчики расширили его, и теперь можно запускать JS на своем компьютере в качестве отдельного приложения.

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

Поиск облигаций под Windows

Это будет самый подробный раздел, потому что большинство пользователей, которым это интересно, скорее всего, работают под Windows.


Раздел загрузки сайта проекта Node.js

Далее скачиваем установщик для Windows и запускаем его.


Выбор компонентов для установки Node.js

Кроме компонентов, находящихся на этом экране, больше ничего устанавливать не надо.


Ссылка на скачивание с GitHub

После этого переходим каталог « /SilverFir-Investment-Report-master/Node.js Release/bond_search_v2/ », где находятся скачанные файлы:


Каталог с необходимыми для запуска проекта файлами

И запускаем файл first start.bat , который содержит указание показать установленную текущую версию Node.js и установить необходимую для запуска проекта зависимость node-fetch:

Несмотря на такое короткое содержание Защитник Windows проявляет бдительность, но если нажать подробнее, то можно увидеть кнопку Выполнить в любом случае:


Первоначальная настройка запуска проекта


Во время выполнения bat файла

После нажатия любой клавиши зависимость будет установлена в эту же папку:


Каталог вместе с добавленными файлами

После этого всё готово для запуска скрипта поиска облигаций. Для этого запускаем файл start.bat:

Выполнение скрипты поиска облигаций. После запуска файла start.bat

Менее чем за минуту будет создан HTML файлов с текущей датой и временем в имени — он и содержит в себе найденные результаты.

Поиск облигаций под macOS

Сам процесс похож на установку под Windows и Linux.

Поиск облигаций под Linux

Если на вашем компьютере установлен Linux, скорее всего вы и сами знаете как лучше сделать. Код скрипта доступен на гитхабе. Перейдите в каталог « /SilverFir-Investment-Report-master/Node.js Release/bond_search_v2/ ».

Проверьте что Node.js установлена:
$ node -v

Проверьте что пакетный менеджер npm для Node.js установлен:
$ npm -v

Установите зависимости (в данном случае это только node-fetch):
$ npm install

Запустите файл скрипта:
$ npm start

Примерно за минуту html файл под именем файл bond_search_$.html будет создан.

Выполнение работы скрипта под Linux

Выборка облигаций

Я не сразу пришел именно к такой форме отчета, потому что я хотел чтобы этот файл отображался на любом устройстве и был удобен для просмотра. Больше всего проблем доставили айфоны — JS на них отключен и при пересылке этого отчета через любой мессенджер вместо интерактивной таблицы открывалось просто пустое место. Так что я дописал генератор обычных html таблиц.

Получились следующие виды:


На компьютере


На Android


На iPhone

Редактирование параметров выборки

Самое важное — настроить именно те параметры, которые важны именно вам, а не те, которые указал я для примера. Сделать это можно в файле index.js , со строки 42.


Задаваемые параметры поиска

Указываете нужные вам цифры, запускаете скрипт заново и примерно за минуту выборка готова.

  • Скрипт запускается в докере (не нужно ставить nodejs и модули, обновление версии nodejs в Dockerfile) — проверял только на маке (linux тоже должен работать).
  • HTML сохраняется в ./out/ (пришлось изменить, так как нужно примонтировать локальную папку в контейнер, куда будет сохранятся HTML).
  • Изменил формирование имени файла, toLocaleString().replace(/:/g, ‘-‘)> — зависит от локали, и если делиметр не «:» то replace не отработает (в англ пытается создать bond_search_2020/5/22/11-00-00.html — что есть путь а не имя).
  • docker-compose запускает контейнер (и соберет образ если он еще не собран) и передает параметры как environment variables, node читает их и если их нет то использует дефолтные из index.js — чтобы можно было запускать скрипт локально без докера.

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

Скрипт работает только за счет API Московской биржи, которое предоставляет широкие возможности. Также хочу отметить, что я никак не связан с Московской биржей и использую ИСС Мосбиржи только в личных интересах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *