12 KiB
🎉 New Features in TradingAgents
This document highlights the major enhancements added to TradingAgents!
Overview
We've added four major features to TradingAgents:
- ✅ Multi-LLM Provider Support - Use Claude, GPT-4, or Gemini
- ✅ Paper Trading Integration - Practice with real market data
- ✅ Web Interface - Beautiful GUI for analysis and trading
- ✅ Docker Support - One-command deployment
1. 🤖 Multi-LLM Provider Support
What's New
You can now use any LLM provider for TradingAgents analysis:
- Anthropic Claude (Recommended for deep reasoning)
- OpenAI GPT-4 (Proven performance)
- Google Gemini (Cost-effective alternative)
Why It Matters
- Choose the best model for your needs
- Save costs with appropriate models for different tasks
- Avoid vendor lock-in - switch providers anytime
- Use your existing subscription - Claude, OpenAI, or Google
How to Use
1. Configure Provider
Edit .env:
# Use Claude (Recommended!)
LLM_PROVIDER=anthropic
ANTHROPIC_API_KEY=your_key_here
# Or use OpenAI
LLM_PROVIDER=openai
OPENAI_API_KEY=your_key_here
# Or use Google
LLM_PROVIDER=google
GOOGLE_API_KEY=your_key_here
2. Run Example
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
# Configure for Claude
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "anthropic"
config["deep_think_llm"] = "claude-3-5-sonnet-20241022"
config["quick_think_llm"] = "claude-3-5-sonnet-20241022"
# Run analysis
ta = TradingAgentsGraph(config=config)
final_state, signal = ta.propagate("NVDA", "2024-05-10")
print(f"Signal: {signal}")
3. Try It
python examples/use_claude.py
Recommended Models
| Provider | Deep Thinking | Quick Thinking | Budget |
|---|---|---|---|
| Anthropic | claude-3-5-sonnet-20241022 | claude-3-5-sonnet-20241022 | claude-3-5-haiku-20241022 |
| OpenAI | gpt-4o | gpt-4o-mini | gpt-4o-mini |
| gemini-1.5-pro | gemini-1.5-flash | gemini-1.5-flash |
Files:
tradingagents/llm_factory.py- LLM provider factoryexamples/use_claude.py- Claude usage example
2. 📈 Paper Trading Integration
What's New
Connect TradingAgents to real broker platforms for paper trading:
- Alpaca - FREE paper trading with real market data
- Easy order execution
- Portfolio tracking
- Real-time positions and P&L
Why It Matters
- Practice risk-free - No real money involved
- Test strategies - Validate before going live
- Real market data - Actual prices and execution
- Build confidence - Learn without financial risk
How to Use
1. Sign Up for Alpaca (FREE!)
Visit alpaca.markets and create account.
2. Get API Keys
Dashboard → Paper Trading → API Keys
3. Configure
Edit .env:
ALPACA_API_KEY=your_key_id
ALPACA_SECRET_KEY=your_secret
ALPACA_PAPER_TRADING=true
4. Start Trading
from tradingagents.brokers import AlpacaBroker
from decimal import Decimal
# Connect
broker = AlpacaBroker(paper_trading=True)
broker.connect()
# Check account
account = broker.get_account()
print(f"Buying Power: ${account.buying_power:,.2f}")
# Buy AAPL
order = broker.buy_market("AAPL", Decimal("10"))
print(f"Order ID: {order.order_id}")
# Check positions
positions = broker.get_positions()
for pos in positions:
print(f"{pos.symbol}: {pos.quantity} shares, P&L: ${pos.unrealized_pnl}")
5. Try Examples
# Basic paper trading
python examples/paper_trading_alpaca.py
# TradingAgents + Alpaca integration
python examples/tradingagents_with_alpaca.py
Supported Features
- ✅ Market orders
- ✅ Limit orders
- ✅ Stop-loss orders
- ✅ Position tracking
- ✅ Real-time P&L
- ✅ Account management
Files:
tradingagents/brokers/base.py- Broker interfacetradingagents/brokers/alpaca_broker.py- Alpaca implementationexamples/paper_trading_alpaca.py- Basic exampleexamples/tradingagents_with_alpaca.py- Full integration
3. 🌐 Web Interface
What's New
Beautiful web-based GUI for TradingAgents:
- Chat-based interface
- Stock analysis
- Order execution
- Portfolio management
- Real-time updates
Why It Matters
- User-friendly - No coding required
- Interactive - Chat with your trading assistant
- Visual - See analysis and results
- Accessible - Use from any browser
How to Use
1. Install Dependencies
Already included in requirements.txt:
- chainlit
2. Configure
Edit .env (same as before - no extra setup needed!)
3. Start Web Interface
chainlit run web_app.py -w
4. Open Browser
Visit http://localhost:8000
5. Try Commands
# Analyze a stock
analyze NVDA
# Connect to paper trading
connect
# Check account
account
# View portfolio
portfolio
# Buy shares
buy NVDA 5
# Sell shares
sell NVDA 5
# Get help
help
Available Commands
| Command | Description | Example |
|---|---|---|
analyze TICKER |
AI analysis | analyze AAPL |
connect |
Connect broker | connect |
account |
Account status | account |
portfolio |
View positions | portfolio |
buy TICKER QTY |
Buy shares | buy NVDA 10 |
sell TICKER QTY |
Sell shares | sell NVDA 5 |
provider NAME |
Change LLM | provider anthropic |
settings |
View config | settings |
help |
Show help | help |
Screenshots
Welcome Screen:
🤖 Welcome to TradingAgents!
I'm your AI-powered trading assistant...
Analysis:
📊 Analysis Complete: NVDA
🎯 Trading Signal: BUY
Market Analysis: [Detailed analysis...]
Fundamentals: [Financial metrics...]
News Sentiment: [Recent news...]
Recommendation: BUY
Portfolio:
📈 Current Positions
NVDA
- Quantity: 10 shares
- Avg Cost: $895.50
- Current: $920.00
- P&L: $245.00 (2.73%)
Total Position Value: $9,200.00
Files:
web_app.py- Main web application.chainlit- Chainlit configuration
4. 🐳 Docker Support
What's New
One-command deployment with Docker:
- Pre-configured environment
- All dependencies included
- Persistent data storage
- Easy scaling
Why It Matters
- Quick setup - No dependency hell
- Reproducible - Same environment everywhere
- Isolated - Won't conflict with other projects
- Production-ready - Deploy anywhere
How to Use
1. Prerequisites
Install Docker and Docker Compose
2. Configure
# Copy environment file
cp .env.example .env
# Edit with your keys
nano .env
3. Build and Run
# Build container
docker-compose build
# Start services
docker-compose up
# Access at http://localhost:8000
That's it! 🎉
Docker Commands
# Start in background
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose down
# Restart
docker-compose restart
# Run Python scripts
docker-compose run tradingagents python examples/portfolio_example.py
# Open shell
docker-compose run tradingagents bash
# Run tests
docker-compose run tradingagents pytest tests/ -v
Optional: Jupyter Notebook
# Start with Jupyter
docker-compose --profile jupyter up
# Access at http://localhost:8888
Data Persistence
Data is automatically persisted in:
./data/ # Market data cache
./eval_results/ # Analysis results
./portfolio_data/ # Portfolio state
Files:
Dockerfile- Container image definitiondocker-compose.yml- Multi-service setup.dockerignore- Build optimizationDOCKER.md- Complete Docker guide
🚀 Getting Started with New Features
Quick Start Guide
1. Clone Repository
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
2. Configure Environment
cp .env.example .env
nano .env
Add your API keys:
# LLM Provider (choose one)
ANTHROPIC_API_KEY=your_claude_key
# or
OPENAI_API_KEY=your_openai_key
# Data Provider
ALPHA_VANTAGE_API_KEY=your_av_key
# Paper Trading (optional)
ALPACA_API_KEY=your_alpaca_key
ALPACA_SECRET_KEY=your_alpaca_secret
3. Choose Your Method
Option A: Docker (Easiest)
docker-compose up
# Open http://localhost:8000
Option B: Local Installation
pip install -r requirements.txt
pip install -e .
chainlit run web_app.py -w
# Open http://localhost:8000
4. Try It Out
In the web interface:
analyze NVDA
connect
buy NVDA 5
portfolio
Or run Python scripts:
python examples/use_claude.py
python examples/paper_trading_alpaca.py
python examples/tradingagents_with_alpaca.py
📊 Complete Example Workflow
Here's a complete workflow using all new features:
1. Analyze Stock with Claude
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "anthropic"
config["deep_think_llm"] = "claude-3-5-sonnet-20241022"
ta = TradingAgentsGraph(config=config)
final_state, signal = ta.propagate("NVDA", "2024-05-10")
2. Execute Trade on Alpaca
from tradingagents.brokers import AlpacaBroker
from decimal import Decimal
broker = AlpacaBroker(paper_trading=True)
broker.connect()
if signal == "BUY":
order = broker.buy_market("NVDA", Decimal("5"))
print(f"Bought NVDA: {order.order_id}")
3. Track Performance
positions = broker.get_positions()
for pos in positions:
print(f"{pos.symbol}: ${pos.unrealized_pnl:,.2f} P&L")
4. Use Web Interface
chainlit run web_app.py -w
Then in browser:
analyze NVDA
buy NVDA 5
portfolio
5. Run in Docker
docker-compose up
# Access http://localhost:8000
🎓 Learning Resources
Documentation
- Multi-LLM:
tradingagents/llm_factory.pydocstrings - Paper Trading:
tradingagents/brokers/README.md - Web Interface:
web_app.pycomments - Docker:
DOCKER.md
Examples
examples/use_claude.py- Claude integrationexamples/paper_trading_alpaca.py- Basic paper tradingexamples/tradingagents_with_alpaca.py- Full integrationexamples/portfolio_example.py- Portfolio management
Tests
tests/portfolio/- Portfolio tests (96% coverage)tests/backtest/- Backtesting tests- Run with:
pytest tests/ -v
🔮 What's Next?
Future enhancements we're considering:
- More Brokers: Interactive Brokers, TD Ameritrade
- Advanced Charts: TradingView integration
- Alerts: Email/SMS notifications
- Strategies: Pre-built trading strategies
- Backtesting UI: Visual backtesting in web interface
- Mobile App: iOS/Android support
💬 Support
Need help?
- Documentation: Check README files in each module
- Examples: Run scripts in
examples/directory - Issues: Report bugs on GitHub
- Questions: Use GitHub Discussions
🎉 Summary
You now have access to:
✅ Claude Integration - Best-in-class LLM for trading analysis ✅ Paper Trading - Risk-free practice with real market data ✅ Web Interface - User-friendly GUI for everything ✅ Docker Support - One-command deployment anywhere
Get started today:
# Clone and configure
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
cp .env.example .env
# Edit .env with your keys
# Start with Docker
docker-compose up
# Or run locally
chainlit run web_app.py -w
# Open http://localhost:8000 and start trading! 🚀
Happy Trading! 📈