← ブログに戻る
Ai読了目安 15 分

LLMエージェントで作る証券会社、11万7000スター。まず免責事項を読むべき理由

公開日 2026年10月28日
LLMエージェントで作る証券会社、11万7000スター。まず免責事項を読むべき理由

TradingAgentsはGitHubで約11万7700個のスターを集め、今週だけでおよそ4900個を上乗せした。「実際に仕事をするエージェント」というカテゴリでは上位に入るリポジトリだ。Tauric Researchによるマルチエージェント・フレームワークで、証券会社を模している。アナリスト、リサーチャー、トレーダー、リスク管理チーム、そしてポートフォリオマネージャー。全員が言語モデルで動き、何かが承認されるまで互いに議論を続ける。

このリポジトリは、自分の主張について慎重だ。説明文には研究目的で設計されたと明記され、さらに、性能は選択した基盤モデル、temperature、取引期間、データ品質、そして純粋な非決定性によって変わると付け加えている。この一文は多くの仕事をしており、READMEの中で最も重要な部分だ。

組織図がそのままアーキテクチャ

ここで面白いのは、LLMが銘柄を選べるということではない。それを下手にやるプロンプトはいくらでもある。興味深いのは、パイプラインが実在の企業のように構成され、職務の分離と討議の段階が組み込まれている点だ。

4人のアナリストが並行して独立に動く。ファンダメンタルズ(財務、本源的価値、リスク信号)、センチメント(ニュース見出し、StockTwits、Reddit)、ニュース(グローバルおよびマクロの事象)、テクニカル(MACD、RSI、パターン認識)だ。互いの出力は見えない。4本のレポートがすべて揃わなければ、先には進まない。

次に2人のリサーチチーム、強気派と弱気派が、そのレポートを構造化されたラウンドで討議する。続いてトレーダーがアナリストとリサーチャーの材料を、タイミングとサイズを伴う判断に統合する。そしてリスク管理チームがボラティリティ、流動性、エクスポージャーを評価し、その評価をポートフォリオマネージャーに渡す。承認か却下はこの人が決める。承認された取引は模擬取引所に送られる。

ファンドで働いたことがあれば、この形には見覚えがあるはずだ。リスク管理チームが拒否権を持ち、ポートフォリオマネージャーが最終判断を下す部分も含めて。これは飾りではない。証券会社がこう組織されるのは、世界の見方が一つしかない単独の意思決定者は、相関した誤りを犯すからだ。この構造自体が誤り訂正の仕組みであり、フレームワークがコピーしているのは職種名ではなく仕組みのほうだ。

玻璃会议墙上用白色马克笔画出的决策流程,方框与箭头分成两路又重新汇合,一处分支被画上叉

動かすまで

Python 3.11以上。READMEはcondaかuvを勧めている。

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
pip install .

次にenvファイルをコピーしてキーを追加する。

cp .env.example .env

そして対話型CLIを実行する。

tradingagents

Dockerの経路もある。再現できる結果が欲しいなら、私ならこちらを使う。

docker compose run --rm tradingagents

定期実行用に、モデルを明示指定できる非対話モードも用意されている。

export TRADINGAGENTS_LLM_PROVIDER=openai \
  TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna \
  TRADINGAGENTS_DEEP_THINK_LLM=gpt-6-sol
tradingagents --ticker NVDA --date 2026-09-23 \
  --analysts market,news,fundamentals --save --no-show

この2モデル構成は注目に値する。「quick think」が機械的なターンを処理し、「deep think」が分析を担う。設定項目の衣装を着たコスト管理の判断であり、大きなモデルでマルチエージェントを丸ごと回すと銘柄あたりの費用が高いことを、作者が分かっている証拠でもある。

数字の問題

ここからが、このリポジトリのよくある論じ方に異を唱えたい部分だ。

1銘柄につき1日1回の判断を出すマルチエージェント取引システムは、1年でごくわずかなデータ点しか生まない。30銘柄を12カ月動かせば7560件の判断になる。多く聞こえるが、そのすべてが同じ12カ月の相場環境から引かれていることを思い出してほしい。実効サンプルサイズは7560個の独立した観測というより、一つのレジームに近い。

さらにREADMEが警告する非決定性がある。temperature、モデルのバージョン、ツールのレイテンシ、取得したニュースが届く順序。どれも出力を動かす。同じ日付、同じ銘柄で2回走らせれば、リサーチャーの討議段階で分岐し、違うポジションに着地しうる。これでは通常のバックテストはほぼ複製できない。そして複製だけが、結果を証拠に変える。

これはフレームワークへの批判ではない。「自分のエージェントがS&Pを上回った」という記事のジャンルへの批判だ。この手のリリースの後には、必ずそういう記事が続く。作者自身は研究という枠組みでarXiv論文(2412.20138)として発表しており、リポジトリの最初の一文にも研究目的と書いてある。その文と、それが共有されるされ方との間の隙間で、人は資金を失う。

討議レイヤーが実際にもたらすもの

エージェント同士の討議ログをかなり読んできたが、一貫したパターンがある。討議は結論を変えるよりも、確信度を変えることのほうが多い。

それでも有用だ。同じアナリストレポートをめぐって強気派と弱気派が議論すると、その取引が依存している具体的な前提が浮かび上がる。「利益率の拡大が続けばこれは成立する」という一文であり、それは本来、人間のアナリストが読むべき文だ。出力はシグナルではない。「何が真でなければならないか」を構造化して述べたものだ。

逆方向のリスクも実在する。討議ログは説得力を持つ。うまく書かれた弱気の論証は、ハルシネーションで作られた利益の数字の上に立っていても、洞察のように読めてしまう。フレームワークはアナリスト同士を隔離し、リスク管理チームに拒否権を与えることでこれを緩和するが、引用された数値が実在するかを検証する工程はパイプラインのどこにもない。導入するなら、検証レイヤーは自分で作るしかない。しかもそれは別のエージェントの意見ではなく、ハードなゲートであるべきだ。

この道具から出た「結果」はどう見えるべきか

この種のマルチエージェント構成に優位性があると私を納得させたいなら、これが最低ラインだ。そして私が見てきたどのデモよりも高い。

すべてを凍結する。モデルのバージョン、temperature、プロンプトのテンプレート、データスナップショットの日付、検索コーパス。特定の火曜日のライブデータに対して出た結果は、測定ではなく逸話だ。

正しいベンチマークと比べる。「儲かったか」ではなく、「同じエクスポージャーを持つ素朴な戦略を上回ったか」。上昇相場におけるロングオンリーのシステムは、定義上キャッシュに勝つ。エージェント取引のコンテンツの驚くほど多くが、まさにそれに手順をいくつか足しただけのものだ。

コストを報告する。アナリスト4人、複数ラウンドの討議を回すフル構成は、1銘柄1日あたりで実際のトークンを消費する。戦略の年率リターンが12%で、モデルの請求額がポートフォリオの3%なら、討議レイヤーはアルファの4分の1に値して初めて、居場所を得る。

そして負けた実行も公開する。Cloudflareのセキュリティリポジトリが信頼できるのは、1回のパスで見つかるのは繰り返しパスの半分だと明言しているからだ。ここでの等価物は、弱気派のリサーチャーが正しかったのにポートフォリオマネージャーが覆した銘柄を公開することだろう。どのリポジトリも、まだそれをやっていない。

実際にcloneすべき人

正当な用途は3つ。そのどれも「私の資金を運用させる」ではない。

マルチエージェント調整の研究の足場としては、素直に良い。役割の分離が清潔で、討議プロトコルがあり、拒否の仕組みがあり、設計を記述した論文もある。構造化された意見の対立がLLMの推論を改善するかを研究しているなら、インターフェースを自作せずに済む動作するテストベッドだ。

取引デスクが判断をどう分解するかを学ぶ人の教材としては、教科書の図より優れている。レポートが流れていくのを眺められ、悪い入力がどこで伝播するかが見えるからだ。

個人のプレモータムとして、ただし厳格な制限付きで。すでに保有しているポジションで走らせ、弱気の論証を読み、出力を検証すべき項目のチェックリストとして扱う。価値は問いの側にあり、BUY/SELLの欄にはない。そして模擬取引所の中に置いておくこと。既定でそこにあり、そこに留まるべきだ。

11万7000個のスターは需要のシグナルであって、性能のシグナルではない。人はニュースを代わりに読み、どうすればいいか教えてくれるシステムを欲しがっている。このフレームワークが渡すのは、より誠実で、より満たされないものだ。意見の合わない同僚で満ちた部屋と、それでもデータが正しかったかどうかに依存する判断である。

関連記事