← К списку статей
April 13, 2026
5 мин. чтения

AI4Finance Foundation: экосистема FinGPT, FinRL и FinRobot для алготрейдинга

AI4Finance Foundation: экосистема FinGPT, FinRL и FinRobot для алготрейдинга
#AI4Finance
#FinGPT
#FinRL
#FinRobot
#LoRA
#reinforcement learning
#LLM
#open-source

AI4Finance — экосистема AI для финансов

На ai4finance.org фонд AI4Finance Foundation объединяет десятки open-source проектов для применения AI в финансах. Если смотреть на карту целиком, три столпа формируют каркас:

Столп Назначение Ключевая технология
FinGPT Финансовые LLM LoRA, fine-tuning, сентимент
FinRL Reinforcement learning для трейдинга Gymnasium, DRL-агенты
FinRobot Мультиагентная оркестрация AutoGen, роли, toolkits

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


1. FinGPT — финансовые LLM через LoRA

FinGPT — это не одна модель, а пайплайн: данные → дообучение → приложения. Идея: не обучать LLM с нуля (дорого), а адаптировать существующую модель под финансовые задачи.

Зачем LoRA?

LoRA — адаптация без переобучения всей модели

LoRA (Low-Rank Adaptation) — ключевая техника FinGPT. Вместо переобучения всех миллиардов параметров базовой модели, LoRA добавляет к выбранным слоям маленькие обучаемые матрицы низкого ранга:

  • Дешевле по GPU — обучается адаптер, а не вся модель
  • Проще сравнивать — разные адаптеры к одной базе
  • Компактное хранение — только adapter_model.bin вместо гигабайтов

Типичный рецепт в train_lora.py:

from peft import LoraConfig, get_peft_model

peft_config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    r=8,                           # ранг адаптера
    lora_alpha=32,                 # масштаб
    lora_dropout=0.1,
    target_modules=['query_key_value'],  # какие слои оборачиваем
)
model = get_peft_model(model, peft_config)

Ранг r: больше → больше ёмкость, но и риск переобучения на шумных заголовках. Типичные значения: 4–16.

Спутники: FinNLP и FinRAG

  • FinNLP — ETL для финансового NLP: новости, соцсети, SEC-отчёты, earning calls. Базовый класс управляет прокси, ретраями, rate-limiting — без чего публичные источники быстро банят.

  • FinRAG — RAG-пайплайн: PDF/Word → чанки → векторное хранилище (Milvus) → LLM отвечает с опорой на документы. Дополняет FinGPT, но не заменяет его.


2. FinRL — reinforcement learning для трейдинга

FinRL связывает рыночные данные, Gymnasium-среду и готовые DRL-библиотеки (ElegantRL, RLlib, Stable-Baselines3).

Как работает торговая среда

StockTradingEnv наследует gym.Env. Агент принимает решения:

action_space = spaces.Box(low=-1, high=1, shape=(stock_dim,))

observation_space = spaces.Box(low=-np.inf, high=np.inf, shape=(state_dim,))

Встроенный риск-менеджмент: параметр turbulence_threshold переводит агента в режим «рынок слишком волатилен — выходим в кэш». Это попытка встроить управление рисками в MDP, а не только максимизацию PnL.

Пайплайн обучения

DataProcessor → clean → add_indicators → [optional VIX] → df_to_array → env → DRL agent

train.py маршрутизирует на разные бэкенды:

Бэкенд Особенности
ElegantRL Мульти-GPU, буфер опыта пачками
Stable-Baselines3 Самый простой старт
RLlib Масштабирование, Ray

Спутники FinRL

Проект Что делает
FinRL-Meta Расширенные среды и датасеты
FinRL_Crypto Среда для 24/7 крипто через CCXT
FinRL_DeepSeek NLP-признаки (сентимент) → PPO/CPPO
FinRL_Market_Simulator LOB-симуляция, ABIDES, TWAP
FinML Классический ML: walk-forward, sklearn, LSTM

Важно: качество RL-стратегии определяется постановкой задачи, а не алгоритмом. Утечка будущего в фичах, неверные комиссии, нереалистичное исполнение «по close» уничтожат любой агент.


3. FinRobot — оркестрация AI-агентов

FinRobot — UX и сценарии поверх FinGPT/FinRL. Вместо одного промпта — коллектив агентов с ролями, toolkits и RAG.

Библиотека ролей

Класс FinRobot наследует AssistantAgent из AutoGen. Если передать строку — роль ищется в library:

class FinRobot(AssistantAgent):
    def __init__(self, agent_config: str | Dict):
        if isinstance(agent_config, str):
            name = agent_config.replace("_Shadow", "")
            agent_config = library[name]  # profile, responsibilities, system_message
        super().__init__(name, system_message, ...)

Доступные роли включают equity research, risk analysis, portfolio management — каждая со своим набором инструментов и промптом.

Equity Research: единый промпт данных

EquityResearchAgentManager строит отчёт по секциям (tagline, overview, valuation, risks). Ключевой паттерн: _prepare_financial_data_prompt формирует один markdown с метриками и новостями для всех секций — меньше рассинхрона между «рисками» и «оценкой».

Где заканчивается FinRobot

Оркестрация не заменяет валидацию данных, бэктест и комплаенс. FinRobot — это слой представления, а не торговый движок.


Сводка по экосистеме

Продукт Что запомнить разработчику
FinGPT LoRA + Trainer + collator; FinNLP — сырьё; FinRAG — документы
FinRL StockTradingEnv + DataProcessor + выбор DRL-бэкенда; спутники для крипто, симулятора, NLP
FinRobot Роли AutoGen + equity-менеджер + единый промпт данных

Ссылки


Всё выше — открытый исследовательский код; это не персональная инвестиционная рекомендация. Перед реальными сделками проверяйте допущения симулятора, издержки, проскальзывание и регуляторные ограничения.

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

MarketMaker.cc Team

Количественные исследования и стратегии

Обсудить в Telegram
Newsletter

Будьте в курсе событий

Подпишитесь на нашу рассылку, чтобы получать эксклюзивную аналитику по AI-трейдингу и обновления платформы.

Мы уважаем вашу конфиденциальность. Отписаться можно в любой момент.