Как частный инвестор, я всегда ищу способы упростить управление своим портфелем. Особенно меня интересуют высокодоходные облигации. Да, они немного "мусорные", но я не стремлюсь быть финансовым аналитиком в этом или детально изучать каждого эмитента.
Моя цель проста: купить бумаги и получать купоны, то есть стабильный доход. Однако, чтобы избежать неприятных сюрпризов, важно вовремя узнавать новости о компаниях-эмитентах.
Если бы у меня было всего 3–5 облигаций, я могу просто периодически пробивать названия эмитентов в поисковике и смотреть, что о них пишут. Но когда в портфеле 10 и более бумаг, такой подход превращается в рутину, на которую жалко тратить время. Автоматизация здесь может существенно упростить задачу.
Почему не использовать готовые решения?
Да, существуют профессиональные сервисы вроде Cbonds или Bloomberg Terminal, которые позволяют отслеживать новости по эмитентам.
Облигации: Домодедово Фьюэл Фасилитис
На скриншоте выше новости с Cbonds по эмитенту Домодедово Фьюэл Фасилитис - кажется у них всё не очень хорошо - стоит ли такие облигации покупать?
Но проблема в том, что такие готовые решения либо дорогие, либо предназначены для институциональных инвесторов. Чаще всего частный инвестор просто не готов платить за такую аналитику.
Фото с экрана Bloomberg Terminal по Газпрому
Блумберг терминал стоит около $2000 в месяц и они ушли из России, фото выше еле удалось выпросить через знакомых.
Как автоматизировать сбор новостей по облигациям?
Идея простая: мы берём список облигаций, вытаскиваем названия эмитентов и ищем свежие новости о них через Google Новости. Причём делаем это через их RSS-канал, потому что так проще работать со структурированными данными.
Как протестировать идею вручную?
Очень наглядный пример: https://www.google.ru/search?q=Борец+Капитал&tbm=nws
Прежде чем писать скрипт, можно проверить, насколько рабочий такой подход:
- Открываем поиск в Гугле, вкладка Новости.
- Вбиваем название компании-эмитента.
- Фильтруем поиск за последний год.
- Анализируем, сколько релевантных новостей появляется.
Если информации достаточно, значит, автоматизация действительно имеет смысл.
В данном случае видно что "Борец Капитал" испытывает трудности и причиной стал иск к компании от прокуратуры - стоит ли такие покупать такие облигации?
Пошаговый алгоритм работы скрипта
Автоматизация поиска новостей об эмитентах позволяет частному инвестору сэкономить время и оперативно получать важную информацию. Таким образом, даже если в портфеле 20+ облигаций, вся информация собирается автоматически без лишних телодвижений.
Рассмотрим пошаговый процесс работы скрипта:
Получаем список облигаций — скрипт берет коды ценных бумаг Московской биржи из файла bonds.xlsx, в этом файле Вы можете записать как облигации которые уже находятся в нашем портфеле, так и интересующие Вас к покупке.
Определяем название компании-эмитента — для каждой облигации через API Московской биржи получаем название выпустившей её компании. Это ключевой этап, поскольку именно по названиям мы будем искать новости.
Ищем новости — формируем запрос к RSS-каналу Google Новостей, используя название компании как ключевое слово. Несмотря на то, что сам news.google.com может требовать VPN для работы из России, результаты полностью соответствуют обычной вкладке "Новости" в Google.
Собираем данные — из полученных результатов извлекаем заголовки статей, даты публикации и ссылки на источники, уделяя внимание только свежим новостям.
Выводим результат — все собранные новости структурированно записываются в текстовые файлы для удобного просмотра и анализа.
Актуальная версия всегда на GitHub. Скрипт является open-source проектом. Это означает что любой человек может не только свободно посмотреть его код, но и предложить свои улучшения через отправку pull request (PR) на GitHub.
Результат работы скрипта - лично мне удобно просматривать через Visual Studio Code, но можно и через обычный блокнот смотреть:
Как Вам воспользоваться этим скриптом?
Чтобы использовать скрипт, скачайте его с GitHub, нажав кнопку < > Code / Download ZIP.
Файл 3_bonds_news_search.py содержит весь код. Его можно открыть в блокноте перед запуском. Несмотря на номер «3» в названии, это самостоятельный скрипт.
Статья про скрипт под номером «2»: Автоматизируем учёт облигаций: как избавиться от рутины
Установка Python и библиотек
Установите Python с официального сайта.
Откройте Командную строку или Терминал и введите:
pip install pandas requests openpyxl feedparser beautifulsoup4 emoji
- pandas — обработка таблиц Excel
- requests — работа с API и сайтами
- openpyxl — чтение и запись Excel-файлов
- feedparser — работа с RSS-каналами
- beautifulsoup4 — парсинг HTML
- emoji — поддержка эмодзи в тексте
Подготовка данных
Заполните bonds.xlsx своими облигациями (название вкладок менять нельзя).
Убедитесь, что файл закрыт перед запуском.
Запуск скрипта
Найдите 3_bonds_news_search.py в проводнике и запустите двойным кликом. Работа с сайтом news.google.com может требовать VPN для работы из России - если нет соединения файлы создадутся пустые!
Скрипт создаст папку с текущей датой и сохранит туда файлы с новостями по эмитентам.
Теперь вы всегда будете в курсе событий! 🚀
Итог
Автоматический мониторинг новостей по эмитентам — это простой и эффективный способ минимизировать риски при вложениях в облигации. Готовые сервисы слишком дорогие, а ручной поиск - слишком трудозатратен. Скрипт же позволяет оперативно узнавать обо всех значимых событиях и вовремя принимать решения.
Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»
27 февраля 2025 г.
Если кому лень возиться с питоном, могу завернуть все это в телеграм бота за небольшую подписку.
Обычный пользователь врядли захочет ставить Python и запускать скрипты, можно все это завернуть в exe через что то типа PyInstaller, cx_Freeze, or Py2exe, но в этом случае пользователь тоже может не захотеть запускать рандомный exe из интернета, но можно хотя бы его положить в релизы на гитхабе как опцию.
Автоматизация какая то не очень сильная получилась, по сути пользователь так же может заложить в браузере ссылки на новости в гугле по своим облигациям.
Было бы неплохо сделать какой нибудь sentiment analysis новостей и оповещать пользователя только о плохих новостях, но и в этом случае идея тоже не очень, если эти новости вышли, то цена облигаций уже упала и продавать их это явный слив денег или спасание части денег (смотря как на это смотреть, по сути цена облигаций как раз говорит о шансах на успех).