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

Написал свой скрипт в гугл-таблице и очень доволен
140

Я сделал новую версию таблицы

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

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

Аватар автора

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

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

Страница автора

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

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

Моя таблица в «Гугл-документах»
Моя таблица в «Гугл-документах»

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

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

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

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

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

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

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

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

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

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

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

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

Если посложнее: таблица работает за счет программного интерфейса к информационно-статистическому серверу Московской биржи (ИСС/ISS). По ссылке есть описание работы сервиса.

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

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

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

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

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

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

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

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

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

Инициализация работы скрипта
Инициализация работы скрипта

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

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

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

Диалоговое окно «Гугл-таблиц»
Диалоговое окно «Гугл-таблиц»
«Гугл-таблицы» предупреждают, что приложение не проверено, но если нажать на ссылку «Дополнительные настройки», то появится еще одна ссылка — переход на страницу. Жмем на нее
«Гугл-таблицы» предупреждают, что приложение не проверено, но если нажать на ссылку «Дополнительные настройки», то появится еще одна ссылка — переход на страницу. Жмем на нее
После появится вот такое окно — жмем «Разрешить». Готово, скрипт авторизован
После появится вот такое окно — жмем «Разрешить». Готово, скрипт авторизован

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

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

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

Результат работы скрипта
Результат работы скрипта

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

  1. Скрипт делает предварительную механическую работу по подбору подходящих облигаций.
  2. Решение о дальнейшей покупке конкретных найденных бумаг должен принимать сам человек после знакомства с эмитентом.
Михаил ШардинА как вы ищете облигации?
  • Евпатий КолорадКрутая статья! Не останавливайтесь!!!31
  • Михаил ШардинЕвпатий, спасибо!5
  • Anton PermogorovМихаил, я имел в виду следующее: мне, например, критично отбирать облигации без оферты, субординированности, погашения с амортизацией. Возможно ли добавить в ваш шаблон подобные фильтры для отбора?2
  • Михаил ШардинAnton, это возможно - скрипт публично доступнен - исправьте под себя. Эта версия на Google Apps Script, ещё есть версия на Node.js. Вот статья про Node.js версию этого скрипта: https://habr.com/ru/post/506720/3
  • Андрей БушуевСпасибо за таблицу!8
  • ОлегСпасибо автору за труд! Далее уже можно доработать под себя, например, загиперссылить название на полную инфу по выпуску, данные по оферте. Для начала добавил поля с датой погашения(MATDATE) и офертой(OFFERDATE) - для этого надо добавить имена полей в ссылку, значения в bonds из ответного json и расширить область вывода на 2 столбца. Доступные имена полей - https://iss.moex.com/iss/engines/stock/markets/bonds/3
  • Михаил ШардинОлег, да, дело такое - можно править под любые нужды: The MIT License Разрешает: * Коммерческое использование * Распространение * Изменение * Личное использование Запрещает: * Отказ от ответственности * Никакой гарантии Вот мой репозиторий под Node.js: https://github.com/empenoso/SilverFir-Investment-Report/tree/master/Node.js%20Release/bond_search_v23
  • Михаил ШардинАндрей, 🙏4
  • Михаил ШардинFlow, а про какой портфель идёт речь не могу понять? Это же просто скринер. Это не портфель.1
  • Elena PansyСпасибо огромное! Очень удобный поиск1
  • Aleksandr BrazhnikovСпасибо! Очень интересно. А оферта вас не интересует?1
  • Михаил ШардинAleksandr, по желанию можно доделать. Код ведь открыт.1
  • Aleksandr BrazhnikovМихаил, Я понял. Но хотел узнать ваше мнение при выборе облигации об оферте.1
  • Михаил ШардинAleksandr, когда ищу короткие по срокам, то стараюсь избегать оферт.1
  • Нелли СимоноваЯ пока только изучаю, пробую покупать акции, но ваша таблица по поиску облигаций просто классная ! Спасибо за информацию !1
  • Михаил КрахмалевУже не работает?1
  • Михаил ШардинЕлена, невозможно что-то купить если нет предложений на продажу в стакане. И с налогами с января 2021 года все поменяется.1
  • Михаил ШардинЕлена, вообще речь про облигации. И ситуация именно по облигациям не такая уж и редкая.1
  • Анна КлемятБлагодарю за таблицу!1
  • Дарья УстиноваМихаил, большое спасибо за инструмент! А подскажите, пожалуйста, как бы еще усовершенствовать ваш скринер на фильтр для квалифицированных инвесторов?1
  • Mike WiseМихаил, скажите, а КАК это сделать? У меня та же ошибка( С двумя вкладками внизу вроде понятно,создал файл и сохранил. А код где находится и как его скопировать? Это работает только в Google Sheets или будет работать в обычном Экселе(не веб-версии)1
  • Karl HungusЯ прошу прощения - поисковики на rusbonds ну совсем никого не устраивают? Нет никаких плясок с бубном, куча фильтров, включая оферту1
  • Mr ZombieОГРОМНОЕ спасибо за статью и таблицу. 2 вопроса: 1. Налоги с купонов теперь придется платить с любого типа облигаций (то есть остались ли хоть какие-нибудь льготы)? Можно ли сразу от доходности в %% отчекрыжить налог, чтобы понять, какая реально доходность за вычетом налогов? 2. Выбранные облигации с высоким рейтингом? Сколько у них звездочек в худшем случае? :)1
  • Михаил ШардинMr, скоро выйдет продолжение с учетом 2021 года.0
  • Владмир ВасильевСпасибо за труд!! Вы гений👍😉1
  • Михаил ШардинВладмир, спасибо! Скоро в Т—Ж выйдет продолжение для гугл таблиц, но если есть желание посмотреть уже сейчас, то вот для Node.js: https://habr.com/ru/post/533016/0
  • Sergei ShСначала, конечно, спасибо за автоматизацию процесса, на самом деле выбирать правильные зёрна в отвалах мусора дело долгое и неблагодарное. Но есть несколько вопросов: 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 Доходность 118,71% ?!?!?!?!? 09 июля 2021 через 4 месяца 10 429 ₽1
  • Михаил ШардинSergei, авторы здесь часто никак не связаны с Тинькофф 🤷‍♂️0
  • Sergei ShМихаил, про Тинькоф понятно, а почему облигации то далеко не все находит?0
  • Михаил ШардинSergei, фильтры значит не попадают.0
  • Могучая КучкаМихаил, Ваша табличка - бомба!!! Спасибо Вам от души!!!1
  • Михаил ШардинСабина, спасибо! Скоро выйдет новая версия. Если вы знакомы с программированием, то версия уже доступна здесь: https://habr.com/ru/post/533016/ Если нет, то в течении пары месяцев выйдет в виде таблице здесь в Т—Ж.0
  • Аркадий КоханМихаил, заработало, спасибо.1
  • Аркадий КоханМихаил, первой в результатах выскочила облигация РЖД RU000A102564, которой у Тинькова нет. Графу "льготы", которых не уже не хотите ли заменить на амортизацию?1
  • Аркадий КоханМихаил, нет, не знаком, спасибо, буду ждать.1
  • Аркадий КоханМихаил, да. После чего дата не обновилась, был 2020 год, а потом открыл снова и дата, которая ещё не наступила.1
  • Владислав ЕременкоМихаил, спасибо! А на поиск акций тоже можно использовать ваш скрипт? Или его нужно дорабатывать?1
  • Михаил ШардинВладислав, серьезно дорабатывать.0
  • Михаил ШардинУже вышло продолжение: https://journal.tinkoff.ru/moex-bond-2/2
  • Vlad SannikovСуперб спасибо за файл!1
  • Михаил ШардинVlad, Уже вышло продолжение: https://journal.tinkoff.ru/moex-bond-2/0
  • МаксимМихаил, подскажите, а вид купона облигации как то можно выгружать с Мосбиржи?1
  • Михаил ШардинМаксим, да, можно.0
  • МаксимМихаил, спасибо за ответ. А есть какой то пример, статья, где можно посмотреть формулу. Не пойму за счетка каких параметров идет выгрузка, так-как не нашел такого параметра на Мосбирже.1
  • Михаил ШардинМаксим, информация есть в до сих пор актуальной статье: https://journal.tinkoff.ru/list/spreadsheets-for-investor/0
  • Полина СергеевнаДобрый день Михаил,хотелось бы спросить у Вас)про облигации начиная с 1941 года выпуска по 1955 годы выпуска-государственный заём развития народного хозяйства СССР.Что с ними можно сделать?1
  • Михаил ШардинПолина, на аукционе продать. На бумажные боны есть спрос0
  • Мэри ДженкинсОгромное спасибо!1
  • Михаил ШардинМэри, 🙏0
  • Михаил ШардинУже снова вышло продолжение: Как искать ликвидные облигации в 2023 году https://journal.tinkoff.ru/moex-bond-3/ Находим выгодные варианты парковки рублей на нужный вам срок0