From 7fe225224431aeb3adfe1a6a23885c03fc43620a Mon Sep 17 00:00:00 2001 From: Yijia-Xiao Date: Fri, 18 Sep 2026 05:42:23 +0000 Subject: [PATCH] release: 0.5.0 - point-in-time integrity across every dated path, and a vendor failure reported as a vendor failure - SEC EDGAR fundamentals served as filed - backtesting over a ticker and date grid, and the caller's portfolio as run input - current model lineups across every provider --- CHANGELOG.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 9 ++++++- pyproject.toml | 2 +- 3 files changed, 75 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9071c0445..6bd57ecf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,72 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Breaking changes within the 0.x line are called out explicitly. +## [0.5.0] — 2026-09-18 + +Point-in-time integrity across every dated path, decisions that are recorded as +they were made, backtesting over a grid of tickers and dates, the caller's +portfolio as run input, and SEC EDGAR fundamentals served as filed. + +### Highlights + +- **Fundamentals as filed.** SEC EDGAR serves US company statements as they stood on the run's date: a period that has ended but has not been filed is not served, and a figure restated later still reads as first reported. Keyless, opt-in via the vendor chain. +- **Backtesting.** `run_backtest` runs the pipeline over a ticker and date grid into its own decision log, and `summarize` scores the settled cells; `tradingagents backtest` does the same from the CLI. +- **Portfolio context.** `propagate(..., portfolio=...)` and `--portfolio` let the trader, risk and portfolio agents size against real holdings. A run without one is never treated as a flat book. +- **Decisions are recorded as made.** An unreadable decision is flagged for review everywhere instead of becoming a tradeable Hold, and a rating argued against is no longer read as the call. + +### Point-in-time and honest attribution + +- Dated tools take the run's date from graph state, so an omitted or later date cannot reach a vendor. (#1331, #1319, #1118) +- Insider filings and prediction-market odds are bounded by the run date; insider rows state that a trade becomes public when its Form 4 is filed. +- A feed that never observed a window reports it as unavailable rather than as an absence, across news, Reddit and StockTwits. +- The resolved company identity says when it describes today rather than the run date. +- The verification snapshot quotes the prices the vendor reported, never a gap-filled value. +- A vendor failure is a vendor failure: yfinance raises instead of returning its errors as text, an outage is not reported as a company with no data, and a chain where every vendor is unavailable says so instead of ending the run. +- The macro vintage pin is clamped to the vendor's own clock, so a run dated today cannot ask for a vintage it does not have. +- A historical run is not served a present-day company profile by either fundamentals vendor. (#1300) + +### Decisions and evaluation + +- The labelled rating decides, whatever separates it, and prose naming several ratings is reviewed rather than guessed. +- Decision prompts state the shape of their answer, so a provider without structured output still returns a readable decision. +- A report that was not produced says so, instead of appearing as an empty section. +- Backtest scoring reads the direction each rating claimed: a Sell that fell is a hit, and Hold reports no hit rate. +- The outcome window is configurable (`holding_period_days`), and reflection states the window it judges. +- A settled decision is not logged twice, and a failed reflection no longer stops the next run. (#645) +- The trader states entry and stop levels as prices, so a percentage no longer fails the whole proposal. (#1288) + +### CLI + +- `tradingagents backtest`, with `--run-id` to continue an interrupted sweep. (#1234) +- The previous run's selections come back as prompt defaults. (#1236, #920) +- A run with no readable rating says so; the live view no longer scrolls; messages that read like Python values are shown. (#649, #784) +- The state log keeps non-ASCII readable. (#1081) + +### Data sources + +- SEC EDGAR fundamentals vendor (US filers, keyless). +- Hong Kong and Shanghai tickers resolve to the symbols Yahoo serves. (#1342, #957, #1260) +- Reddit is fetched as one combined request per run. (#1286) +- One OHLCV cache file per symbol. (#1330) + +### Models + +- Current lineups for every provider: GPT-6 Astra and the GPT-5.6 family, Gemini 3.8 Flash, Claude Opus 5 and Fable 5.1, Grok 4.6, DeepSeek Flash, Qwen 3.8, GLM-5.3, MiniMax M3, Kimi K3 and the current Mistral snapshots. +- Every provider accepts a model ID the picker does not list. +- GLM traffic goes to the platform its key belongs to, and Ollama structured output no longer sends a tool_choice it rejects. (#1062) + +### Changed + +- The memory log records `REVIEW` for a decision with no readable rating, where it previously recorded `Hold`. +- Optional fields the model did not provide are named as such rather than omitted. +- Removed dependencies nothing imports: backtrader, redis, setuptools, langchain-experimental, parsel, tqdm. (#1353, #1070) + +### Contributors + +Thanks to everyone who reported these or sent a fix: + +[@akashkpfreelancer](https://github.com/akashkpfreelancer), [@angziii](https://github.com/angziii), [@anupamme](https://github.com/anupamme), [@AyushKar2005](https://github.com/AyushKar2005), [@bulkypanda](https://github.com/bulkypanda), [@CadeYu](https://github.com/CadeYu), [@chiang21fcb](https://github.com/chiang21fcb), [@dajiaohuang](https://github.com/dajiaohuang), [@dewrama](https://github.com/dewrama), [@DogInfantry](https://github.com/DogInfantry), [@emitov](https://github.com/emitov), [@farukerdem34](https://github.com/farukerdem34), [@flydragon2018](https://github.com/flydragon2018), [@fusshell](https://github.com/fusshell), [@Ganesh1729-ui](https://github.com/Ganesh1729-ui), [@gyx09212214-prog](https://github.com/gyx09212214-prog), [@hamzabudeir](https://github.com/hamzabudeir), [@ihsieh31](https://github.com/ihsieh31), [@jaylew20250206](https://github.com/jaylew20250206), [@kaushik-yadav](https://github.com/kaushik-yadav), [@kbnnf](https://github.com/kbnnf), [@kevinkda](https://github.com/kevinkda), [@LudwigJMarx](https://github.com/LudwigJMarx), [@lx7720](https://github.com/lx7720), [@malandrindev](https://github.com/malandrindev), [@mhd325ic-hash](https://github.com/mhd325ic-hash), [@minhdn90](https://github.com/minhdn90), [@miznan](https://github.com/miznan), [@mmssix](https://github.com/mmssix), [@mrbob-git](https://github.com/mrbob-git), [@newnewself](https://github.com/newnewself), [@prithvirajrh](https://github.com/prithvirajrh), [@PyriteResearch](https://github.com/PyriteResearch), [@Rajatendu1](https://github.com/Rajatendu1), [@Recnelis0](https://github.com/Recnelis0), [@Rodvask](https://github.com/Rodvask), [@samhoooo](https://github.com/samhoooo), [@sheiun-xu](https://github.com/sheiun-xu), [@shivsin25](https://github.com/shivsin25), [@SmileShaun](https://github.com/SmileShaun), [@SonnyRajagopalan](https://github.com/SonnyRajagopalan), [@taro0915](https://github.com/taro0915), [@wupengbo125](https://github.com/wupengbo125), [@wxggzz](https://github.com/wxggzz), [@Yixiang-Wu](https://github.com/Yixiang-Wu), [@ZahirBodrike](https://github.com/ZahirBodrike), [@ZHUYAWEI](https://github.com/ZHUYAWEI), [@zkwang616](https://github.com/zkwang616). + ## [0.4.0] — 2026-08-31 Look-ahead and point-in-time fixes across the data and memory layers, clearer diff --git a/README.md b/README.md index e90123dc3..6cd125f3e 100644 --- a/README.md +++ b/README.md @@ -30,8 +30,13 @@ # TradingAgents: Multi-Agents LLM Financial Trading Framework ## News -- [2026-08] **TradingAgents v0.4.0** released with look-ahead / point-in-time fixes across FRED macro, social sentiment, and the decision-log memory; clearer decision signals; working CLI checkpoint resume; Trader price grounding; and the GPT-5.6 and GLM-5.3 models. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-09] **TradingAgents v0.5.0** released with point-in-time integrity across every dated path, SEC EDGAR fundamentals served as filed, backtesting over a ticker and date grid, portfolio-aware runs, and current model lineups across every provider. See [CHANGELOG.md](CHANGELOG.md) for the full list. +- [2026-08] **TradingAgents v0.4.0** released with look-ahead / point-in-time fixes across FRED macro, social sentiment, and the decision-log memory; clearer decision signals; working CLI checkpoint resume; Trader price grounding; and the GPT-5.6 and GLM-5.3 models. - [2026-07] **TradingAgents v0.3.1** released with correctness and stability fixes: Alpha Vantage look-ahead filtering, graph-router crash-safety, graph-shape-aware checkpoint resume, working crypto sentiment sources, a configurable LLM retry budget, Bedrock API-key auth, and Claude Sonnet 5 / Fable 5 support. + +
+Earlier releases + - [2026-06] **TradingAgents v0.3.0** released with a verified data-access contract, an expanded provider registry (NVIDIA, Kimi, Groq, Mistral, Bedrock, and any OpenAI-compatible endpoint), FRED and Polymarket data vendors, a current-generation model catalog, and a CI gate. - [2026-05] **TradingAgents v0.2.5** released with the grounded Sentiment Analyst, GPT-5.5 etc. model coverage, Qwen/GLM/MiniMax dual-region support, `TRADINGAGENTS_*` env-var configurability with API-key auto-detection, remote Ollama support, non-US alpha benchmarks, and ticker path-traversal hardening. - [2026-04] **TradingAgents v0.2.4** released with structured-output agents (Research Manager, Trader, Portfolio Manager), LangGraph checkpoint resume, persistent decision log, DeepSeek/Qwen/GLM/Azure provider support, Docker, and a Windows UTF-8 encoding fix. @@ -40,6 +45,8 @@ - [2026-02] **TradingAgents v0.2.0** released with multi-provider LLM support (GPT-5.x, Gemini 3.x, Claude 4.x, Grok 4.x) and improved system architecture. - [2026-01] **Trading-R1** [Technical Report](https://arxiv.org/abs/2509.11420) released, with [Terminal](https://github.com/TauricResearch/Trading-R1) expected to land soon. +
+
🚀 [TradingAgents](#tradingagents-framework) | ⚡ [Installation & CLI](#installation-and-cli) | 🎬 [Demo](https://www.youtube.com/watch?v=90gr5lwjIho) | 📦 [Package Usage](#tradingagents-package) | 🤝 [Contributing](#contributing) | 📄 [Citation](#citation) diff --git a/pyproject.toml b/pyproject.toml index 72cd2a913..1b15d65b6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tradingagents" -version = "0.4.0" +version = "0.5.0" description = "TradingAgents: Multi-Agents LLM Financial Trading Framework" readme = "README.md" requires-python = ">=3.10"