Repolode
AI4Finance-Foundation

AI4Finance-Foundation/FinRL-Trading

Модульный Python-фреймворк для количественной торговли: от отбора акций и распределения портфеля до бэктестинга и исполнения сделок через Alpaca — с единым интерфейсом на основе весов.

Звёзды
3,912
Форки
1,133
Открытые issues
53
Последний коммит
2 месяца назад

Эта страница описывает проект с открытым кодом и не является инвестиционной рекомендацией. Торговля и инвестиции могут привести к убыткам: оцените риски самостоятельно и соблюдайте законы своей страны перед использованием.

Что это?

FinRL-X — инфраструктура для количественной торговли на основе AI от AI4Finance Foundation, пришедшая на смену исходному фреймворку FinRL. Она выстраивает стратегии в виде конвейера, который формирует вектор целевых весов портфеля. Одни и те же веса используются и в движке бэктестинга, и при исполнении сделок в реальном времени.

Проект поддерживает загрузку данных из Yahoo Finance, FMP и WRDS с кэшированием в SQLite, отбор акций с помощью ML (селектор на основе Random Forest), распределение активов в портфеле — например, равновзвешенное, средне-дисперсионное и с минимальной дисперсией, а также распределитель на основе DRL. Кроме того, есть модули выбора момента входа и управления рисками на уровне портфеля. Бэктесты выполняются с помощью библиотеки bt, с сопоставлением с несколькими бенчмарками и учётом транзакционных издержек.

Для реальной и бумажной торговли используется Alpaca с поддержкой нескольких аккаунтов и проверками рисков перед сделкой. В комплект входят CLI-точка входа, скрипт развёртывания, Python API и пример рабочего процесса в Jupyter. Проект предназначен для исследований и обучения и не является финансовой рекомендацией.

Ключевые возможности

  • 01Конвейер, построенный вокруг весов: модули отбора, распределения активов, выбора момента входа и управления рисками можно заменять.
  • 02Загрузка данных из Yahoo Finance, FMP и WRDS с кэшированием в SQLite.
  • 03Бэктестинг с помощью движка bt, сопоставлением с несколькими бенчмарками и учётом транзакционных издержек.
  • 04Бумажная и реальная торговля через Alpaca с поддержкой нескольких аккаунтов и проверками рисков перед сделкой.
  • 05Встроенные стратегии: отбор акций с помощью ML, распределение активов на основе DRL (PPO/SAC) и адаптивная ротация между несколькими классами активов.

Сценарии использования

  • Исследование отбора акций и распределения активов в портфеле американских акций с помощью ML или DRL.
  • Бэктестинг стратегий с несколькими классами активов и сравнением с бенчмарками SPY и QQQ.
  • Проведение экспериментов с бумажной торговлей через Alpaca перед запуском реальной торговли.
  • Обучение количественным финансам с использованием воспроизводимого рабочего процесса на Python.

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

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/AI4Finance-Foundation/FinRL-Trading.git
  2. 2

    Создайте виртуальное окружение (Python 3.11 или новее), затем активируйте его

    python3 -m venv venv
  3. 3

    Установите зависимости

    pip install -r requirements.txt
  4. 4

    Запустите бэктест адаптивной ротации с помощью deploy.sh

    ./deploy.sh --strategy adaptive_rotation --mode backtest

Что важно знать

  • Требуется Python 3.11 или новее.
  • Для бумажной торговли и торговли на реальном счёте нужны учётные данные Alpaca API в файле .env.
  • Результаты эффективности в README получены авторами в собственных бэктестах и при бумажной торговле за определённые периоды.

Темы

#quantitative-trading#algorithmic-trading#deep-reinforcement-learning#portfolio-optimization#backtesting#alpaca#stock-selection#finance#a2c-algorithm#automated-stock-trading

Частые вопросы

Что такое FinRL-Trading?
Модульный Python-фреймворк для количественной торговли: от отбора акций и распределения портфеля до бэктестинга и исполнения сделок через Alpaca — с единым интерфейсом на основе весов. FinRL-X — инфраструктура для количественной торговли на основе AI от AI4Finance Foundation, пришедшая на смену исходному фреймворку FinRL. Она выстраивает стратегии в виде конвейера, который формирует вектор целевых весов портфеля. Одни и те же веса используются и в движке бэктестинга, и при исполнении сделок в реальном времени.
FinRL-Trading можно использовать бесплатно? Какая у него лицензия?
FinRL-Trading распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
FinRL-Trading всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в FinRL-Trading — 18 сент. 2026 г..
Для чего можно использовать FinRL-Trading?
Исследование отбора акций и распределения активов в портфеле американских акций с помощью ML или DRL. Бэктестинг стратегий с несколькими классами активов и сравнением с бенчмарками SPY и QQQ. Проведение экспериментов с бумажной торговлей через Alpaca перед запуском реальной торговли. Обучение количественным финансам с использованием воспроизводимого рабочего процесса на Python.
Как установить FinRL-Trading?
Клонируйте репозиторий: git clone https://github.com/AI4Finance-Foundation/FinRL-Trading.git Создайте виртуальное окружение (Python 3.11 или новее), затем активируйте его: python3 -m venv venv Установите зависимости: pip install -r requirements.txt Запустите бэктест адаптивной ротации с помощью deploy.sh: ./deploy.sh --strategy adaptive_rotation --mode backtest
Где скачать FinRL-Trading?
Исходный код и инструкции по установке — на GitHub: https://github.com/AI4Finance-Foundation/FinRL-Trading

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Слой рыночной среды и бенчмарков для финансового обучения с подкреплением: наборы рыночных данных и торговые среды для разработки и сравнения DRL-агентов.

2 тыс.+6 за неделю754PythonMITОбновлён 26 дней назад

Открытый Python-фреймворк для применения глубокого обучения с подкреплением в автоматизированной торговле акциями и управлении портфелем.

17 тыс.+85 за неделю3,6 тыс.Jupyter NotebookMITАктивно поддерживаетсяОбновлён 5 дней назад

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

2,2 тыс.+4 за неделю318PythonApache-2.0Обновлён 3 дня назад

Практическое дополнение к китайской книге «XQuant: Everyone Can Be a Quant Trader» со спецификациями и Jupyter-ноутбуками по алгоритмической торговле на Python и бэктестингу.

440+5 за неделю112Jupyter NotebookБез лицензииОбновлён 2 месяца назад