Этот репозиторий содержит Python-скрипты, которые помогают частным инвесторам находить ликвидные облигации, анализировать денежные потоки и отслеживать новости эмитентов.
Несмотря на обилие публичных сервисов для поиска облигаций, данное решение выделяется тем, что это open source решение, которое:
- Формирует краткий список привлекательных вариантов, доступных для покупки прямо сейчас.
- Проводит анализ денежных потоков.
- Собирает актуальные новости по каждой компании.
Скрипт взаимодействует с API Московской биржи и фильтрует облигации по важным параметрам. На рынке торгуется более 2500 облигаций, но многие из них неликвидны: по ним либо нет предложений, либо их очень мало, что делает покупку невозможной. Этот скрипт отбирает только те облигации, которые действительно доступны для торговли.
Читать подробнее об этом скрипте на: Хабр | Смартлаб
Этот скрипт загружает данные о купонах и выплатах номинала для списка облигаций из Excel-файла bonds.xlsx
, используя API Московской биржи, и записывает результат в отдельную вкладку того же файла. Третья вкладка содержит анализ выплат. Это удобный инструмент для автоматизированного расчета кэшфлоу по облигациям.
Читать подробнее об этом скрипте на: Хабр | Смартлаб
Используя уже собранные коды ценных бумаг в Excel-файле bonds.xlsx
для облигаций на Московской биржи, скрипт получает название эмитента с биржи и затем собирает последние новости по каждой из компаний. Просмотр заголовков помогает быстро понять, что сейчас происходит с эмитентом и чем он занимается.
Читать подробнее об этом скрипте на: Смартлаб | Хабр
Скрипт автоматически рассчитывает оптимальное количество облигаций для покупки, основываясь на доступной сумме денег. Получает актуальные цены и НКД через API Московской биржи для списка облигаций из Excel-файла bonds.xlsx
и сохраняет результаты расчета в новый файл bonds_calculation purchase volume.xlsx
.
Читать подробнее об этом скрипте на: Хабр | Смартлаб
Многие частные инвесторы не ведут учет облигационного портфеля, что затрудняет принятие стратегических и тактических решений. Доступные портфельные трекеры платные, а самостоятельное ведение Excel-документов требует значительных усилий. Данный проект создан для тех, кто хочет вести учет облигаций в Excel, но хочет избавиться от рутины.
Есть условные 300 000 руб: разделяем всю сумму на 10 облигаций.
- Воспользуемся первой частью скрипта на питоне - он найдёт самый выгодные варианты.
- Прогоняем их через поиск новостей - если в новостях не написано что прокуратура предъявила требования к этой организации, то следующий шаг.
- Четвёртый скрипт рассчитает нужное количество к покупке на основании суммы.
Раз облигации достаточно много, то один раз в месяц просматривать брокерский счёт и докупать какие-то новые бумаги через первый шаг поиска облигаций.
И так повторять до бесконечности.
Я выбрал отдельные скрипты на Python вместо встроенных функций Python в Excel, потому что:
- Встроенный Python работает только в Microsoft Office 2024 и требует подписки Office 365.
- Он поддерживает только ограниченный список библиотек от Microsoft и Anaconda.
- Работает исключительно под Windows.
Скрипты, представленные здесь, лишены этих ограничений и могут использоваться на любой платформе: Windows, MacOS и даже Linux.
Если вы не разбираетесь в программировании, но хотите воспользоваться этими Python-скриптами, следуйте инструкции:
- Откройте ссылку: GitHub проекта.
- Нажмите "Code" → "Download ZIP".
- Разархивируйте ZIP-архив в удобную папку.
Если Python не установлен:
- Windows: скачайте и установите Python с официального сайта. В установке отметьте "Add Python to PATH".
- MacOS: скачайте Python для macOS и установите.
- Откройте папку с проектом.
- Дважды кликните файл:
- Windows:
install_requirements.bat
- MacOS:
install_requirements.command
- Windows:
- Дважды кликните файл
1_bonds_search by criteria.py
. - Во время выполнения будет отображаться лог процесса.
После завершения работы скрипта будет создан файл с текущей датой:
bond_search_2025-03-25.xlsx
Убедитесь, что у вас установлен Python 3.9+ и выполните команду:
pip install -r requirements.txt
Использование виртуального окружения является хорошей практикой, она позволяет:
- позволяет изолировать зависимости для разных проектов;
- более простое управление зависимостями проекта;
- позволяет избегать конфликтов с системными пакетами;
- обеспечивает переносимость и повторяемость между разными компьютерами.
Документация к менеджеру пакетов https://docs.astral.sh/uv/
Для начала работы установите менеджер пакетов по инструкции https://docs.astral.sh/uv/getting-started/installation/ из документации.
Выполните команду
uv sync
Найдите скрипты в проводнике и дважды кликните по нужному Вам. Это запустит скрипт, и он обновит или создаст файл Excel.
После окончания работы можно посмотреть логи работы - скрипт ждёт нажатия кнопки.
uv run python src/cli.py
- Сделайте форк репозитория.
- Склонируйте свой форк к себе на рабочую машину.
- Создайте виртуальное окружение и установите необходимые зависимости
uv sync
- Перед тем как вносить изменения или добавлять тесты, проверьте текущее состояние тестов
uv run pytest
- Создайте новую ветку
git checkout -b dev
- Внесите свои изменения
- Покройте свои изменения тестами
- Проверьте что все тесты проходят
uv run pytest
- Создайте коммит в коротким описание проделаной работы
git add спискок измененных файлов
git commit -m 'Выполнил полезную работу'
- Отправьте изменения в свой форк
git push origin dev
- Создайте pull request в интерфейсе github.
Если вы хотите использовать JavaScript-версию, у меня есть другой репозиторий с:
- Node.js-версией поиска
- Поиском в Google Таблицах на Google Apps Script
Если у вас есть вопросы или предложения, создавайте issue или pull request. Буду рад обратной связи! 🚀
Автор: Михаил Шардин
🔗 Моя онлайн-визитка
📢 Telegram «Умный Дом Инвестора»