Skip to content

Alexander-Panov/ai-trader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Trader

Автономный ИИ-агент для торговли на российском фондовом рынке. Агент использует архитектуру ReAct (Reasoning + Acting): анализирует рыночные данные, новости и интернет, затем самостоятельно принимает торговые решения.

Подробный разбор архитектуры и результатов — в статье на Хабре:
Анатомия ИИ-трейдера: как создать своего автономного ИИ-агента и зарабатывать на бирже

Как это работает

Агент торгует 10 голубыми фишками российского рынка (SBER, GAZP, YDEX, MTSS, X5, AFLT, ALRS, RSTI, SMLT, DVMP) раз в день — под конец вечерней сессии MOEX.

Инструменты агента:

  • get_price — исторические OHLCV-данные и текущие котировки через Finam TradeAPI
  • get_news — новостной поток из RSS Финама
  • search — поиск через Tavily (отчётность, новости компаний, макро)
  • bash_python — выполнение Python-кода для вычислений и технического анализа
  • buy / sell — выставление рыночных ордеров через Finam API

Текущие позиции портфеля и котировки инжектируются в системный промпт перед каждым запуском.

Быстрый старт

# Установить зависимости
uv sync

# Запустить агента
uv run python src/main.py

Запуск по расписанию (cron) — каждый будний день в 18:00:

0 18 * * 1-5 uv run python /path/to/src/main.py

Настройка

Скопируйте .env.example в .env и заполните:

# Finam TradeAPI (рыночные данные) — https://tradeapi.finam.ru/docs/tokens/
FINAM_API_KEY=
FINAM_ACCOUNT_ID=

# Финам Арена (торговые операции)
FINAM_ARENA_API_KEY=
FINAM_ARENA_ACCOUNT_ID=
FINAM_ARENA_URL=

# Tavily — https://tavily.com/
TAVILY_API_KEY=

# LLM через OpenRouter — https://openrouter.ai/
OPENROUTER_API_KEY=
PROVIDER=openai
MODEL=gpt-5.2

Финам Арена

«Финам» проводит конкурс алготрейдеров — Финам Арена. Каждый участник получает под управление 3 000 000 ₽ на конкурсном счёте для торговли на реальных рыночных котировках через Finam Trade API.

Авторы трёх лучших стратегий получают по 100 000 ₽ на брокерский счёт. Победившие стратегии попадают на сервис «Финам Автоследование» для привлечения реальных инвесторов.

Ключевые даты:

  • Регистрация: 14 мая — 1 июля 2026 г.
  • Старт торгов: 1 июня 2026 г. в 10:00
  • Окончание торгов: 31 июля 2026 г. в 22:00

В этом репозитории уже реализован клиент для конкурсного API (src/trade/arena/) — он используется агентом как основной торговый бэкенд. Для подключения заполните FINAM_ARENA_* переменные в .env (см. раздел Настройка выше). Зарегистрироваться можно на странице конкурса.

Тестирование

# Все тесты
uv run pytest

# Один файл
uv run pytest tests/tools/test_trade.py

# Один тест
uv run pytest tests/tools/test_trade.py::test_buy

Тесты в tests/trade/ и tests/tools/test_price.py обращаются к реальному Finam API и требуют валидных credentials в .env. Торговые тесты используют MockArenaClient из tests/mock_arena_client.py.

About

Автономный ИИ-агент для торговли на российском фондовом рынке на базе LangGraph + ReAct архитектуры

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors