Microsoft発のAI指向のクオンツ投資プラットフォーム。データ処理、モデル学習、バックテストから注文執行までをカバーします。
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
リポジトリをクローンする
git clone https://github.com/AI4Finance-Foundation/FinRL.git - 2
プロジェクトフォルダーに移動する
cd FinRL - 3
仮想環境を作成して有効化する
python3 -m venv venv && source venv/bin/activate - 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 の数値は毎日更新されます。
関連プロジェクト
Qt6 UI、Python分析機能、AIエージェント、100以上の市場データ接続機能を備えた、金融調査向けネイティブC++20デスクトップターミナル。
価格評価、バックテスト、データなど、クオンツ金融向けのオープンソースライブラリ、パッケージ、リソースを分野別にまとめた厳選リスト。
Unity ML-Agents Toolkitは、Unityのゲームやシミュレーションを強化学習・模倣学習によるAIエージェントの訓練環境として利用できます。
単一エージェントの強化学習環境向け標準Python APIと、OpenAI Gymからフォークした参照環境群。
Stable Baselines3の強化学習エージェント向けトレーニングフレームワーク。調整済みハイパーパラメータ、学習済みエージェント、ハイパーパラメータ最適化スクリプトを提供します。