TradingAgents v0.2.5
- MiniMax provider support with full M2.x catalog (204K context) and dual-region configuration via MINIMAX_API_KEY and MINIMAX_CN_API_KEY
- Dual-region Qwen and GLM support with separate keys per region (DASHSCOPE_* and ZHIPU_*) selectable via secondary region prompt
- Structured output support for DeepSeek V4/reasoner and MiniMax M2.x by automatically skipping tool_choice in the binding flow
- TRADINGAGENTS_* environment variables that override DEFAULT_CONFIG keys with type-aware coercion for llm_provider, model IDs, backend_url, output_language, debate-round counts, checkpoint flag, and benchmark ticker
- API key auto-detection and persistence to .env when a selected provider's key is missing, allowing CLI to continue without restart
- Remote Ollama support via OLLAMA_BASE_URL for both CLI and programmatic usage with resolved endpoint display and malformed input warnings
- Custom model ID option for Ollama to select any pulled model
- News-fetch parameters (per-ticker article limit, macro headline limit, lookback window, macro search queries) now exposed via DEFAULT_CONFIG for strategy-specific tuning
- Sentiment Analyst now reads real Yahoo News, StockTwits, and Reddit data before generating its report instead of potentially fabricating social posts
- Model catalog refresh across all providers including GPT-5.5, Claude Opus 4.7, Gemini 3.1 Flash-Lite GA, Grok 4.20, and Qwen 3.6 line
- Alpha computation now uses regional benchmarks for non-US tickers (.NS for ^NSEI, .T for ^N225, .HK for ^HSI, .L for ^FTSE, .TO for ^GSPTSE, .AX for ^AXJO, .BO for ^BSESN) to eliminate FX drift in alpha figures
- output_language setting now propagates to all user-facing agents including researchers, risk debators, research manager, and trader for complete localization
- pip install . installations now pick up the project .env when running the CLI as a console script
- Reports save end-to-end with streamed chunks no longer dropped from complete_report.md
- Ticker prompt now 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 now applies to the propagator
- Missing-API-key error now names the exact environment variable to set
- Add ticker path-traversal validation at every filesystem-path site
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.