С тех пор как я начал изучать рынок ценных бумаг, у меня возникла идея: почему бы не автоматизировать анализ и покупку акций? Эта мысль привела к созданию ИИ-ассистента для торговли, построенного на T-Invest API.
С ростом популярности ИИ-агентов и фреймворков для их разработки стало логично протестировать их в сфере трейдинга. Многие уже пробуют использовать ИИ для торговли на биржах — в статьях и на Reddit обсуждают, может ли ИИ приносить прибыль при работе с криптовалютами и акциями.
В этой статье — мой кейс по созданию ИИ-ассистента, который помогает взаимодействовать с биржей через чат. Такой подход может привлечь новых инвесторов, сделав процесс более понятным и удобным.
На скриншотах присутствуют логотипы и фирменные цвета Т-Банка. Это связано с использованием официального T-Invest API и SDK. Все материалы — исключительно в демонстрационных целях. Статья не является рекламой, не содержит инвестиционных рекомендаций и не подразумевает партнёрства с банком.
SDK T-Банка: инструменты для взаимодействия с биржей
Я выбрал T-Invest API, потому что давно пользуюсь сервисами Т-Банка, а у них есть удобный SDK и песочница для тестирования. Это позволило быстро собрать прототип, отработать выставление ордеров и безопасно проверить сценарии без риска для реальных средств.
Основные функции в прототипе:
- Получение данных о купленных позициях;
- Получение данных о балансе;
- Получение технических индикаторов и истории цен акций за 7 дней;
- Покупка и продажа акций;
- Получение самых популярных акций по секторам экономики (по обороту за сутки).
Также были добавлены инструменты для получения новостных публикаций и комментариев с форума SmartLab по тикеру акции.
Всё реализовано в виде двух MCP-серверов. Рассмотрим ключевые инструменты подробнее.
Получение данных о купленных позициях
На выходе — список объектов PortfolioPosition с множеством атрибутов. Я выделил ключевые: figi, ticker, quantity_lots, quantity, current_price, average_position_price.
Данные отображаются в виде markdown-таблицы:
figi: TCS03A108X38
quantity_lots: —
current_price: 2448.500 rub
average_position_price: 2436.500 rub
figi: TCS00Y3XYV94
quantity_lots: —
current_price: 1334.900 rub
average_position_price: 1362.300 rub
figi: BBG004S68473
quantity_lots: —
current_price: 3.20700 rub
average_position_price: —
figi: BBG004730N88
quantity_lots: —
current_price: 317.600 rub
average_position_price: 320.400 rub
Где:
- figi — уникальный идентификатор актива (подробнее в документации);
- quantity_lots — количество лотов;
- quantity — количество акций;
- current_price — текущая цена;
- average_position_price — средняя цена покупки.
Покупка и продажа акций
Так как тестирование проводилось в песочнице, проверку исполнения ордеров я не реализовывал — ограничился time.sleep.
Для всех операций используются FIGI. Поэтому дополнительно создан инструмент, который возвращает FIGI по тикеру.
Получение технических индикаторов и истории цен за 7 дней
Реализована буферизация последнего timestamp, чтобы не перегружать контекст модели. Решение грубое, но для прототипа — рабочее.
Получение популярных акций по секторам экономики
Инструмент возвращает топ акций по объёму торгов за сутки в каждом секторе. Это помогает быстро находить активно торгуемые бумаги.
Фреймворки и финальный вид системы
Для реализации использовались Chainlit и LangChain. Оба фреймворка позволяют быстро собирать ИИ-агентов с чат-интерфейсом и подключением к внешним инструментам.
Изначально использовался OpenRouter с бесплатной моделью StepFun: Step 3.5 Flash. После её перевода в платный режим перешёл на российский провайдер Polza.ai.
Chainlit понравился возможностью кастомизации интерфейса. В итоге получился современный чат, в котором пользователь видит не только ответ, но и ход мыслей агента.
Представьте: вы в метро, хотите быстро узнать ситуацию с портфелем и совершить сделку. У вас нет времени читать новости и анализировать графики. Вы просто спрашиваете ассистента.
Агент последовательно:
- Получает данные о портфеле;
- Анализирует индикаторы;
- Собирает новости по тикерам;
- Формулирует рекомендацию.
Например, после анализа агент может предложить купить акции Яндекса. Пользователь видит обоснование и подтверждает сделку.
Что удалось реализовать
- Прототип агента, понимающего естественные запросы;
- Интеграцию с T-Invest API: котировки, индикаторы, ордера, работа с портфелем;
- Подключение внешних данных (новости и комментарии с SmartLab);
- Удобный чат-интерфейс, где виден ход мыслей агента.
Ограничения прототипа
- Тестирование проводилось в песочнице без реальных задержек и внешних факторов;
- Механизм буферизации контекста и отслеживания статусов ордеров требует доработки для продакшена;
- Окончательное решение остаётся за пользователем.
Перспективы развития
- Добавить модули риск-менеджмента: лимиты на сделки, стоп-лоссы, диверсификацию;
- Интегрировать голосовой ввод для более естественного взаимодействия;
- Развить аргументацию: объяснять, почему агент предлагает ту или иную сделку.
Важно понимать: ИИ-агенты не заменят инвестора. Но они могут взять на себя рутину — сбор данных, анализ, мониторинг рынка. Это повышает эффективность и снижает порог входа. Теперь инвестиции могут быть доступны тем, кто раньше откладывал их из-за сложного интерфейса или недостатка времени.
Отдельная благодарность команде Т-Банка за открытый T-Invest API и песочницу. Такие инструменты позволяют разработчикам превращать идеи в реальные проекты.