TradingAgents/crypto_trading/SETUP.md

239 lines
5.3 KiB
Markdown

# Crypto Trading Module - Setup Instructions
## Installation
### 1. Prerequisites
Ensure you have Python 3.9+ installed:
```bash
python --version
```
### 2. Install Dependencies
Install required packages:
```bash
pip install ccxt pandas numpy python-dotenv langchain-openai
```
Or if you have a requirements file:
```bash
pip install -r ../requirements.txt
```
### 3. Configure API Keys
Create a `.env` file in the project root (`TradingAgents/`) with the following keys:
```bash
# OpenAI API (required for LLM agents)
OPENAI_API_KEY=your_openai_api_key_here
# Exchange API keys (optional, for paper/live trading)
BINANCE_API_KEY=your_binance_api_key
BINANCE_SECRET_KEY=your_binance_secret_key
# Data provider API keys (optional)
GLASSNODE_API_KEY=your_glassnode_api_key # For on-chain data
MESSARI_API_KEY=your_messari_api_key # For crypto fundamentals
```
### 4. Set Python Path
The crypto module needs access to the main TradingAgents framework. Choose one method:
#### Option A: Set PYTHONPATH (Recommended)
Add to your shell profile (`.bashrc`, `.zshrc`, etc.):
```bash
export PYTHONPATH="/Users/nguyenminhduc/Desktop/TradingAgents:$PYTHONPATH"
```
Then reload:
```bash
source ~/.bashrc # or source ~/.zshrc
```
#### Option B: Install in Development Mode
From the TradingAgents root directory:
```bash
pip install -e .
```
This requires a `setup.py` file in the root.
#### Option C: Use Scripts As-Is
All scripts already include path setup code:
```python
project_root = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, project_root)
```
So you can run them directly without additional setup!
## Running Crypto Features
### Test Data Integration
```bash
cd crypto_trading
python tests/test_crypto_data.py
```
### Test Crypto Agents
```bash
python tests/test_crypto_agents.py
```
### Run Backtesting
```bash
python scripts/run_crypto_backtest.py
```
### Run Paper Trading
```bash
python scripts/run_paper_trading.py
```
### Run 24/7 Trading Bot
```bash
python scripts/run_crypto_bot_24_7.py
```
### Run Examples
```bash
# Basic crypto data examples
python examples/crypto_analysis_example.py
# Agent integration examples
python examples/crypto_agent_integration.py
# Backtesting strategy examples
python examples/crypto_backtest_examples.py
```
## Troubleshooting
### Import Errors
If you see `ModuleNotFoundError: No module named 'tradingagents'`:
1. Make sure you're running from the correct directory
2. Check that PYTHONPATH is set correctly:
```bash
echo $PYTHONPATH
```
3. Verify the path resolves correctly:
```bash
python -c "import sys; print(sys.path)"
```
### Missing Dependencies
If you get import errors for packages:
```bash
pip install ccxt pandas numpy python-dotenv langchain-openai langchain-core
```
### API Key Errors
- Ensure `.env` file is in the TradingAgents root directory
- Load it in your code:
```python
from dotenv import load_dotenv
load_dotenv()
```
- Check environment variables:
```bash
echo $OPENAI_API_KEY
```
### Data Fetch Errors
Some data sources require API keys:
- **Glassnode**: On-chain metrics (paid service)
- **Messari**: Crypto fundamentals (free tier available)
- **CCXT**: Exchange data (free, no key needed for public data)
## Directory Structure
```
crypto_trading/
├── SETUP.md # This file
├── README.md # Main documentation
├── docs/ # All documentation
│ ├── README_CRYPTO.md
│ ├── CRYPTO_QUICK_START.md
│ └── ...
├── src/ # Source code
│ ├── agents/ # Crypto analyst agents
│ ├── backtesting/ # Backtesting framework
│ ├── paper_trading/ # Paper trading engine
│ └── crypto_config.py # Configuration
├── tests/ # Test files
├── examples/ # Usage examples
├── scripts/ # Executable scripts
└── data/ # Data storage
```
## Integration with Main Framework
To use crypto features with the main TradingAgents framework:
```python
import sys
import os
# Add project root to path
project_root = "/Users/nguyenminhduc/Desktop/TradingAgents"
sys.path.insert(0, project_root)
# Import main framework
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.crypto_config import get_crypto_config
# Import crypto agents
from crypto_trading.src.agents.crypto_technical_analyst import create_crypto_technical_analyst
from crypto_trading.src.agents.crypto_fundamentals_analyst import create_crypto_fundamentals_analyst
# Set crypto config
from tradingagents.dataflows.config import set_config
crypto_config = get_crypto_config()
set_config(crypto_config)
# Use framework with crypto support
ta = TradingAgentsGraph(
debug=True,
config=crypto_config,
selected_analysts=["crypto_technical", "crypto_fundamentals"]
)
# Run analysis
_, decision = ta.propagate("BTC/USDT", "2024-10-07")
```
## Next Steps
1. Review the documentation in `docs/README_CRYPTO.md`
2. Run the tests to verify installation
3. Explore the examples
4. Try running paper trading simulation
5. Customize strategies for your use case
## Support
For issues or questions:
- Check documentation in `docs/`
- Review example code in `examples/`
- Consult main TradingAgents README