How ihsieh31/traders works
Traders is a paper-only, multi-agent trading research and execution framework. A user starts an analysis or observation; market evidence feeds screening and role-based research, debate, and a typed TradeIntent. Deterministic risk and safety checks precede the durable paper-execution boundary, with broker state and audit records supporting recovery and review. The README also documents long-run observation, a frozen-evidence A/B backend, and signal backtesting. Edges reflect the documented workflow; sampled source was incomplete, so uncertain internal wiring is omitted.
Main entry points: trading_graph.py Research graph · factory.py LLM providers · service.py Execution service · pipeline.py Screening
Components 24
Research workflow
- Screening
tradingagents/screening/pipeline.py - Selection cache
tradingagents/screening/selection_store.py - Research graph
tradingagents/graph/trading_graph.py - Analyst roles
tradingagents/agents/analysts - Bull/Bear researchers
tradingagents/agents/researchers - Research manager
tradingagents/agents/managers/research_manager.py - Trader proposal
tradingagents/agents/trader/trader.py - Risk debate
tradingagents/agents/risk_mgmt - Risk manager
tradingagents/agents/managers/risk_manager.py - Typed TradeIntent
tradingagents/agents/schemas.py
Paper execution
- Risk and safety
tradingagents/risk - Execution service
tradingagents/execution/service.py - Execution ledger
tradingagents/execution/store.py
Observation and audit
- Run audit
tradingagents/run_logger.py - Long-run lifecycle
tradingagents/long_run.py
External integrations
- Market data
tradingagents/dataflows - Alpaca Paper
- Historical bars
- LLM providers
tradingagents/llm_clients/factory.py
Evaluation
- Berkshire backend
tradingagents/analysis_backends/berkshire - A/B runner
scripts/run_analysis_ab.py - Signal backtest
tradingagents/backtest/engine.py
Other components
- Operator
- CLI
cli/main.py
Connections 33
- Operator → CLI: starts run
- CLI → Research graph: runs analysis
- CLI → Screening: starts scan
- Market data → Screening: supplies market data
- Screening → Selection cache: stores selection
- Selection cache → Screening: reuses selection
- Screening → Research graph: selects symbols
- Research graph → Market data: requests evidence
- Research graph → Analyst roles: dispatches analysis
- Analyst roles → LLM providers: requests analysis
- Research graph → Bull/Bear researchers: dispatches debate
- Bull/Bear researchers → LLM providers: requests research
- Research graph → Research manager: dispatches adjudication
- Research manager → LLM providers: requests plan
- Research graph → Trader proposal: requests proposal
- Trader proposal → LLM providers: requests proposal
- Research graph → Risk debate: dispatches risk debate
- Risk debate → LLM providers: requests debate
- Research graph → Risk manager: dispatches decision
- Risk manager → LLM providers: requests decision
- Risk manager → Typed TradeIntent: builds intent
- Typed TradeIntent → Risk and safety: checked by
- Risk and safety → Execution service: permits execution
- Execution service → Execution ledger: commits intent
- Execution service → Alpaca Paper: submits paper orders
- Alpaca Paper → Execution service: returns broker state
- Execution service → Run audit: records outcome
- CLI → Long-run lifecycle: starts observation
- Long-run lifecycle → Research graph: runs rounds
- A/B runner → Research graph: runs Traders backend
- A/B runner → Berkshire backend: runs comparison backend
- Historical bars → Signal backtest: provides bars
- Signal backtest → Historical bars: replays signals