TradingAgentsは、複数のLLMエージェントに証券会社の役割分担を模倣させる、マルチエージェント金融取引フレームワークです。ファンダメンタルズ・センチメント・ニュース・テクニカルの各アナリスト、リサーチャー、トレーダー、リスク管理チーム、ポートフォリオマネージャーが順に議論と判断を重ねて、最終的な投資判断を出力します。CLIまたはPythonパッケージとして呼び出せます。
中核はtradingagents/graph/trading_graph.pyのTradingAgentsGraphで、LangGraphを使って各エージェントをノードとしたステートマシンを構築します。まずアナリストチームがyfinance・Alpha Vantage・Reddit・StockTwits・FREDなど複数データソース(dataflows以下)からデータを取得し、レポートを生成します。次にBull/Bear Researcherが討論し、Research Managerが投資方針をまとめ、Traderが取引案を作成、Aggressive/Neutral/Conservative の3種のリスク討論者が検証し、最後にPortfolio Managerが最終決定を出します。llm_clients配下にOpenAI・Anthropic・Google・Bedrock・Azureなど多数のプロバイダー実装があり、default_config.pyとTRADINGAGENTS_*環境変数で使用モデルや討論回数を切り替えられます。checkpointer.pyによりLangGraphのチェックポイントから再開でき、reporting.pyが最終レポートをツリー構造で書き出します。
- STEP 01
pip install -e . または requirements.txtでインストールし、.env.exampleを.envにコピーして、OpenAIなど使うプロバイダーのAPIキーを設定します。
- STEP 02
tradingagentsコマンド、またはpython main.pyを実行すると、CLIの対話式プロンプトでティッカー・日付・アナリスト選択・LLMプロバイダーなどを順に聞かれます。
- STEP 03
実行が始まると、Richベースのライブ画面に各エージェント(Market Analystなど)のステータスとツールコールがリアルタイムで表示されます。
- STEP 04
討論フェーズになるとBull Researcherと Bear Researcherの発言、続いてリスク管理3者の発言がログとして流れていきます。
- STEP 05
完了すると最終トレード判断(BUY/HOLD/SELLなど)がコンソールに表示され、reporting.pyによって各セクションのレポートファイルがツリー構造で保存されます。
- STEP 06
APIキーが未設定・不正な場合はensure_api_keyなどの検証で早期にエラーメッセージが出て、無駄なLLM呼び出し前に停止することがtests/test_api_key_env.pyなどから確認できます。
指定したティッカーと日付に対して、ファンダメンタルズ・センチメント・ニュース・テクニカルの4種のレポート、投資方針(investment_plan)、トレーダー案(trader_investment_plan)、最終判断(final_trade_decision)が一式のテキストレポートとして手元に残ります。加えてLangGraphのチェックポイントが保存されるため、途中終了しても再開が可能です。
README自身が明記する通り、これは研究目的のフレームワークであり、投資助言ではありません。バックボーンモデル・温度設定・データ品質によって結果が大きく変わります。
複数のLLMプロバイダーへの呼び出しを何度も行う設計のため、実行のたびにAPIコストが発生し、討論ラウンド数を増やすほど呼び出し回数とコストが増えます。
yfinance・Reddit・StockTwits・Alpha Vantage・FREDなど外部データソースに依存しており、それぞれのAPI制限や取得失敗時のフォールバック挙動(tests/test_reddit_fallback.pyなど)を事前に把握しておく必要があります。
TRADINGAGENTS_TEMPERATURE=0.0を設定してもLLM出力が完全に決定論的になるわけではないと、.env.example自体に注記があります。
複数のLLMプロバイダーを切り替えつつ、証券会社の役割分担を模したマルチエージェント討論で投資判断プロセスを研究したい人に向いています。pyproject.tomlの依存関係、cli/main.pyのCLI実装、tradingagents/graph以下のLangGraphステートマシン、60件超のテストファイルが実装の存在と粒度を裏付けており、READMEの機能説明とファイル構成が一致しています。ただし実運用の取引助言ツールではなく、研究・検証用のフレームワークとして評価するのが妥当です。