今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

TauricResearch/TradingAgents

複数の特化したLLMエージェントが協働する金融取引フレームワーク。

TradingAgentsを動かすと、ニュース分析担当やテクニカル分析担当など役割の異なる複数のLLMエージェントが、まるで実際の投資チームのように意見を出し合う様子を目の前で見られます。単一エージェントの結論をただ受け取るのではなく、構造化された討論を経て合意に至るプロセスそのものを追体験できる点が、実際に手を動かしたくなる理由です。CLIから起動でき、Dockerや複数のLLMプロバイダにも対応しているので、今日この場で自分の分析シナリオを流し込み、過去の判断ログを振り返りながらエージェントチームの意思決定がどう改善されていくかを確かめられます。

01 / 概要
何をするものか一文で言うと
ひとことで複数の特化したLLMエージェントが協働する金融取引フレームワーク。

TradingAgentsは、複数のLLMエージェントに証券会社の役割分担を模倣させる、マルチエージェント金融取引フレームワークです。ファンダメンタルズ・センチメント・ニュース・テクニカルの各アナリスト、リサーチャー、トレーダー、リスク管理チーム、ポートフォリオマネージャーが順に議論と判断を重ねて、最終的な投資判断を出力します。CLIまたはPythonパッケージとして呼び出せます。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

中核は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が最終レポートをツリー構造で書き出します。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    pip install -e . または requirements.txtでインストールし、.env.exampleを.envにコピーして、OpenAIなど使うプロバイダーのAPIキーを設定します。

  2. STEP 02

    tradingagentsコマンド、またはpython main.pyを実行すると、CLIの対話式プロンプトでティッカー・日付・アナリスト選択・LLMプロバイダーなどを順に聞かれます。

  3. STEP 03

    実行が始まると、Richベースのライブ画面に各エージェント(Market Analystなど)のステータスとツールコールがリアルタイムで表示されます。

  4. STEP 04

    討論フェーズになるとBull Researcherと Bear Researcherの発言、続いてリスク管理3者の発言がログとして流れていきます。

  5. STEP 05

    完了すると最終トレード判断(BUY/HOLD/SELLなど)がコンソールに表示され、reporting.pyによって各セクションのレポートファイルがツリー構造で保存されます。

  6. STEP 06

    APIキーが未設定・不正な場合はensure_api_keyなどの検証で早期にエラーメッセージが出て、無駄なLLM呼び出し前に停止することがtests/test_api_key_env.pyなどから確認できます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

指定したティッカーと日付に対して、ファンダメンタルズ・センチメント・ニュース・テクニカルの4種のレポート、投資方針(investment_plan)、トレーダー案(trader_investment_plan)、最終判断(final_trade_decision)が一式のテキストレポートとして手元に残ります。加えてLangGraphのチェックポイントが保存されるため、途中終了しても再開が可能です。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

README自身が明記する通り、これは研究目的のフレームワークであり、投資助言ではありません。バックボーンモデル・温度設定・データ品質によって結果が大きく変わります。

02

複数のLLMプロバイダーへの呼び出しを何度も行う設計のため、実行のたびにAPIコストが発生し、討論ラウンド数を増やすほど呼び出し回数とコストが増えます。

03

yfinance・Reddit・StockTwits・Alpha Vantage・FREDなど外部データソースに依存しており、それぞれのAPI制限や取得失敗時のフォールバック挙動(tests/test_reddit_fallback.pyなど)を事前に把握しておく必要があります。

04

TRADINGAGENTS_TEMPERATURE=0.0を設定してもLLM出力が完全に決定論的になるわけではないと、.env.example自体に注記があります。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

複数のLLMプロバイダーを切り替えつつ、証券会社の役割分担を模したマルチエージェント討論で投資判断プロセスを研究したい人に向いています。pyproject.tomlの依存関係、cli/main.pyのCLI実装、tradingagents/graph以下のLangGraphステートマシン、60件超のテストファイルが実装の存在と粒度を裏付けており、READMEの機能説明とファイル構成が一致しています。ただし実運用の取引助言ツールではなく、研究・検証用のフレームワークとして評価するのが妥当です。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する