Bonds ScreenerBonds Screener
2026
The project collects data on Russian bonds from several public sources, enriches it with calculations and AI analysis, and publishes it as a single-page web screener.
Two main goals of the project:
- Getting an AI analysis of issuers to rank and filter bonds.
- Visualizing bond data in a convenient form.
I’m not a financial expert, so when picking bonds I mostly rely on the LLM’s conclusions plus some simple logic. Analyzing every bond on the market through a chatbot is slow and inconvenient, so I built this tool.
How it works, step by step:
- Data collection. Data is requested from public APIs: MOEX (instrument list, coupon/amortization/offer schedules, credit ratings), Tinkoff Invest API (instruments, call options), Bank of Russia (banks’ reporting), nalog.gov.ru (BFO/RAS), Smart-Lab (IFRS).
- Storage. Data is saved into a local SQLite database. Most of it is not re-fetched on restart.
- Calculations. Annual yield (XIRR) is computed for each bond from its payment schedule. MOEX returns the current yield, but XIRR is used as an extra validation of it — in rare cases the two can differ noticeably.
- AI analysis. Issuers with bonds are run through an LLM (gemini-3.1-flash-lite) — a text analysis is generated based on financial metrics, credit ratings, and a web search about the issuer. A long, detailed prompt is used to get a deterministic rating.
- Export. Data is dumped from the database into JS files, which are then inlined into a single HTML file.
- Deploy. GitHub Pages updates the screener automatically on push to the repository.
The service is written entirely with Claude Code, and the design was created with Claude Design.
The whole thing is designed to run almost for free. There is no server and deploys are irregular (bond prices are fairly stable, so that’s fine); the only paid part is the LLM requests (and a Claude subscription 😸).
Проект собирает данные о российских облигациях из нескольких публичных источников, обогащает их расчётами и AI-анализом и публикует как одностраничный веб-скринер.
Две основные цели проекта:
- Получение ИИ анализа эмитентов для ранжирования и фильтрации облигаций.
- Визуализация данных об облигациях в удобном виде.
Я не финансовый эксперт, и в основном полагаюсь на выводы LLM + простую логику при подборе облигаций. Анализировать все облигации на рынке через чатбот - долго и неудобно, поэтому я сделал такой инструмент.
Как проект работает по шагам:
- Сбор данных. Запрашиваем данные из публичных API: MOEX (список бумаг, графики купонов/амортизаций/оферт, кредитные рейтинги), Tinkoff Invest API (бумаги, колл-опционы), ЦБ РФ (отчётность банков), nalog.gov.ru (БФО/РСБУ), Smart-Lab (МСФО).
- Хранение данных. Данные сохраняются в локальную SQLite-базу. Большинство данных не загружаются заново при перезапуске.
- Расчёты. По графику выплат для каждой облигации считается доходность годовых (XIRR). MOEX отдает актуальную доходность, но XIRR нужен для дополнительной валидации доходности. В редких случаях они могут заметно отличаться.
- AI-анализ. Эмитенты с облигациями прогоняются через LLM (gemini-3.1-flash-lite) — генерируется текстовый анализ на основе финансовых показателей, кредитных рейтингов и веб-поиска информации об эмитенте. Используется подробный и детальный промпт для получения детерминированной оценки.
- Экспорт. Из базы выгружаются данные в JS-файлы, которые затем инлайнятся в один HTML-файл.
- Деплой. GitHub Pages автоматически обновляет скринер после push в репозиторий.
Сервис полностью написан при помощи Claude Code, дизайн создан через Claude Design.
Расчёт сделан на почти бесплатную работу скринера. Сервера нет, и деплой нерегулярный (цены на облигации довольно стабильны, поэтому это нормально). Единственное, что платно — это запросы к LLM (и подписка на Claude 😸).