olslip13
olslip13 личный блог
15 мая 2026, 14:50

Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал

Привет, Smart-Lab!

Большую часть жизни я провел в финансах: казначейство, управление ликвидностью, работа с капиталом. И всё это время моим основным инструментом был Excel. Всегда хотелось как усовершенствовать имеющиеся модели. И хотя Excel при профессиональном подходе дает огромные возможности их все равно может не хватить под какую-то конкретную задачу. Также в последнее время с расцветом ИИ я как и многие увлекся вайб-кодингом, порог доступа к которому теперь стал ниже, чем был раньше. Решил раздвинуть рамки Excel моделей за счет python.

В этой статье я расскажу, как финансисту (не профессиональному разработчику) пересесть на Python и собрать свой инвестиционный терминал, который делает именно то, что нужно вам. Когда я начал глубже погружаться в изучение облигаций, то мне захотелось создать свой инструмент, в который я бы мог сам добавить те показатели, которые бы посчитал нужным.


Откуда я брал данные для терминала.

Первый вопрос любого цифрового проекта — данные. Вот откуда я беру данные для своего терминала

1. Московская Биржа

Это «сердце» терминала. Данные подтягиваются напрямую с Московской Биржи (MOEX ISS). Забираются данные напрямую через ISS-запросы для построения Кривой бескупонной доходности (КБД).
Параметры Нельсона–Сигеля: Терминал в реальном времени подтягивает коэффициенты (B1, B2, B3, T1) и G-корректировки.
Живой расчет: На базе этих параметров скринер вычисляет справедливую доходность для любой точки дюрации, что позволяет нам видеть реальный G-спред в базисных пунктах по каждой бумаге.

2. УК «ДОХОДЪ»

Если данные Московской Биржи дают нам «цену», то аналитика от УК «ДОХОДЪ» дает нам понимание «качества». Терминал интегрирует данные их сервиса «Анализ облигаций».
Кредитный скоринг: Из первоисточника подтягиваются числовые показатели кредитного качества эмитента. Это позволяет мне сразу оценить, насколько эмитент закредитован.
Сложные коэффициенты: Парсер собирает такие специфические метрики, как Inside Q (внутреннее качество по методологии УК «ДОХОДЪ»), NetDebt/Equity (уровень долговой нагрузки) иЛиквидность (LI).
Матрица спредов: ниже отдельно опишу логику по этому блоку

3. Smart-Lab

Для облигаций Smart-Lab служит источником данных по выплатам купонов, а для акций это полноценная база фундаментальных показателей.

Мультипликаторы в реальном времени: Скрипт забирает со страниц Smart-Lab ключевые показатели: P/E Live, NetDebt/EBITDA и рассчитывает показатели Forward DY (прогнозную дивидендную доходность), FCF Yield (доходность свободного денежного потока). Для расчета этих метрик парсятся необходимые фундаментальные показатели из отчетов компаний со Smart-Lab. Это позволяет терминалу показывать по каждой акции эмитента актуальные метрики.
Сценарный анализ дивидендов: Парсим данные по Payout (процент прибыли на выплаты) сразу в трех разрезах: консенсус-прогноз, оценки аналитиков и исторические данные. Здесь данные берутся сразу из трех источников, если в одном источнике нет данных для эмитента, то скрипт берет данные из другого. Это json-файл, в котором собрал по эмитентам % выплат дивидендов, сайт УК «ДОХОДЪ» (данные по дивидендам) или со Smart-Lab (строка «Дивиденды/прибыль, %» из отчетности эмитентов.) Это дает возможность строить более точные прогнозы по будущей доходности дивидендов.
История купонов: Для облигаций парсер вытягивает историю фактически выплаченных купонов. Это критически важно для раздела «Портфель», чтобы считать вашу реальную прибыль с учетом уже выплаченных купонов

4. Snowball Income

Для блока акций терминал интегрирован с данными Snowball Income.

Дивидендный календарь: Информация о датах закрытия реестра, дивидендной отсечки, Див. доходность и размере объявленных выплат.
Статусы: Терминал отслеживает статус дивидендов (рекомендованы, объявлены или отменены), обеспечивая актуальность «форвардной» доходности.


Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал
Вкладка облигаций


Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал
Вкладка акций


Матрица спредов: Как терминал «раскладывает рынок по полочкам»

Здесь отдельно нужно описать логику определения перепроданности/перекупленности бумаги. Чтобы найти по-настоящему выгодную сделку, недостаточно просто смотреть на доходность. Нужно понимать, сколько рынок платит «в среднем» за аналогичный риск. Для этого в терминале реализована Матрица спредов — это профессиональный инструмент визуализации, который позволяет окинуть взглядом весь долговой рынок и мгновенно найти «аномальные» зоны.

1. Как строится матрица спредов

Представьте таблицу, где весь долговой рынок разделен на четкие сектора:
По горизонтали (Колонки): Мы разбиваем облигации по «корзинам дюрации» — от коротких (0–1 год) до длинных (5+ лет).
По вертикали (Строки): Группируем их по кредитному качеству (рэнкингу) — от эталонных AAA до спекулятивных категорий.
На пересечении этих параметров образуется «ячейка», в которой собираются только прямые конкуренты.

2. Находим «Золотой стандарт» (Медиана)

В каждой ячейке скрипт вычисляет Медиану — среднюю премию за риск (G-спред) для этой группы бумаг в текущий момент.

• Для точности расчетов терминал в реальном времени подтягивает коэффициенты кривой КБД напрямую с Московской Биржи.
• Медиана ячейки становится нашим ориентиром: она показывает, какая доходность сейчас считается «нормальной» для такого рейтинга и срока.

3. Ищем аномалии через Дельту

Когда у нас есть эталон, мы сравниваем с ним каждую конкретную бумагу. Эту разницу мы называем Дельтой:

Delta = G-Spread — Median

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

Итог: Матрица позволяет мне мгновенно отсечь рыночный шум и сфокусироваться на тех облигациях, которые дают премию к рынку, оставаясь при этом в рамках понятного кредитного качества.


Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал
Интерфейс матрицы спредов с цветовой градиентной заливкой


Технологии для «не-программиста»

Многие коллеги боятся слова «программирование», думая, что нужно учиться пять лет. На самом деле, связка Python + Streamlit — это магия.
Streamlit позволяет превратить скрипты на Python в полноценный веб-интерфейс. Если вы можете написать формулу в Excel, то с помощью Cursor вы сможете собрать интерфейс в Streamlit. А если добавить к этому n8n для автоматизации цепочек (например, уведомления в Telegram по триггерам), вы можете настроить оповещения, которые работают на вас 24/7. Последние я еще не реализовал.
Для меня навыки кода стали не просто «хобби», а мощнейшим апгрейдом. Это как если бы вы всю жизнь ходили пешком, а потом пересели на спортивный байк.


Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал
Мой портфель облигаций


Прощай, Excel! Как я пересел на Python и собрал свой инвестиционный терминал
Вкладка Мои активы


Проект в развитии

Я не буду лукавить: мой терминал — это живой организм, а не «коробочный» продукт. Я постоянно что-то добавляю и исправляю. Вот сейчас хочу реализовать отображение динамических спредов для каждой облигации на графиках. Скрипт уже написал, осталось упаковать в терминал.


Зачем я это пишу?

Я ищу единомышленников. Тех, кто тоже «кодит» для личных финансов, или профильных экспертов, которым не хватает автоматизации.

• Как вы решаете вопрос с качеством данных?
• Какие метрики в облигациях для вас сейчас приоритетны (в условиях текущих ставок)?
• Стоит ли добавлять в такой инструмент ИИ-агентов для первичного анализа отчетности?

Давайте обсудим в комментариях. Верю, что автоматизация — это единственный способ для частного инвестора не «сгореть» в потоке информации и принимать взвешенные решения.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
42 Комментария
  • Auximen
    15 мая 2026, 14:51
    Python процедурное г*но, TypeScript рулит))
  • Так создайте группу для единомышленников в ВК.
    • DrManhattan
      Вчера в 12:01
      Дмитрий-Димас Ермаков, а Смартлаб для этого не подходит?
      Тут только инфо-цигане, телеграмщики и полит-боты?
      • DrManhattan, тут только половина нормальные, хорошие люди, с которыми можно посидеть, поговорить, выпить пивка. И очень мало людей, которым желаешь только хорошее. И очень много глупых, подлых, злых и гадких. И они, конечно же, должны пахать и ишачить. Работать на благо экономики и государства.
        • Дмитрий-Димас Ермаков, а есть вообще, омерзительные типы. Злодеи, враги, хейтеры. Отбросы всякие. Они тоже, хотят лёгкие деньги. Их природа и вселенная где-то купирует. И бизнес, набирает лучших. И это естественное поведение. Подсознательно, мы всегда создаём команды, группы, клубы для своих. Кому-то нужны партнёры. Кому-то конкуренты, чтобы у них всему научиться.
  • samurai_nrd
    15 мая 2026, 15:01
    можно не отказываться от Excel, а подружить их с пайтоном, например, через xlwings. В итоге для себя дополните привычный инструмент гибкостью pandas.
      • samurai_nrd
        15 мая 2026, 15:29
        olslip13, я сам в этой связке Excel использую, потому что мне привычнее табличные данные смотреть именно в интерфейсе Excel, а сами расчеты всё равно все на python+pandas+statsmodel. Имхо, это экономит время на разработку интерфейса, велосипед не переизобретать.
  • fgun
    15 мая 2026, 15:11
    Вы молодец. У меня только один комментарий. Для облигации Дешево или Дорого может еще означать несоответствие реального рейтинга текущему установленному. В этом самая большая засада такого формального анализа. Можно найти алмаз, а можно вляпаться в г. После подсвечивания лучше покопаться самому.
  • Ilya Kosarev kimkarus
    15 мая 2026, 15:18
    Единомышленник по автоматизации привет.
    Для себя разработал AlgoBond (Windows, Linux и Android), использую ежедневно со всеми брокерами по API и транслирую результаты в блогах.
    Из последнего, это стратегия автоследования в Т-Инвестиции.
    Из важного, автоматизация ради картинок, плохо. Автоматизация рутинных процессов поддающихся алгоритмизации, это хорошо.
      • Ilya Kosarev kimkarus
        15 мая 2026, 16:02
        olslip13, тогда, желаю всех благ на этом пути!
        Ещё есть OsEngine, Алексей Ван, для Windows. Добавляются почти все биржи крипты, супер быстрые соединения на moex и совместимость с Квиком (который как раз в Сбере). Т-Инвестиции, Финам, БКС и Алор с API шками
  • drmfd
    15 мая 2026, 15:34

    в таких случаях принято прикладывать код… иначе зачем все это?

  • Turbo Pascal
    15 мая 2026, 15:39

    Писал «пробросочный» модуль на Lua для quik, который брал текущие кодировки и клал в postgres. Над этим приклад на джаве гонял алгоритм, и отдавал в lua команды покупки и продажи.
    Морда на реакте.

    Забросил, до стабильной работы не довёл. Основной работы хватает, там по любому доход выше.

  • Vkt
    15 мая 2026, 15:47

    Мне дипсик строчит скрипты на питоне как из пулемета. Я на питоне вообще никогда не кодил. Даже не знал что как запускать элементарные действия.

    Там еще математика мама не горюй! Я бы такое сам никогда не исполнил, либо годы учебы. Я только контролирую, направляю и генеральные идеи формулирую.

    Куда мир катится катится, куда мы таким темпами придем?

  • Отличная работа. Тоже использую Python + Streamlit, даже интерфейс очень похож на ваш, как будто это части одной и той же системы ) Вообще машинное обучение использовал, мои модели говорят что вообще делать нечего в российских акциях, я переключился на американские и постоянно что-то допиливаю для них. Сейчас уже хорошо подсвечивает лучшие бумаги, портфель начал активно расти, никогда не видел такого бодрого роста. Для автоматики не нужен n8n, это все на Python можно писать. Стоит крон задача, скрипт присылает в телеграм сводки по самым важным моментам. Данные беру с yahoo, finviz, stooq, alpha vantage, апи мосбиржи.
      • olslip13, я не в cursor делаю, а в antigravity. Быстрая моделька пишет, claude или gemini pro потом проводят жесткий аудит логики и кода и дают список рекомендаций и ошибок. Значимые расчеты 2 разные модели перепроверяют. Интерфейс удобно оптимизировать в stitch.withgoogle.com, потом сразу в cursor скопировать код, разберется что с ним делать.
          • olslip13, В gemini можно сделать gem-бота с инструкциями проверки кода, большой чек-лист проверки логики, производительности, отказоустойчивости, безопасности, формат в котором выводить ошибки. И кидать ему готовые куски кода. Она 100% найдет ошибки. В antigravity точно также делаю skill что и как проверять, и там уже по всему проекту бот пробегается и ищет уязвимости. Cursor тоже такое должен уметь. ИИ пишет код очень грязно, с кучей костылей, торопится и не особо думает. Из-за этого вроде работает, но по факту легко может оставить разные ключи и пароли в коде, или использует необоснованные магические числа, или переменные не выносит отдельно, или просто делает тестовые модули и забывает их удалить, или некорректно обрабатывает нулевые или аномальные значения, или утечки памяти допускает, и еще кучу других ляпов. В среднем у меня проходит где-то 5 кругов аудита и правок пока аудитора не начнет устраивать код. Альтернатива — qwen хорошо в коде разбирается, найдет что не нашла gemini.
  • Чёрный Ленин
    15 мая 2026, 16:04
    Бро, зачем кодить?) Вопрос решается через power query + powerBI.
  • Анна Фирсова
    15 мая 2026, 16:32
    Excel хорош до определенного масштаба. Потом автоматизация и Python реально начинают экономить время
  • BenderRodriguez
    15 мая 2026, 18:24
    Друг, ты просто молодец. Завидую всеми цветами радуги.
  • Глаза выпали сразу, какой-то ужас на скриншотах, даже всматриваться в суть не хочется.
  • Иван Бонд
    15 мая 2026, 20:45
    Можно добавить e-disclosure для оперативных алертов в тг и дополнительных данных
  • Влад
    Вчера в 01:02
    Куда катится мир? Ради 60 облигаций создается целый софт! Надо бы тоже поучиться вайб-кодингу.
  • на git выложете?
  • В этой работе интересно прослеживается, как данные из разных источников, собственные алгоритмы и элементы автоматизации складываются в единый инструмент и формируют довольно комплексный подход к анализу рынка.
  • DrManhattan
    Вчера в 11:57
    мой терминал — это живой организм, а не «коробочный» продукт. Я постоянно что-то добавляю и исправляю

    Пора подумать в сторону торгового терминала.
    Квик убог, АТАС громозг.
    Свой терминал всегда ближе к  кассе.
  • Клоунада для лошков.
  • Михаил Шардин
    Вчера в 16:16
    Smartlab парсите?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн