В последнее время я активно занимаюсь автоматизацией торговли и знакомлюсь с разными решениями, два раза летал на конференции, познакомился с интересными людьми. На этом фоне я наткнулся на open-source проект cia76/FinLabPy, о котором уже давно слышал, но никогда не разбирался подробно.

Российская алготорговля переживает странный период: возможности растут, но стандартизации как будто не существует. Брокеры выпускают свои API, но каждый из них живёт в отдельной вселенной — со своим обозначением тикеров, задержками и внезапными отключениями.

Про проблемы алготорговли на Московской бирже почти не пишут, хотя есть мнение что 60% оборота биржи создаётся роботами. А вот автор этого проекта Игорь Чечет на своём вебинаре рассказывает о том с какими проблемами может столкнуться частный инвестор, когда приходит в алгоритмическую среду.

Начну с главного - какую вообще проблему решает FinLabPy?

Что такое FinLabPy и какую проблему он решает

cia76/FinLabPy — это унифицированная платформа для анализа рынков, прототипирования торговых идей, тестирования стратегий и запуска автоторговли через нескольких российских брокеров.

Необходимость создания такой библиотеки возникла потому что российские брокеры реализовали API «каждый в меру своих возможностей». Несколько примеров:

  • Финам: может самостоятельно отваливать подписки.

  • Т-Инвест: присылает сделки пачками и с задержкой; бары иногда запаздывают на 2–3 минуты.

  • Алор: любит перезагружать сервер прямо во время торгов.

  • QUIK: использует свою экзотическую систему тикеров вида TQBR.SBER.

У каждого своя спецификация данных, свои ограничени�� и свои «фичи», которые на деле превращаются в головную боль.

FinLabPy по словам его создателя забирает всю эту боль себе: переподключения, нормализация данных, логирование, кэширование, обработка ошибок, единые тикеры — всё это зашито в open‑source библиотеке.

Архитектура: три уровня, которые упрощают жизнь разработчику

FinLabPy устроена на трёх уровнях что меня удивило:

  1. Нижний слой: нативные API брокеров.
    REST, WebSocket, GRPC — всё, что брокер даёт.

  2. Средний слой: Python‑обёртки.
    Отдельные проекты под каждого брокера:

    • AlorPy

    • FinamPy

    • QuikPy

    • TinvestPy (Т‑Инвест)

    • (в работе) обёртка для БКС

  3. Верхний слой: FinLabPy
    Единый интерфейс, единая модель данных, единая логика. При этом доступ к «уникальным» функциям конкретного брокера сохраняется:
    FinLabPy → provider.provider → уникальные методы обёртки.

Вообще меня порадовало, что внутри нет самодельных велосипедов

Технологический стек FinLabPy

Автор сознательно взял лучшие решения рынка и встроил их в экосистему. Никакого изобретения велосипеда.

Основные элементы:

  • Python

  • Backtrader — тестирование и автоторговля

  • TA‑Lib — более 200 индикаторов

  • Pandas и NumPy

  • TradingView Lightweight Charts — графики

  • aiogram — Telegram‑боты

  • Jupyter Notebook — исследования

На своём стриме автор поднимает и другие вопросы, например где запускать торговых роботов?

Только на VPS под Linux (Debian/Ubuntu). Причины:

  • стабильный интернет,

  • нет NAT, DHCP и прочих «домашних» сюрпризов,

  • нет DPI и странных блокировок провайдеров,

  • скорость соединения «сервер → брокер» всегда выше.

Стоимость VPS: 150–400 рублей в месяц.

Кэширование, спецификации тикеров и работа с расписаниями

FinLabPy строит целую подсистему работы с данными, которая сильно облегчает жизнь.

Кэширование данных. Чтобы:

  • уменьшить количество запросов к API брокера;

  • ускорить прогон стратегий;

  • обходить лимиты (100 запросов в минуту, данные по 1 дню и т. д.).

Кэш хранится в локальных файлах и пополняется пошагово (инкрементально).

Спецификации инструментов. Отдельно кэшируются:

  • шаг цены,

  • минимальный лот,

  • доступная история свечей (у разных брокеров — разная),

  • прочие параметры.

Есть отдельный модуль для работы с расписаниями Московской биржи.
Стратегия всегда знает, когда открытие/закрытие сессии, какая сейчас стадия торгов, и может корректно обрабатывать данные.

Telegram-интеграции и мультиброкерская работа

Меня, работающего с несколькими брокерам и, особенно это зацепило. У автора всё это сведено в слой — «мультиброкерский пакет», где есть готовые Telegram‑боты:

  • сводка по всем счетам,

  • баланс,

  • открытые позиции,

  • уведомления.

Используется aiogram, поддерживается и Discord.

Зачем мультиброкерность?

  • запуск одной стратегии на нескольких брокерах;

  • диверсификация инфраструктурных рисков;

  • удобство тестирования;

  • возможность легко «мигрировать» между брокерами.

Переключение брокера = изменение параметра в конфиге.

Backtrader: стандарт де-факто, но с оговорками

Автор прямо говорит, что Backtrader — мощный инструмент, но он заброшен. В планах:

  • либо создать собственный форк и привести архитектуру в порядок,

  • либо полностью переписать движок,

  • но сохранить совместимость со всеми существующими стратегиями.

До создания шаблона я тоже пытался разработать собственный GUI для Backtrader — простой интерфейс. Но проект особо не взлетел, хотя это и была попытка создать удобный шаблон, который каждый сможет расширять под себя.

Веб-интерфей��, gRPC и клиент-серверная архитектура

Логическим продолжением разговора стала архитектура будущей версии. Автор явно движется к полноценной платформе. Планы развития со слов Игоря выглядят так:

Веб‑интерфейс. Для визуализации, анализа и, возможно, полноценной работы с роботами. Примерно как «домашний терминал».

gRPC. FinLabPy + роботы работают на VPS (сервер), а аналитика и управление — с локального ПК через gRPC‑клиент. Это даст:

  • безопасность,

  • скорость,

  • возможность разнести вычисления и интерфейс.

Из трёх часов стрима я отметил для себя несколько рекомендаций.

Практические советы разработчикам

Игорь на стриме регулярно подчёркивает несколько вещей:

  1. Не изобретайте велосипеды.
    TradingView для графиков, TA‑Lib для индикаторов, Backtrader для торговли — всё уже существует.

  2. Запускайте роботов только на VPS под Linux.

  3. Используйте подробное логирование (DEBUG). Особенно в период отладки подписок и торговых операций.

  4. Помните: унификация ограничена возможностями «самого слабого» брокера.
    Если нужны уникальные функции — используйте методы конкретной обёртки напрямую.

Немного юридических моментов

Не обошлось и без юридических деталей — неожиданный, но важный момент, который автор пояснил. Автор планирует сертифицировать FinLabPy в реестре российского ПО Минцифры.
Это нужно:

  1. для защиты авторских прав;

  2. для потенциальной интеграции библиотеки брокерами или биржей.

Но для обычных трейдеров это вроде как никак не меняет ситуацию: проект планируется open-source.

Что пока остаётся «за кадром»

Как человек, который интересуется не только инфраструктурой, но и моделями, я отметил список тем, которые автор пока не стал раскрывать:

  • продвинутые методы бэктестинга (walk-forward, Монте-Карло),

  • управление рисками и портфельные модели,

  • оптимизацию производительности,

  • структуру конфигов,

  • интеграцию LLM / AI в торговые системы.

Фокус шёл именно на инфраструктуру и унификацию.

Итог

Лично я воспринимаю cia76/FinLabPy как один из самых многообещающих open‑source проектов под российскую алготорговлю. Это попытка создать единый стандарт, которого брокеры не смогли (или не захотели) создать сами.

Если вы пишете торговых роботов под российских брокеров — присмотреться к FinLabPy определённо стоит.

Автор: Михаил Шардин
? Моя онлайн‑визитка
? Telegram «Умный Дом Инвестора»

18 ноября 2025

Комментарии (8)


  1. cmyser
    18.11.2025 08:27

    Отдавать кому доступы к своей торговле, Очень рискованно


    1. StasTukalo
      18.11.2025 08:27

      Так это всё хозяйство выполняется на собственном сервере же.


      1. cmyser
        18.11.2025 08:27

        Да но стоит ли доверять такому ПО ?

        Если кто найдет уязвимость с помощью которой сможет обогатиться незаконно, вряд-ли он расскажет об этом в issues


        1. StasTukalo
          18.11.2025 08:27

          Если вы о закладках - то никто этим заниматься в небольшом опенсоурсе не будет ибо ищутся такие штуки сообществом хорошо. Если вы про уязвимости библиотек- то это и вашем собственном торговом софте может быть.

          А учитывая что даже с полностью управляемого тобой брокерского счета можно вывести бабки только на счет владельца счета- оно как-то сильно уменьшает смысл..


          1. cmyser
            18.11.2025 08:27

            Согласен


  1. StasTukalo
    18.11.2025 08:27

    В теории полезная штука. Ибо дури у наших брокеров, даже у типа "продвинутых", не будем тыкать пальцем, хоть отбавляй. Одно получение котировок чего стоит- выполните кучу наших условий на объем торгов/исполненных сделок/ещё чего-нибудь, тогда мы вам позволим обращаться за котировкой почаще. Такое впечатление, что они там не очень умные про Nginx и отдачу статики и неслышали.. При этом из каждого утюга кричат о своей высокотехнологичности. В общем одно расстройство.. Есть тут представители брокеров? Вам точно не будет лишним комментарии к этой статье почитать))

    На практике же- если скорость поддержки будет нормальной- то можно юзать, а если на изменения у брокеров реакция будет долгой, то смысла нет- чужую либу править точно заковырестее чем свою. Так-что я пока на своём " самодельном велосипеде" покатаюсь))

    два раза летал на конференции

    Что за конфы, если не секрет? Собираетсь на подобное мероприятие в ближайшее время? Хочется окунуться в атмосферу, а то в одно лицо морально тяжко..


    1. empenoso Автор
      18.11.2025 08:27

      Вот, даже отчёты написал:


  1. StasTukalo
    18.11.2025 08:27

    И да- насчет стандартов- их, конечно же, нехватает очень сильно. Хороших, правильных стандартов, написанных алготрейдерами-программистами. Но зная как у нас всё делается- я предположу, что созданный комитет по стандартизации (именно так, ибо дело в принципе государственного масштаба) в лучшем случае возглавит сынок какого-нибудь банковского или брокерского босса, а в худшем- какого-нибудь думского функционера. И они там такого напридумывают- мало не покажется. Так-что можно и без стандартов ))