Repolode
AI4Finance-Foundation

AI4Finance-Foundation/FinRL

自動株式取引やポートフォリオ運用に深層強化学習を適用するための、オープンソースのPythonフレームワークです。

スター
16,757
フォーク
3,569
未解決の Issue
308
最終コミット
昨日

これは何?

FinRLは、金融分野の強化学習を使った取引エージェントを構築するためのPythonフレームワークです。取引タスクをシミュレーションするマーケット環境、意思決定方策を学習するDRLエージェント、株式取引やポートフォリオ配分といった金融アプリケーションの3層で構成されています。エージェントはマーケット環境とやり取りし、学習・テスト・取引の各段階を通じて方策を学習します。

Stable Baselines 3経由でA2C、DDPG、PPO、TD3、SACなどのDRLアルゴリズムを利用できます。また、Yahoo Finance、Alpaca、Binance、CCXT、Tushareなど、複数のデータソースに対応しています。組み込みの前処理では、MACDやRSIなどのテクニカル指標に加え、VIXやturbulence indexの特徴量も追加されます。サンプルスクリプトでは、DOW 30の株価データを使ってエージェントを学習させ、Mean Variance OptimizationやDJIA指数などのベースラインとバックテスト結果を比較します。

このリポジトリは、教育、実験、研究用プロトタイピングを目的とした、従来のFinRLワークフローのオリジナル版です。メンテナーは、本番環境向けの取引システムには、別プロジェクトのFinRL-X / FinRL-Tradingを案内しています。コードはMITライセンスで公開されており、学術目的で提供されています。金融アドバイスを目的とするものではありません。

主な機能

  • 01A2C、DDPG、PPO、TD3、SACなどのDRLエージェントを実装
  • 02株式取引やポートフォリオ配分向けの、Gym形式のマーケット環境を提供
  • 03Yahoo Finance、Alpaca、Binanceなどのデータソースから市場データを取得・前処理
  • 04MACD、RSI、Bollinger Bandsなどのテクニカル指標を追加
  • 05バックテストを実行し、エージェントをMVOやDJIAのベースラインと比較

ユースケース

  • 取引の課題に強化学習を適用する方法を学ぶ
  • 学術研究でDRLによる取引戦略をプロトタイピングする
  • 新しいエージェントを従来型の株式取引環境と比較評価する
  • 過去の市場データを使ってポートフォリオ配分を検証する

クイックスタート

  1. 1

    リポジトリをクローンする

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

    プロジェクトフォルダーに移動する

    cd FinRL
  3. 3

    仮想環境を作成して有効化する

    python3 -m venv venv && source venv/bin/activate
  4. 4

    FinRLをインストールする

    pip install -e .

使う前に知っておきたいこと

  • READMEでは、このリポジトリをオリジナルの教育・研究向けバージョンとして紹介しており、本番環境での利用にはFinRL-X/FinRL-Tradingを案内しています。
  • データのダウンロードにはYahoo Financeなどの外部ソースが必要です。また、AlpacaやWRDSなどの利用にはAPIキーやアカウントが必要になることがあります。

トピック

よくある質問

FinRL とは?
自動株式取引やポートフォリオ運用に深層強化学習を適用するための、オープンソースのPythonフレームワークです。 FinRLは、金融分野の強化学習を使った取引エージェントを構築するためのPythonフレームワークです。取引タスクをシミュレーションするマーケット環境、意思決定方策を学習するDRLエージェント、株式取引やポートフォリオ配分といった金融アプリケーションの3層で構成されています。エージェントはマーケット環境とやり取りし、学習・テスト・取引の各段階を通じて方策を学習します。
FinRL は無料で使えますか?ライセンスは?
FinRL は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
FinRL は今もメンテナンスされていますか?
活発にメンテナンス中。FinRL の最終コミットは 2026年10月20日 です。
FinRL は何に使えますか?
取引の課題に強化学習を適用する方法を学ぶ 学術研究でDRLによる取引戦略をプロトタイピングする 新しいエージェントを従来型の株式取引環境と比較評価する 過去の市場データを使ってポートフォリオ配分を検証する
FinRL のインストール方法は?
リポジトリをクローンする: git clone https://github.com/AI4Finance-Foundation/FinRL.git プロジェクトフォルダーに移動する: cd FinRL 仮想環境を作成して有効化する: python3 -m venv venv && source venv/bin/activate FinRLをインストールする: pip install -e .
FinRL はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/AI4Finance-Foundation/FinRL

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト