TauricResearch /
TradingAgents
A team of LLM agents that debate and decide on stock trades, for research
- 113.1k stars
- 3.6k stars since 3 Oct
- Python
- Updated 6 days ago
- Some experience
- AI agents
TradingAgents models a trading firm with LLM agents. Each agent has one job. Analysts study a stock from different angles, researchers argue for and against it, a trader proposes a move, and a risk team and portfolio manager approve or reject it.
You pick a ticker and a date. Four analysts (fundamentals, sentiment, news, technical) work at the same time and write reports. A bullish and a bearish researcher then debate those reports, the trader drafts a decision, and the risk team reviews it. Approved orders go to a simulated exchange, not a real one.
It works with many model providers, including OpenAI, Google, Anthropic, xAI, DeepSeek, Mistral, Groq, AWS Bedrock, and local servers such as Ollama, vLLM and LM Studio. It comes from an academic paper (arXiv 2412.20138) and is meant for research. The authors say it is not financial, investment or trading advice.
What it does
Four specialist analysts
Fundamentals, sentiment, news and technical analysts run in parallel, each with its own tools. The research debate starts once all their reports are in.
Debate and risk review
Bullish and bearish researchers critique the analyst reports in structured debates. A risk team and a portfolio manager then review the trader's proposal.
Many LLM providers
Works with a long list of hosted providers, plus Ollama and any OpenAI-compatible server. Quick-thinking and deep-thinking models are set separately.
Interactive and scripted CLI
An interactive CLI asks for ticker, date, provider and research depth. It can also run without prompts using flags such as --ticker and --date, for scripts or scheduled jobs.
Docker and local models
A Docker Compose setup is included, with a separate profile for running local models through Ollama.
What you could build
- Study how a group of LLM agents with different roles reaches a trading decision.
- Compare how different language models behave in the same analyst, researcher or trader role.
- Generate analysis reports for a ticker on a chosen date and read the reasoning behind each step.
- Run backtest-style experiments over tickers and dates from a script or scheduled job.
- Build on the Python package to try your own agent roles or data sources.
Get started
Clone the repo, create a Python 3.11+ virtual environment, and install it with pip. Set an API key for your chosen LLM provider (or point it at a local Ollama server), then run the tradingagents command and pick a ticker and date.
git clone https://github.com/TauricResearch/TradingAgents.gitpip install .tradingagentsCommands are copied from the project's README. Read it on GitHub for the full setup.
Anything better than TradingAgents?
TradingAgents is the strongest pick for studying multi-agent debate on trading decisions, and nothing here does exactly that. Look elsewhere if you want routine watchlist reports rather than research, or a general agent or LLM-routing layer.
-
daily_stock_analysisAlternative Pick it if you want a scheduled daily report on a watchlist, including A-share and Asian markets, pushed to chat or email, not a multi-agent debate. Trade-off: You lose the bull/bear debate and risk-review structure, and get a single-LLM analysis aimed at daily use.
-
dexterAlternative Pick it for asking open-ended financial research questions in a terminal with live company data, rather than running a fixed trading-firm pipeline. Trade-off: It is a single agent with no debate or trader and risk roles. It is TypeScript and has had fewer recent commits.
-
litellmUse alongside Use it with TradingAgents to route the agents' many LLM calls through one gateway, with spend tracking, key management and failover across providers. Trade-off: You must run and configure an extra proxy layer, and TradingAgents already supports many providers directly.