TauricResearch/TradingAgents
TradingAgents: Multi-Agents LLM Financial Trading Framework
6 Releases
Latest: 1mo ago
TradingAgents v0.2.5v0.2.5Latest
๐ฆ Provider Coverage
- MiniMax with the full M2.x catalog (204K context), plus dual-region Global (\`MINIMAX_API_KEY\`) and China (\`MINIMAX_CN_API_KEY\`).
- Dual-region Qwen and GLM with separate keys per region (\`DASHSCOPE_*\`, \`ZHIPU_*\`), chosen via a secondary region prompt so the main provider dropdown stays clean.
- Catalog refresh across every provider: GPT-5.5 frontier, Claude Opus 4.7, Gemini 3.1 Flash-Lite GA, Grok 4.20, Qwen 3.6 line. Versioned IDs only; auto-shifting aliases moved to a \"Custom model ID\" option.
- Structured output now works on DeepSeek V4 / reasoner and MiniMax M2.x โ those providers reject \`tool_choice\`; the binding flow now skips it automatically.
๐ฆ Reflection
- News-fetch parameters (per-ticker article limit, macro headline limit, lookback window, macro search queries) are now exposed via \`DEFAULT_CONFIG\` for strategy-specific tuning.
๐ Fixes
- Security: ticker path-traversal validation at every filesystem-path site.
- \`pip install .\` installations now pick up the project \`.env\` when running the CLI as a console script.
- Reports save end-to-end โ streamed chunks were previously dropped from \`complete_report.md\`.
- Ticker prompt preserves exchange suffixes (\`.SH\`, \`.SZ\`, \`.SS\`, \`.HK\`, \`.T\`, etc.).
- Docker permission errors no longer block first-run write to \`~/.tradingagents/\`.
- Config state no longer leaks between runs when sub-dicts are mutated.
- \`max_recur_limit\` config actually applies to the propagator.
- Missing-API-key error names the exact env var to set.
- + 2 more
TradingAgents v0.2.4v0.2.4
๐ฆ Summary
- TradingAgents v0.2.4 ships structured-output decision agents, opt-in checkpoint resume, a persistent decision log with outcome-grounded reflections, four new LLM providers, and a Docker image.
๐ฆ Structured-Output Decision Agents
- Research Manager, Trader, and Portfolio Manager use `llm.with_structured_output(Schema)` on their primary call and return typed Pydantic instances.
- Each provider's native structured-output mode is selected automatically (json_schema for OpenAI / xAI, response_schema for Gemini, tool-use for Anthropic, function-calling for OpenAI-compatible providers).
- Render helpers preserve the existing markdown shape, so memory log, CLI display, and saved reports keep working unchanged.
- Five-tier rating scale (Buy / Overweight / Hold / Underweight / Sell) used consistently across Research Manager, Portfolio Manager, signal processor, and the memory log.
๐ฆ Persistence & Recovery
- LangGraph checkpoint resume via `--checkpoint`. State is saved after each node so crashed or interrupted runs resume from the last successful step. Per-ticker SQLite databases under `~/.tradingagents/cache/checkpoints/`.
- Persistent decision log replaces the per-agent BM25 memory. Decisions are stored automatically at the end of every analysis; the next same-ticker run resolves prior pending entries with realised return, alpha vs SPY, and a one-paragraph reflection.
- Optional `memory_log_max_entries` config caps resolved entries; pending entries are never pruned.
๐ฆ Provider Coverage
- DeepSeek, Qwen (Alibaba DashScope), GLM (Zhipu), and Azure OpenAI providers added.
- Dynamic OpenRouter model selection.
- Default `backend_url` is now `None` so each provider client falls back to its native endpoint instead of leaking the OpenAI URL into Gemini and other clients.
๐ฆ Cross-Platform & Deployment
- Docker support with multi-stage build for cross-platform deployment.
- Cache and log directories moved to `~/.tradingagents/` to resolve Docker permission issues.
- All file I/O passes explicit `encoding="utf-8"`, so Windows users no longer hit `UnicodeEncodeError`.
๐ฆ Stability
- Empty memory no longer triggers fabricated past-lessons; the redesigned memory layer makes this structurally impossible.
- `SignalProcessor` reads the rating from the rendered Portfolio Manager markdown via a deterministic heuristic, eliminating an extra LLM call per analysis.
- OpenAI structured-output calls default to `method="function_calling"` to avoid noisy Pydantic serialization warnings from langchain-openai's Responses-API parse path.
- Tool-call logging processes every chunk message; memory score normalization handles empty arrays.
- Pytest fixtures (lazy LLM client imports plus placeholder API keys) so the test suite runs cleanly without credentials.
๐ฆ Acknowledgments
- We thank the community contributors who shaped this release. The full list is in the [CHANGELOG](https://github.com/TauricResearch/TradingAgents/blob/main/CHANGELOG.md#024--2026-04-25).
TradingAgents v0.2.3v0.2.3
๐ฆ Summary
- TradingAgents v0.2.3 adds multi-language output, GPT-5.4 family models, and improved backtesting fidelity.
๐ฆ Multi-Language Support
- Output language selection in CLI (Step 3) with 11 languages and custom input
- Analyst reports and final decision rendered in the selected language
- Internal agent debate remains in English for reasoning quality
๐ฆ Model Coverage
- GPT-5.4 Mini and GPT-5.4 Nano support
- Unified model catalog as single source of truth for CLI and validation
- Model validation warnings for unrecognized model names
๐งช Backtesting Fidelity
- Date-aware data fetching across all OHLCV, fundamentals, and news endpoints
- Shared caching per symbol for efficient batch backtesting
๐ฆ Provider Integration
- Unified `api_key` parameter across all providers (Google, Anthropic, OpenAI)
- Proxy and custom base URL support for Google and Anthropic clients
- Graceful handling of invalid indicator names in tool calls
๐ฆ Stability
- Rate limit retry coverage for yfinance news endpoints
- CLI step reordering for improved user flow
TradingAgents v0.2.2v0.2.2
๐ฆ Summary
- TradingAgents v0.2.2 introduces a professional five-tier rating framework, unified LLM provider integration, and improved system reliability.
๐ฆ Decision Framework
- Five-tier rating scale (Buy / Overweight / Hold / Underweight / Sell) with structured executive summary and investment thesis
- Portfolio manager as the standardized final decision agent
๐ฆ Provider Integration
- OpenAI Responses API support across all native models
- Anthropic effort level control for Claude 4.5+ and 4.6
- Unified response normalization across OpenAI, Google, and Anthropic
- Exchange-qualified ticker support (e.g. CNC.TO, 7203.T, 0700.HK)
๐ฆ Reliability
- Cross-platform UTF-8 consistency
- Consolidated dependency management
- CLI progress tracking and portability improvements
TradingAgents v0.2.1v0.2.1
๐ฆ Summary
- TradingAgents v0.2.1 brings expanded model coverage, improved robustness, and security hardening.
๐ฆ Model Coverage
- OpenAI GPT-5.4 and GPT-5.4 Pro support with 1M token context
- Anthropic Claude Opus 4.6 and Sonnet 4.6 support
- Google Gemini 3.1 Pro and 3.1 Flash Lite support
- Streamlined model selection with intuitive ordering in CLI
๐ฆ Robustness
- Resilient stock data parsing with automatic handling of malformed CSV and NaN values
- Robust indicator tool that gracefully handles comma-separated inputs from LLMs
- Complete debate state initialization preventing KeyError in edge-case configurations
- Configurable debate rounds now correctly passed through to ConditionalLogic
- Cross-platform UTF-8 file encoding for Windows compatibility
๐ Security
- Dependency vulnerability patched (CVE-2026-22218)
๐ฆ Maintenance
- Triaged 93 open PRs, closing resolved and stale submissions
- Cleaned up deprecated model entries
- Fixed `pip install` package metadata
TradingAgents v0.2.0v0.2.0
๐ฆ Summary
- TradingAgents v0.2.0 introduces multi-provider LLM support and system architecture improvements.
โจ Features
- Multi-provider LLM support with factory pattern (OpenAI, Google, Anthropic, xAI, OpenRouter, Ollama)
- Provider-specific thinking/reasoning configurations
- Post-analysis report saving with organized subfolder structure
๐ฆ Improvements
- Fixed streaming display truncation and message deduplication
- Replace ChromaDB with BM25 for memory retrieval
- Renamed risky/safe agents to aggressive/conservative aligning with industry standard
- Codebase cleanup and documentation updates
