Ikeraq

TauricResearch/TradingAgents

取引をする会社の中の役割分担をそのまま組み、LLM同士に議論させて判断を出す

Apache-2.0 · 商用可 Python ★ 111,905 (今日 +173) 2日前に更新
GitHub で見る TauricResearch/TradingAgents
GitHub の説明(原文)
TradingAgents: Multi-Agents LLM Financial Trading Framework

どういうものか

先に断っておくと、これは研究用の枠組みであり、投資助言ではない。作者自身が README でそう明記している。注文が飛ぶ先も模擬の取引所だ。

株の判断を LLM に1回聞いて終わりにすると、その答えがなぜそうなったかを検証できない。TradingAgents はそこを、実在するトレーディング会社の組織図をまねるという形で解いている。役割ごとに別々のエージェントを立て、順番に受け渡していく。まず分析班が4人。財務諸表を見る人、ニュースや景気指標を見る人、掲示板やSNSの空気を集める人、MACD や RSI といった指標を見る人。次に研究班で、強気の担当と弱気の担当がわざと対立させられ、分析班の材料をめぐって決められた回数だけ議論する。討論の回数は設定で変えられる。

そのうえでトレーダー役が売買案(時期と量)を書き、リスク管理班が値動きの荒さや流動性を見て評価をつけ、最後にポートフォリオ責任者が承認するか却下するかを決める。承認された注文は模擬取引所に送られて約定する。土台は LangGraph で、この受け渡しの並びが図として組まれている。一連の流れは Python から TradingAgentsGraph を作って .propagate("銘柄", "日付") を呼ぶだけでも走るし、対話式のコマンドライン画面から銘柄・日付・使うモデル・調査の深さを選ぶこともできる。

このプロジェクトの読みどころは、実は組織図よりも、過去の情報を覗いてしまう問題への手当てのほうにある。過去日付で試すとき、その日にはまだ存在しなかった情報が混ざれば、成績はいくらでもよく見える。更新履歴を見ると、景気指標・SNSの空気・判断の記録それぞれについて、この覗き見を潰す修正が繰り返し入っている。加えて、銘柄記号から会社を特定する処理はエージェントが動く前に確定的に済ませ、価格や指標の記述は検証済みのデータに紐づける、という作りに変えられている。「走らせるたびに別の会社の話になる」「ありもしない株価が出てくる」という報告への対処だと、README に経緯ごと書かれている。実行ごとの記録は判断ログに残り、次に同じ銘柄を分析するときは、実際の値動き(SPY との比較を含む)を取ってきて振り返りを1段落作り、それを責任者役への指示文に差し込む。

会社の役割分担をそのまま並べる 分析班 (材料を集める) 財務 ニュース・景気 SNSの空気 テクニカル指標 研究班 (わざと対立させる) 強気 ⇄ 弱気 決めた回数だけ討論 利益と危険を突き合わせる 売買案 → 審査 (時期と量を決める) トレーダーが案を書く リスク班が評価する 責任者が承認/却下 模擬取引所 承認された注文だけ が約定する (研究用の枠組み) 結果と反省を判断ログに残し、次の分析に差し込む どこで判断が変わったかを役割ごとに追える。これが1回聞くのとの違いになる
狙いは当てることより、判断の過程を分解して見えるようにすること。だから討論と承認という手順が挟まっている。

どんなときに使うか

複数のエージェントに議論させる設計を、動く実例で見たいとき

役割を分ける、わざと反対の立場を作る、承認の関門を置く、結果を次に持ち越す。多エージェントの設計でよく話題になる要素がひととおり実装されていて、LangGraph で組まれた流れとして読める。題材が投資であることより、組み方のほうに学ぶところがある。

過去日付での検証を、自分で組もうとしているとき

情報の混入をどこで塞ぐかが、更新履歴に具体的な項目として並んでいる。どこから漏れるのかの一覧として読める。

注意点

投資助言ではない、と作者自身が明記している。 研究目的の枠組みであり、成績は使うモデル・温度・期間・データの質などで変わる、と README とリンク先の免責に書かれている。この記事も同じ立場で紹介している。

同じ入力でも結果は揺れる。 作者はこれを不具合ではないと説明したうえで、原因を分けている。モデルの出力自体が毎回同じにならないこと、そしてニュースやSNSは「いま」を返すので、過去の日付を指定しても社会の側の材料は変わってしまうこと。掲載されている成績が再現される保証はない、と明言されている。

費用が読みにくい。 分析4人、討論を複数回、審査と承認。1回の判断で LLM が何度も呼ばれる構成なので、銘柄数や討論回数を増やすと費用が伸びる。深く考えるモデルと素早く答えるモデルを分けて指定できるので、そこで調整することになる。

データ提供元の鍵を求められる場合がある。 README では、LLM 各社の鍵と並べて Alpha Vantage の鍵が案内されている(必須とは書かれていない)。市場の対応範囲は Yahoo Finance が扱う範囲と説明されていて、どこまで鍵なしで動くかは、使う機能によるので確かめたほうがいい。市場は、東証(7203.T)や香港(0700.HK)など、記号に取引所の接尾辞を付けて指定できる。

ライセンスは Apache-2.0。論文(arXiv:2412.20138)が併記されている。

開発の様子

1.8 年
公開してからの期間。2024-12-28 が最初のコミットです
8 回
リリースの回数です
20 人
開発に参加した人数です
2 日前
最後のコミットです
101 件
未解決の Issue とプルリクエストの合計です(GitHub はこの2つを同じ数に含めます)

ほかの候補

headroomlabs-ai/headroom
エージェントが読むログや検索結果を手元で圧縮してから、モデルに渡す
bojieli/ai-agent-book
AIエージェントの教科書を、実験のコードごと全部公開している
Tencent/WeKnora
社内に散らばった文書を、質問して引ける知識ベースに作り替える
X で共有 この記事がよかったら

この記事の更新日は 2026-09-09 です。 内容は公開されている README と GitHub のデータに基づいています。 数値は GitHub から取得したもの、警告は判定の基準にある条件での自動判定です。事実誤認を見つけた場合はお知らせください。