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

Какие сервисы я использовал
До создания таблицы я пробовал разные сервисы: Smart-lab, Cbonds, Rusbonds, bonds.finam.ru, анализ облигаций от УК «Доходъ» и сервис поиска от Московской биржи.
На мой взгляд, в некоторых из них требуется слишком много исходных параметров, а их указание не ведет к желаемым результатам. У меня есть четкое представление о том, что для меня важно, и этих пунктов всего пять. К тому же на этапе покупки может оказаться, что торгов по бумаге не было уже несколько дней. Только в одном сервисе из шести — Rusbonds — можно в явном виде указать желаемый оборот бумаг, в остальных эта информация недоступна.
Какие параметры для меня важны
Мне было важно иметь возможность указать определенные параметры, какие-то — диапазоном, какие-то — минимальным порогом.
Диапазон текущей доходности. В Т—Ж уже есть хорошая статья про доходность облигаций. От себя добавлю, что для поиска парковки денег на несколько месяцев доходность — один из важных параметров.
Диапазон текущих цен. Обычно я ищу варианты именно для парковки денег на несколько месяцев и держу облигации до погашения. Для этого случая слишком высокая цена скорее отпугивает, ведь эмитент при погашении заплатит только 100% номинала. Поэтому при поиске указываю не более 101% от номинала.
Диапазон дюрации. Дюрация — это эффективный срок до погашения облигации. Учитываю, чтобы видеть только те облигации, что погасятся в нужные мне сроки.
Минимальный объем сделок за последние несколько дней. Это самый важный параметр, из-за которого и был написан скрипт. Я хотел иметь возможность указать пороговый средний объем сделок за последние 15 дней, чтобы сервис показывал только то, что проходит фильтр.
Есть ли налоговая льгота для корпоративных облигаций. На текущий момент еще действуют льготы по налогу на купонный доход с облигаций федерального займа (ОФЗ), муниципальных и субфедеральных облигаций, а также выпущенных после 1 января 2017 года корпоративных облигаций со ставкой не выше ставки ЦБ + 5 п. п. Пока что этот параметр тоже важен.
Все эти критерии я учел в своей таблице со встроенным поиском.
Как работает таблица
Если посложнее: таблица работает за счет программного интерфейса к информационно-статистическому серверу Московской биржи (ИСС/ISS). По ссылке есть описание работы сервиса.
Если попроще: я уже во всем разобрался. Вникать в программный код, чтобы воспользоваться таблицей, вам не придется.
Чтобы таблица была не просто очередным безымянным шаблоном, я дал ей собственное имя: Поиск ликвидных облигаций на Мосбирже 🔎 [SilverFir 🌲]. Название говорит о том, что делает эта таблица, а silver fir отсылает к разновидности вечнозеленых деревьев: ведь некоторые облигации торгуются не только в рублях.
Сам код скрипта можно посмотреть через панель «Инструменты» → «Редактор скриптов». Расскажу вкратце, что делает скрипт:
- Подключается к внешнему сервису Московской биржи, перебирая укрупненные группы разных режимов торгов облигациями. Их три: «Т0: Основной режим — безадрес», «Т+: Основной режим — безадрес», «Т+: Основной режим (USD) — безадрес».
- Далее скрипт ищет внутри этих ответов с сервера Мосбиржи бумаги, удовлетворяющие заданному диапазону текущей доходности и диапазону текущих цен.
- Когда такие бумаги найдены, это сразу уменьшает выборку с полутора тысяч всех доступных на Мосбирже облигаций до максимум нескольких десятков.
- Среди найденных вариантов происходит дальнейшая фильтрация по суммарным оборотам за последние несколько дней.
- Если бумага проходит и этот фильтр, то она попадает в конечную выборку и для нее определяется наличие налоговой льготы для корпоративных облигаций, выпущенных с 1 января 2017 года.
- После этого массив найденных бумаг записывается в таблицу на вкладку «Результат», а перед этим вся вкладка очищается от любых записей.
- Разрешение на отображение и выполнение внешнего веб-контента требуется только для того, чтобы через дополнительный пункт меню отобразить ссылку на эту статью в Т—Ж.
Работа скрипта полностью зависит от сервера Московской биржи
Это означает, что если Мосбиржа поменяет формат выдачи, или организует другие режимы торгов, или изменит что-то в существующей системе, то для корректной работы скрипта потребуется его доработка.
Пошаговое руководство по использованию
По ссылке откроется сразу ваша копия таблицы — можно редактировать данные прямо в ней.
После корректировки параметров скрипту необходимо авторизоваться для работы. Для этого перейдите на вкладку меню «Инструменты» → «Макросы» и выберите любой из двух пунктов: «Открыть описание работы таблицы» или «Искать по параметрам».

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



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

Запомнить надо две вещи
- Скрипт делает предварительную механическую работу по подбору подходящих облигаций.
- Решение о дальнейшей покупке конкретных найденных бумаг должен принимать сам человек после знакомства с эмитентом.
Крутая статья! Не останавливайтесь!!!
Евпатий, спасибо!
Спасибо за таблицу!
Андрей, 🙏
Спасибо автору за труд!
Далее уже можно доработать под себя, например, загиперссылить название на полную инфу по выпуску, данные по оферте.
Для начала добавил поля с датой погашения(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
"Решение о дальнейшей покупке конкретных найденных бумаг должен принимать сам человек после знакомства с эмитентом" - а вот это недоработка :(
п.с. сделайте объяснение, как так же искать акции - вернее как в Excel просто подтягивать цены?
Я пользуюсь стандартной кнопкой Stocks - но цены немного отличаются от того, что вижу в приложении брокера - но это не критично, а вот облигации не тянуться по тикеру - приходиться вручную обновлять цены :(
С акциями и фондами всё ок
тьфунатебя, всё уже украдено до вас - как подтягивать в эксель цены (моя статья от апреля 2020):
https://habr.com/ru/post/498268/
Кстати API тупит каждый день в районе времени открытия торгов (приблизительно 9:30-10:30)
В ВДО реально вкладывались или просто такая выборка как обазец?
Михаил, спасибо, отличный инструмент.
Поскажите, возможно ли в рамках Google Sheets решить вопрос настройкой фильтров по наличию/отсутствию 1) возможной оферты, 2) субординированности 3) погашения с амортизацией? Есть ли такой функционал в API MOEX?
Отличный файл, спасибо.
Наталья, 🙏
спасибо за таблицу
Андрей, 🙏
Михаил, спасибо! с удовольствием воспользуюсь вашим скриптом.
Ищу в целом также. Если из отличий, то отсеиваю еще банки (кроме ВТБ, ВЭБ, Сбербанка) и строительные организации - по кол-ву дефолта исторически они лидируют.
Плюс отдаю предпочтение облигациям с фиксированным купоном. В принципе, всё)
Валерия, отлично что всё работает.
Отличный материал, Михаил, спасибо!
Konstantin, 🙏
Очень интересное приложение!
Большое спасибо.
Джордж, спасибо!
Спасибо огромное! Очень удобный поиск
Elena, спасибо!
Спасибо! Очень интересно. А оферта вас не интересует?
Aleksandr, по желанию можно доделать. Код ведь открыт.
Михаил, Я понял. Но хотел узнать ваше мнение при выборе облигации об оферте.
Aleksandr, когда ищу короткие по срокам, то стараюсь избегать оферт.
Я пока только изучаю, пробую покупать акции, но ваша таблица по поиску облигаций просто классная ! Спасибо за информацию !
Нелли, 👍
Уже не работает?
Михаил, апи не менялось.
Благодарю за таблицу!
Анна, спасибо!
Я прошу прощения - поисковики на rusbonds ну совсем никого не устраивают? Нет никаких плясок с бубном, куча фильтров, включая оферту
Karl, слишком просто :)
ОГРОМНОЕ спасибо за статью и таблицу. 2 вопроса:
1. Налоги с купонов теперь придется платить с любого типа облигаций (то есть остались ли хоть какие-нибудь льготы)? Можно ли сразу от доходности в %% отчекрыжить налог, чтобы понять, какая реально доходность за вычетом налогов?
2. Выбранные облигации с высоким рейтингом? Сколько у них звездочек в худшем случае? :)
Mr, скоро выйдет продолжение с учетом 2021 года.