name: tradingagents
description: >-
Runs the TauricResearch TradingAgents multi-agent LLM debate (analysts →
bull/bear researchers → trader → risk team → final BUY/SELL/HOLD) on a ticker
via the vendored framework. Use when the user asks for "TradingAgents",
"멀티에이전트 트레이딩/분석", "불베어 토론", "디베이트 분석", "AI 트레이딩 회사 시뮬레이션",
"agent debate on ", or wants the multi-perspective trading-firm view on
a US ticker (NVDA/MU/AVGO/TSM). Do NOT use for the 매물대-first KR analysis
(use stock-jarvis — it owns volume-profile/수급/공포지수 and is more accurate on
KR), order execution (kis-order-executor/tossinvest-trading), or backtests
(trading-backtest-expert). KR tickers run DEGRADED here; route them to stock-jarvis.
TradingAgents Bridge (멀티에이전트 트레이딩 토론)
Vendored TauricResearch/TradingAgents (arXiv:2412.20138, Apache-2.0) run from this repo. A LangGraph trading-firm simulation: Fundamentals/News/Market/Sentiment analysts → bull vs bear researcher debate → trader → risk team → final decision.
What it adds vs stock-jarvis
stock-jarvis = 매물대·수급·공포지수 구조 분석(KR 강함). TradingAgents = LLM 토론/관점 다양성 레이어(US 강함, 뉴스 이벤트장에서 불/베어 논쟁). 보강 관계, 대체 아님.
⛔ Hard prerequisites
- Funded LLM key in
.env. Real paid calls (~10-20 LLM calls/run). One of:OPENROUTER_API_KEY(default provider, routes to Claude — cheapest top-up),ANTHROPIC_API_KEY,OPENAI_API_KEY. Unfunded/invalid → script exits 2 (graceful skip) with a clearreason; report that to the user, don't fake a result. - Runs under the vendored venv interpreter, NOT the repo python.
Run (always run-once via Bash — never a Claude hot-loop)
vendor/TradingAgents/.venv/bin/python scripts/tradingagents_run.py \
--ticker NVDA --date 2026-05-30
Default: provider=openrouter, deep=anthropic/claude-sonnet-4.6,
quick=anthropic/claude-haiku-4.5, analysts=market,news,fundamentals,
debate-rounds=1, lang=Korean. Override flags: --provider --deep --quick --analysts --debate-rounds --risk-rounds --asset-type --date.
Direct Anthropic key instead of OpenRouter:
... --provider anthropic --deep claude-sonnet-4-6 --quick claude-haiku-4-5
Output (parse stdout JSON; never re-run for the same args)
- stdout: one-line JSON
{ok, ticker, signal, decision_core, json_path, md_path} outputs/tradingagents/<TICKER>/<date>.json— decision + all reports (machine)outputs/tradingagents/<TICKER>/<date>.md— Korean human report
Ticker routing
- US (NVDA, MU, AVGO, TSM): full power.
- KR (6-digit 005930/000660): auto
.KS, flaggeddegraded:true. Fundamentals/ news/social thin upstream → tell user "KR degraded, stock-jarvis 병행 권장".
Cost / safety guards
- Run-once script + parse output. Do NOT wrap in
/loopor ScheduleWakeup ([[loop-monitor-cost-guard]]). - Analysis only. Orders need explicit approval + stock-jarvis gate.
- Output is simulation, not advice. State that.
Failure handling
| Symptom | Action |
|---|---|
exit 2 skip 401/402/429 |
key unfunded/invalid → ask user to fund/replace key |
exit 1 propagate failed |
report detail; check yfinance data for the date |
| KR thin data | note degraded, defer to stock-jarvis |