📈 RU Market Analyst

Личный аналитик по облигациям и акциям РФ — прямо в Claude

Сведи портфель из брокерских отчётов, найди риски и получи план замен с метриками до/после + опц. вероятностный разбор (Monte-Carlo: ES/CVaR, fan-chart) — на живых данных cbonds / MOEX / ЦБ, а не «из головы».

Claude Code Market Release License: MIT Last commit Stars

⚠️ Дисклеймер. Это аналитический разбор, не индивидуальная инвест-рекомендация; Claude — не лицензированный финсоветник. Размер, цена, тайминг и исполнение — за тобой. Скилл только читает cbonds/приложения и не хардкодит рынок — берёт данные вживую.


TL;DR

Кидаешь брокерские отчёты (ТБанк PDF, Альфа/Сбер XLS ... все что есть, хоть даже скриншоты приложения, но отчеты будут более полезными) — на выходе получаешь:

  1. 🧾 Сведённый портфель по всем брокерам (с кросс-брокерной концентрацией).
  2. 🧺 Риск-разбор по корзинам + агрегаты (дюрация, YTW net-of-tax, низший рейтинг, валютная нога, плечо) — опц. вероятностный Monte-Carlo тир (ES/CVaR, перцентили, P(loss), fan-chart, декомпозиция риска) на живой кривой MOEX G-curve.
  3. 🎯 Таблицу рекомендаций «что убрать → на что заменить», с метриками до/после и кандидатами с проверкой (облигации — cbonds/ISIN-gate, акции — MOEX/раскрытия; не выдуманы).
  4. 🔁 ТОП-5 портфелей-вариантов под выбранную цель (перформанс / надёжность / ультра / баланс / доход) — выбрать или понять направление.
  5. 📈 Разбор акций (по запросу): дивиденды/мультипликаторы/free-float вживую (MOEX ISS), ао/ап, net-of-tax, секторная и кросс-ассетная (акция + облигации эмитента) концентрация.

Раньше это был один скилл-монолит. Сейчас — набор инвокабельных суб-скиллов для точечной работы + оркестратор для сквозного разбора.

📋 Пример вывода

Иллюстрация формата (данные условные) — реальные кандидаты: облигации из cbonds, акции из MOEX/раскрытий:

План замен (цель: надёжность)
| # | Убрать/сократить        | Почему (cbonds)            | Заменить на (ISIN · корзина · YTW · дюр) | Налог* | Увер. |
|---|-------------------------|----------------------------|------------------------------------------|--------|-------|
| 1 | ВДО-Пример · ruBBB-     | отозван рейтинг, неликвид   | ОФЗ-26xxx · кач. фикс · 1x.x% · 2.4       | ЛДВ>3л | ●●●   |
| 2 | Длинный фикс · дюр 6.8  | дюрация под режим высока    | Флоутер-кач. · подушка · ~ключ · 0.3      | —      | ●●○   |

Метрики до/после
| Метрика              | До    | После* | Δ      |
|----------------------|-------|--------|--------|
| Эфф. дюрация         | 4.9   | 2.1    | −2.8   |
| YTW net-of-tax       | xx.x% | xx.x%  | +x.x пп |
| Доля «ruBBB и ниже»  | 18%   | 4%     | −14 пп |

✨ Что внутри

  • 🎯 Таблица рекомендаций. Что убрать/сократить → на что заменить (облигации — из cbonds, акции — из MOEX/раскрытий; не из головы), с метриками до/после и строкой сверки стоимости.
  • 🔁 «Что если» как поиск → ТОП-5 вариантов. Сначала — цель, затем поиск портфелей-вариантов. Глубокий поиск токеноёмкий — скилл предупреждает и спрашивает глубину.
  • 📡 No-hardcode. Ставка / курс / цены / режим — вживую (ЦБ / MOEX / cbonds), не из памяти. Работает в любых рыночных условиях.
  • 🧮 Корректность, где её обычно теряют. Амортизация секьюритизаций, $-номинал бивалютных, yield-to-worst, сверка с марком брокера, валютная переоценка.
  • 🧾 Налоговый слой. ЛДВ / ИИС, и нетто-сравнение «фонд vs прямые бумаги» по типу счёта (экономия TER − налог на купон у прямых, который БПИФ не платит внутри фонда).
  • 📈 Слой акций. Эквити-фундаментал вживую: дивиденды/free-float/веса индекса (MOEX ISS), мультипликаторы считаем сами (live-цена + МСФО), ао/ап, net-of-tax, секторная и кросс-ассетная (акция + облигации эмитента) концентрация, ротация по режиму ставки.
  • 🎲 Вероятностный риск (Monte Carlo). Калиброванный по живым RU-данным MC (MOEX G-curve, ЦБ, Эксперт РА/АКРА/НКР): корреляции кривой/спредов (+ FX-нога флагом) → относит. переоценка по ДП → ES/CVaR, перцентили, P(loss), fan-chart, декомпозиция риска. На нац. рейтинговой шкале; MC информирует ординальный скоринг, не заменяет его.

🧩 Состав набора

Скилл Точечная задача Триггер
ru-market-analyst сквозной разбор портфеля (оркестратор) отчёты / «свести портфель / что поменять / стратегия»
broker-parse распарсить отчёт → позиции «распарси этот отчёт»
cbonds-research разобрать бумагу по ISIN (cbonds, проспект) «что по этой облигации / ISIN»
market-data цена/ставка/курс/кривая + скрин бумаг (MOEX ISS bulk/ЦБ) «дай цену/ставку/курс/кривую/скринер»
risk-strategy корзины + режим + «что если» → ТОП-5 «корзины/стратегия по этим позициям»
portfolio-kb база знаний портфеля + дифф (опц.) «сохрани/обнови базу, что изменилось»
ru-market-shared общий справочный пак (инструменты/источники/налоги) внутренний, не триггерится напрямую

Оркестратор ru-market-analyst проходит фазы inline-routing’ом (читает и следует SKILL.md нужного суб-скилла): broker-parse → cbonds-research → market-data → risk-strategy (+ portfolio-kb по запросу). Каждый суб-скилл можно вызвать и отдельно.

🎬 Как пользоваться

Два режима: полный сквозной разбор (оркестратор сам пройдёт все фазы) или любой суб-скилл точечно (когда нужна одна вещь). Команды писать не надо — нужный скилл триггерится сам по смыслу запроса.

🅰️ Полный воркфлоу — «разбери весь портфель»

Просто напиши и приложи отчёты:

💬 «Проанализируй мой портфель» + 📎 отчёты ТБанк / Альфа / Сбер (PDF / XLS / скриншоты)

Оркестратор сам пройдёт 6 фаз:

  1. 🧾 Парсинг отчётов → чистые позиции + кэш + плечо
  2. 🔗 Свод по всем брокерам (агрегация одного имени, дедуп, сверка с итогами)
  3. 🔍 Ресёрч значимых бумаг на cbonds (рейтинг / оферта / флаги; акции → фундаментал)
  4. 📡 Рыночные данные вживую (кривая ОФЗ, ключевая ставка, курс — с as-of)
  5. 🧺 Риск по корзинам + режим + «что если» → план замен + ТОП-5 вариантов хочешь глубже — скажи «прогони Monte-Carlo»: ES/CVaR, перцентили, fan-chart, декомпозиция риска
  6. 💾 (Опц.) База знаний — сохранить снимок / показать, что изменилось с прошлого раза

На выходе: план замен «убрать → заменить» с метриками до/после, ТОП-5 портфелей под твою цель, и рабочий Excel / markdown для исполнения.

🅱️ Любой суб-скилл отдельно — когда нужна одна вещь

Скажи… Запустится Что получишь
«Распарси этот отчёт» 📎 broker-parse чистый список позиций по счетам + кэш + плечо
«Что по облигации RU000A10DZW3?» cbonds-research карточка cbonds: рейтинг, оферта, амортизация, флаги
«Разбери акцию Сбера: дивиденды, мультипликаторы, риски» market-data + эквити-фундаментал (MOEX ISS · cbonds Акции) дивдоходность net-of-tax, P/E·EV/EBITDA, ао/ап, красные флаги
«Дай кривую ОФЗ и ключевую ставку» market-data live-кривая MOEX G-curve + ставка ЦБ с датой
«Найди белли 3 года, A+, ~15%» market-data (скринер) → cbonds (рейтинг) реальные бумаги с MOEX (YTM/дюр/ликвидность); рейтинг A+ проверяется по cbonds (без подписки — по сайтам агентств)
«Разбери эти позиции по корзинам и дай стратегию» risk-strategy корзины риска + режим + ТОП-5 вариантов
«Прогони вероятностный сценарий по портфелю» risk-strategy (квант-тир) Monte-Carlo: ES/CVaR, перцентили, P(loss), fan-chart
«Сохрани портфель в базу / что изменилось?» portfolio-kb снимок портфеля + дифф с прошлым разом

🚀 Установка

git clone https://github.com/TimurTsedik/ru-market-analyst.git

Claude Code — ставь ВСЕ папки соседями в ~/.claude/skills/ (копией или симлинком), включая ru-market-shared — иначе sibling-ссылки ../ru-market-shared/... не резолвятся:

~/.claude/skills/ru-market-analyst   → <repo>/ru-market-analyst
~/.claude/skills/broker-parse        → <repo>/broker-parse
~/.claude/skills/cbonds-research     → <repo>/cbonds-research
~/.claude/skills/market-data         → <repo>/market-data
~/.claude/skills/risk-strategy       → <repo>/risk-strategy
~/.claude/skills/portfolio-kb        → <repo>/portfolio-kb
~/.claude/skills/ru-market-shared    → <repo>/ru-market-shared

Подхватятся при старте сессии. Как пользоваться — см. раздел «🎬 Как пользоваться» выше.

Claude.ai: нужен бандл со всеми папками (один пакет, сохраняющий соседство папок); отдельные zip суб-скиллов и «только оркестратор» не поддерживаются — ../... не резолвятся.

🤖 Другие агенты (Codex CLI, Gemini CLI)

Скиллы спроектированы под Claude Code / Claude.ai (формат SKILL.md, авто-триггер через инструмент Skill, Claude-специфичные тулзы — Claude in Chrome для cbonds, Workflow). У Codex и Gemini CLI нет нативного механизма «скиллов», но методологию и справочники можно подключить как контекст-инструкции — агент читает SKILL.md и references/* по запросу. Это адаптация, не официальная поддержка.

⚠️ Что не переносится 1:1: авто-триггер по description, инструмент Skill, Workflow и Claude in Chrome (чтение cbonds в залогиненном браузере). На других платформах дай агенту эквиваленты: (а) доступ к cbonds (браузерный MCP или ручная вставка карточек), (б) веб-доступ к MOEX ISS и ЦБ. Без них — «оффлайн-режим доктрины»: скилл считает и структурирует, но не подтягивает живые данные (нарушается принцип no-hardcode).

Клонируй репо в любую папку, сохранив соседство папок (sibling-ссылки ../ru-market-shared/...): git clone … → напр. ~/agent-skills/ru-market-analyst/….

OpenAI Codex CLI — добавь блок-указатель в глобальный ~/.codex/AGENTS.md (или AGENTS.md проекта):

## RU Market Analyst (skill suite)
Когда пользователь присылает брокерские отчёты РФ или просит разобрать портфель/облигацию/
риски/стратегию по рынку РФ — прочитай и следуй `~/agent-skills/ru-market-analyst/SKILL.md`
и его `references/*`, при необходимости — суб-скиллы (broker-parse, cbonds-research,
market-data, risk-strategy) и общий пак ru-market-shared (он рядом, соседней папкой).
Данные бери вживую (cbonds через браузер, MOEX ISS / ЦБ через веб), не из памяти.

Дай Codex веб/браузер-доступ (его MCP/настройки), чтобы соблюдался no-hardcode.

Gemini CLI — Gemini читает контекст из GEMINI.md и поддерживает импорт файлов через @путь. В глобальный ~/.gemini/GEMINI.md (или проектный) добавь:

## RU Market Analyst (skill suite)
@/абсолютный/путь/ru-market-analyst/SKILL.md

При разборе портфеля/облигаций РФ следуй этому SKILL.md и его references; суб-скиллы и
ru-market-shared — в соседних папках. Данные читай вживую (cbonds / MOEX / ЦБ).

Для живых данных подключи Gemini MCP/extensions (браузер для cbonds, web/fetch для MOEX/ЦБ).

Codex и Gemini быстро меняются — сверяй синтаксис AGENTS.md / GEMINI.md и импортов с актуальной докой соответствующего CLI.

👥 Для кого

  • Частный/полупрофи инвестор на рынке РФ (облигации, фонды, акции), у кого несколько брокеров и хочется единую картину риска и понятный план.
  • Тот, кто хочет разбор на данных, а не «купи это» — с основаниями под каждым тезисом.

🚫 Чего скилл НЕ делает

  • Не даёт индивидуальных инвест-рекомендаций и не исполняет сделки.
  • Не выдумывает бумаги/цены/ставки — кандидаты-облигации из cbonds, акции из MOEX/раскрытий; рынок читается вживую.
  • Не гарантирует доходность и не заменяет налогового консультанта.

⚙️ Требования

Что Зачем Обязательно
Подписка cbonds первоисточник по инструментам (рейтинги/оферты/проспекты/скринер) рекомендуется; без неё — фолбэк на MOEX ISS + открытую часть cbonds + сайты агентств (low-confidence)
Claude in Chrome чтение cbonds (подписка и открытая часть) через браузер да для cbonds; для фолбэка — MOEX/агентства через web
Веб-доступ (web_fetch) MOEX ISS + ЦБ (цены/кривая/ставка/курс) да
Python 3 (venv) парсинг PDF/старых .xls (pypdf/xlrd) фолбэк, если нет готовых тулзов
Python 3 + numpy/scipy (.venv-quant) вероятностный Monte-Carlo тир по облигациям (risk-strategy/quant/) опц., только для квант-разбора

tests/ и приватные данные (база знаний портфеля) в репозиторий не входят. Методология квант-тира — risk-strategy/references/quant-scenarios.md; тулкит — risk-strategy/quant/ (собственный venv .venv-quant, self-тесты quant/selftests/).

🧭 Принципы

  • cbonds первичен по инструментам (без подписки — фолбэк на MOEX ISS + открытую часть cbonds + сайты агентств, low-confidence); рыночная оценка брокера — по стоимости портфеля.
  • Читай рынок вживую, не из памяти. Проверяй имена, не вешай ярлыки.
  • После каждого рассуждения — основание; в конце — дисклеймер.
  • Кандидаты на замену: облигации из cbonds, акции из MOEX/раскрытий (верифицированы), не из головы. Без подписки cbonds — облигации из MOEX-скринера с проверкой рейтинга по агентствам/открытому cbonds.

📝 Недавние изменения

  • 2026-06: фолбэк без подписки cbonds. Подписка cbonds теперь рекомендуется, не строго обязательна: без неё скилл берёт цены/доходность/ликвидность/дивиденды/кривую из MOEX ISS (free-float — из карточки/раскрытия), рейтинги — из открытой части cbonds + сайтов агентств (Эксперт РА/АКРА/ НКР), условия выпуска — из раскрытия эмитента; кандидаты — из MOEX-скринера. Всё помечается low-confidence/single-source, sanity-gate строже. Канон — sources.md («Без подписки cbonds»).

  • 2026-06: оркестратор подключил квант-тир + README с примерами запуска. Оркестратор ru-market-analyst теперь явно маршрутизирует в количественный тир (Monte-Carlo: ES/CVaR / перцентили / fan-chart) в фазе «риск+стратегия» и в выходном контракте. README переработан: раздел «🎬 Как пользоваться» — полный воркфлоу по фазам + таблица запуска любого суб-скилла отдельно с примерами запросов.

  • 2026-06: детект плеча по факту долга, не по артефактам (ТБанк). Плечо/долг определяется ТОЛЬКО по разделу «Операции с денежными средствами» («Задолженность клиента», «Непокрытая позиция», знак исходящего остатка по каждой валюте), а не по наличию строк «РЕПО»/«РЕПО 2» или «комиссии за маржинальную торговлю». «РЕПО овернайт» в ТБанк-отчёте — брокерский сервис (доход клиенту), а не заём; маржкомиссия может быть внутридневной (долг на конец периода = 0). Gross ≠ net только при реальной задолженности > 0. Снимает ложную пометку «с плечом».

  • 2026-06: слой акций (паритет с облигациями). Новый справочник equity-fundamentals.md (источники → математика → чек-лист «разобрать тикер» → красные флаги). Рецепты MOEX ISS по эквити (дивиденды/free-float/веса индекса), ветка «Акции» в cbonds-воркфлоу, ротация секторов по режиму ставки и календарь катализаторов, суб-корзины эквити + эквити-агрегаты

    • кросс-ассетная концентрация по эмитенту в доктрине. Мультипликаторы считаем сами (live-цена + МСФО; агрегаторы — только сверка); всё net-of-tax и no-hardcode.
  • 2026-06: вероятностный тир по облигациям (Monte Carlo). Новый канон quant-scenarios.md

    • поставляемый numpy/scipy тулкит risk-strategy/quant/: PCA на истории G-curve (Vasicek — альтернатива; Hull-White — флаг-направление), переоценка по денежным потокам (ОФЗ-ПК/ИН/ замещайки/callable — упрощённые флаг-приближения, absolute mark = брокер), G-спред к ОФЗ, кредит-оверлей на нац. шкале (Эксперт РА/НКР/АКРА, копула + recovery, привязанный к фактору), ES/CVaR/fan-chart/декомпозиция + SE-сходимость, Student-t/скачки, probability-weighted мост. Калибровка вживую с провенансом (no-hardcode); MC — вход в ординальный скоринг.
  • 2026-06: налоговый фактор «фонд vs прямые бумаги» (нетто-расчёт). При сравнении «держать облигационный БПИФ vs переложиться в прямые ОФЗ» нельзя считать выигрышем одну экономию TER: БПИФ структурно не платит налог с купона внутри фонда, а прямой держатель на брокерском счёте платит НДФЛ с купона ежегодно (~1,3–1,8 п.п.), что во многом съедает TER (~1,5%), плюс разовый НДФЛ при продаже паёв без ЛДВ. Вывод зависит от типа счёта: на брокерском замена может быть нейтральной/отрицательной, на ИИС — выигрыш.

📄 Лицензия и ответственность

Код распространяется под лицензией MIT — используй, форкай, дорабатывай.

При этом скилл даёт аналитический разбор, а не инвест-рекомендацию: ответственность за решения и сделки — на пользователе. Используйте на свой риск.


Полезно? Поставь ⭐ — это помогает другим найти проект.