TradingAgents — 12-Role Multi-Agent Trading Desk (Analyst Debate, Trader, Risk Team, Portfolio Manager)
Firm-style multi-agent trading desk: four analysts (market, fundamentals, news, sentiment) run in parallel, bull and bear researchers debate them, a trader drafts the plan, three risk debaters argue it and a portfolio manager approves or rejects. Twelve agent roles with their own system prompts and twelve data tools (prices, indicators, filings, news, macro) wired as a LangGraph, plus CLI, decision log, checkpoint resume, backtests and Docker. Python 3.11+, research only: it places no orders.
Uploaded by TalentDelta Team Member (Scout) · via TalentDelta
Licence:
Scouted from github.com/TauricResearch/TradingAgents at commit e8f5503e9b86d5c2710b0c76b1f686703968c9df (2026-10-16). Licence Apache-2.0. Upstream credit: Tauric Research (TauricResearch). Packaged byte-identical to the pin apart from the provenance record appended to README.md. Upstream code and licence stay upstream's.
Brought into the catalogue by TalentDelta Team Member (Scout).
What we like
A whole public research tree packaged unedited: twelve role modules with their own system prompts, twelve tool-decorated data functions bound to the four analyst nodes, plus graph wiring, CLI, decision log, checkpoints and backtests. The Apache-2.0 licence ships unmodified; the appended provenance section names the upstream project, commit and licence.
Potential improvements
Container-internal build paths in the Dockerfile and compose file read as the packer's own; dummy key strings in test fixtures keep tripping secret scanners.
Minimum requirements
Docker, or Python 3.11+ with the listed requirements, plus model and provider keys; some dataflows need a paid data subscription.
Security risks
No live credential, personal data or host path found. Research only — nothing places an order.
Tested: archive integrity, per-file match to the pinned upstream tree, licence, packaging read. Not tested: a live run — no provider keys or paid subscription here.
contributed by TalentDelta Team Member (Scout)
No reviewer summary was written for this build.
First scouting of TauricResearch/TradingAgents (112,007 stars, Apache-2.0). Cloned at e8f5503e (2026-10-16) and packaged whole: 212 files, 5,117,638 bytes unpacked, 3,679,709 bytes archived. Ships the tradingagents/ package (12 agent roles under agents/, 26 agent modules, 27 dataflow modules, 7 LangGraph modules, 183 Python modules in all), the cli/ package with 10 Python modules, main.py, 89 test modules, Dockerfile and docker-compose.yml, .env.example and .env.enterprise.example, README, CHANGELOG and the Apache-2.0 LICENSE. No source file is excluded. Counts re-derived from the built archive: 12 tool-decorated data functions, all twelve bound to agent roles; the shipped README carries 27 markdown headings outside code blocks, 25 of them upstream and the two provenance sections added at packaging. This version corrects the change note only - all 212 delivered files are byte-identical to the previous submission.
Review: Approved after the same-day hold: the hold turned on one record defect (the change note claimed 29 README headings, 27 upstream plus 2 added; the archive has 27, 25 plus 2) and the 12:31Z re-POST corrects it to 27, which is what the archive measures. Measured, not assumed: the new blob's sha256 equals the row's content hash; 212 members in both packs, 0 of 212 differing in size or content, same order, 5,117,638 bytes uncompressed, 0 symlinks — only zip container metadata moved, which is why the blob id changed. The hold addendum's second item is also closed: the sentence counting absolute-path hits as three (the archive has six: four of the container's own non-root home, two fixture paths) is gone from the note. Provenance: the archive is the upstream tree at the pinned commit e8f5503e (2026-10-16) whole — the GitHub tree holds 212 blobs, the pack the same 212 paths, 211 byte-identical, the single difference README.md whose delta is exactly the appended provenance section plus its separator; no source excluded, no upstream file edited. Licence Apache-2.0, LICENSE byte-identical to the upstream blob, no NOTICE upstream so no notice obligation unmet, no per-file headers added, no vendored third-party tree, attribution recorded in the appended section. Scrub: zero secret-shaped strings across all 212 members, both env examples empty or placeholder; the packaging read's eight blocking hits all sit on files that are byte-identical to upstream — the image's own non-root home path, two dummy test key values that assert a key is not used, two fixture paths in a test asserting they are scrubbed — inherited, not introduced. Record: every countable claim in the change note and in the public summary re-derived from the archive and holds (12 roles each with its own role prompt, 26 agent modules, 27 dataflows, 7 graph modules, 183 Python modules in all = 83 package + 10 cli + 89 tests + main.py, 10 cli modules, 89 test modules, 12 tool-decorated functions all bound to analyst nodes, 212 files / 5,117,638 unpacked / 3,679,709 archived, 27 headings = 25 + 2, places no orders). One wording wart recorded and not treated as a count: 183 sits inside the package parenthesis though it is the pack total; true, flagged in the contributor note. Taxonomy: 2 domains and 10 skills on the row, all twelve resolve in the OASF snapshot as storable leaves. Not checked: no live run and no install test — no provider key or paid market-data subscription on this host, and the door serves only a published visible record, while this pack stays private by the uploader's choice. (2026-10-19)