How tomortec/cryptotradingagents works
Crypto Trading Agents is a research-and-reporting application: a user supplies an asset, date, analyst selection, and optional context, then receives a trading analysis report. The main stages are data gathering and analyst reports, bull/bear research debate, risk debate, and final trader recommendation. The README also documents Markdown/PDF output, live report logging, and optional scheduled email delivery. The excerpts show the CLI initializing graph state and the graph constructing data tools and memories; detailed runtime wiring for unsampled modules is represented only where documented.
Main entry points: memory.py Situation memory · setup.py Graph setup · analysts Analyst team · trading_graph.py Trading graph
Components 28
User entry and reports
- CLI and reports
cli/main.py - Script entry
cli/run.py - Report output
cli/main.py - Email delivery
mailsender/send.py
Analysis workflow
- Trading graph
tradingagents/graph/trading_graph.py - Graph setup
tradingagents/graph/setup.py - Agent state
tradingagents/agents/utils/agent_states.py
Research and decisions
- Analyst team
tradingagents/agents/analysts - Market analyst
tradingagents/agents/analysts/market_analyst.py - Social analyst
tradingagents/agents/analysts/social_media_analyst.py - News analyst
tradingagents/agents/analysts/news_analyst.py - Fundamentals analyst
tradingagents/agents/analysts/fundamentals_analyst.py - Research debate
tradingagents/agents/researchers - Bull researcher
tradingagents/agents/researchers/bull_researcher.py - Bear researcher
tradingagents/agents/researchers/bear_researcher.py - Research manager
tradingagents/agents/managers/research_manager.py - Risk debate
tradingagents/agents/risk_mgmt - Risk manager
tradingagents/agents/managers/risk_manager.py - Trader decision
tradingagents/agents/trader/trader.py
Market data
- Data tools
tradingagents/agents/utils/agent_utils.py - Data interface
tradingagents/dataflows/interface.py - Crypto data sources
tradingagents/dataflows
Learning context
- Situation memory
tradingagents/agents/utils/memory.py
Other components
- User
- LLM service
- Chroma store
- SMTP service
- OS scheduler
Connections 40
- User → CLI and reports: provides inputs
- User → Script entry: sets parameters
- CLI and reports → Trading graph: runs analysis
- Script entry → Trading graph: runs analysis
- Trading graph → Graph setup: builds workflow
- Trading graph → Agent state: initializes state
- Graph setup → Analyst team: dispatches stages
- Analyst team → Market analyst: includes
- Analyst team → Social analyst: includes
- Analyst team → News analyst: includes
- Analyst team → Fundamentals analyst: includes
- Market analyst → Data tools: requests data
- Social analyst → Data tools: requests data
- News analyst → Data tools: requests data
- Fundamentals analyst → Data tools: requests data
- Data tools → Data interface: fetches data
- Data interface → Crypto data sources: retrieves from
- Crypto data sources → Data interface: returns data
- Graph setup → Research debate: dispatches debate
- Research debate → Bull researcher: includes
- Research debate → Bear researcher: includes
- Research debate → Research manager: judges debate
- Graph setup → Risk debate: dispatches debate
- Risk debate → Risk manager: judges debate
- Graph setup → Trader decision: dispatches decision
- Research manager → LLM service: invokes
- Risk manager → LLM service: invokes
- Bull researcher → LLM service: invokes
- Bear researcher → LLM service: invokes
- Research manager → Situation memory: queries memories
- Risk manager → Situation memory: queries memories
- Bull researcher → Situation memory: queries memories
- Bear researcher → Situation memory: queries memories
- Situation memory → Chroma store: queries and stores
- Trading graph → Situation memory: creates memories
- CLI and reports → Report output: renders and logs
- Trader decision → Report output: supplies recommendation
- OS scheduler → Email delivery: starts delivery
- Email delivery → Report output: reads latest report
- Email delivery → SMTP service: sends email