Skip to content

Releases: TauricResearch/TradingAgents

TradingAgents v0.3.0

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 22 Jun 02:05
v0.3.0
85946c2

Summary

TradingAgents v0.3.0 is a stabilization and extensibility release: a verified data-access contract, an expanded provider and data-vendor registry, a current-generation model catalog, and a CI gate.

Verified Data-Access Contract

Symbol normalization now runs on every vendor path (identity, returns, CLI, news). The configured vendor list is the exact resolution chain (no silent fallback to unselected vendors), and failures surface through a typed VendorError taxonomy. News windows are look-ahead-safe, stale OHLCV is rejected instead of reported as current, and yfinance fetches include the requested end date. A verified market-data snapshot grounds price and indicator claims, and deterministic ticker-to-company resolution stops the wrong-company hallucination.

Provider Registry

OpenAI-compatible providers register behind a single spec, and a generic openai_compatible endpoint covers vLLM, LM Studio, and relays. Adds NVIDIA NIM, Kimi (Moonshot), Groq, and Mistral, plus a native Amazon Bedrock client.

Data Vendors

FRED macro indicators and Polymarket event probabilities are surfaced to the news and macro analysts. Optional vendors degrade to a no-data sentinel instead of aborting a run.

Model Catalog

Refreshed to current-generation lineups across providers; retired gpt-4.1, Claude Sonnet 4.5, and the Gemini 2.5 line. Reasoning depth is configurable via TRADINGAGENTS_OPENAI_REASONING_EFFORT, TRADINGAGENTS_GOOGLE_THINKING_LEVEL, and TRADINGAGENTS_ANTHROPIC_EFFORT, each gated to the models that accept it.

Configuration and CLI

An explicit TRADINGAGENTS_* value or CLI flag now wins over interactive defaults for debate and risk round counts, --checkpoint / --no-checkpoint, and the Docker provider profile; invalid boolean env values fail loudly. Analyst prompts lead with the current date so tool-call date ranges anchor to the run date.

Tooling

GitHub Actions runs the pytest suite across Python 3.10-3.13, strict ruff, and a clean-install smoke that imports the package and CLI. TradingAgentsGraph.save_reports() writes the same report tree the CLI produces, for headless and API runs.

See CHANGELOG.md for the full list, including contributor acknowledgments.

TradingAgents v0.2.5

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 11 May 09:27

Summary

TradingAgents v0.2.5 ships the grounded Sentiment Analyst, Qwen/GLM/MiniMax dual-region support, `TRADINGAGENTS_*` env-var configurability with API-key auto-detection, remote Ollama support, configurable alpha benchmarks for non-US tickers, and a ticker path-traversal fix.

Sentiment Analyst

The renamed Sentiment Analyst now reads real Yahoo News, StockTwits, and Reddit data before generating its report, replacing the prior flow that could fabricate social posts under prompt pressure. The new name flows through the CLI dropdown, status panel, and final reports; `AnalystType.SOCIAL = "social"` is kept for saved-config back-compat.

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.

Configuration via Environment

`TRADINGAGENTS_*` env vars override `DEFAULT_CONFIG` keys with type-aware coercion (string / int / bool) — `llm_provider`, deep/quick model IDs, `backend_url`, `output_language`, debate-round counts, the checkpoint flag, and the benchmark ticker. When a selected provider's API key is missing, the CLI prompts for it and persists the value to `.env` so the run continues without restart.

Ollama

`OLLAMA_BASE_URL` makes remote `ollama-serve` first-class for both the CLI and programmatic users. The CLI prints the resolved endpoint after selecting Ollama and warns on common malformed inputs. A new "Custom model ID" option lets users pick any model they have pulled via `ollama pull`.

Reflection

Alpha is now computed against a regional benchmark for non-US tickers — `.NS` (^NSEI), `.T` (^N225), `.HK` (^HSI), `.L` (^FTSE), `.TO` (^GSPTSE), `.AX` (^AXJO), `.BO` (^BSESN), SPY for US listings. Eliminates FX drift dominating the alpha figure for non-USD listings. `benchmark_ticker` overrides the suffix map when set explicitly.

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.

Multi-language

`output_language` now propagates to every user-facing agent — researchers, risk debators, research manager, and trader — ending the previous partial-localization reports where only analysts and the portfolio manager respected the setting.

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.
  • Quieter startup — suppressed the noisy upstream langgraph-checkpoint deprecation warning.

See CHANGELOG.md for the full per-item list with PR / issue references.

TradingAgents v0.2.4

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 25 Apr 22:33
7c37249

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.

TradingAgents v0.2.3

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 29 Mar 19:50
4641c03

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.2

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 22 Mar 23:51
589b351

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.1

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 15 Mar 23:35

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

Maintenance

  • Triaged 93 open PRs, closing resolved and stale submissions
  • Cleaned up deprecated model entries
  • Fixed pip install package metadata

TradingAgents v0.2.0

Choose a tag to compare

@Yijia-Xiao Yijia-Xiao released this 04 Feb 07:35
e9470b6

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