TradingAgents/crypto_trading/README.md

5.0 KiB

Crypto Trading Module

This directory contains all cryptocurrency trading-related functionality for the TradingAgents framework.

Directory Structure

crypto_trading/
├── docs/               # All crypto-related documentation
│   ├── README_CRYPTO.md                      # Main crypto documentation
│   ├── CRYPTO_QUICK_START.md                 # Quick start guide
│   ├── INSTALL_CRYPTO.md                     # Installation instructions
│   ├── CRYPTO_MIGRATION_PLAN.md              # Migration documentation
│   ├── CRYPTO_IMPLEMENTATION_SUMMARY.md      # Implementation summary
│   ├── CRYPTO_PHASE1_README.md               # Phase 1: Data layer
│   ├── CRYPTO_PHASE2_README.md               # Phase 2: Agent integration
│   ├── CRYPTO_PHASE2_SUMMARY.md              # Phase 2 summary
│   ├── CRYPTO_PHASE3_README.md               # Phase 3: Backtesting
│   ├── CRYPTO_PHASE3_SUMMARY.md              # Phase 3 summary
│   ├── PHASE4_PAPER_TRADING_COMPLETE.md      # Phase 4: Paper trading
│   └── PHASE4_SUMMARY.md                     # Phase 4 summary
│
├── src/                # Source code
│   ├── agents/         # Crypto-specific analyst agents
│   │   ├── crypto_fundamentals_analyst.py
│   │   ├── crypto_technical_analyst.py
│   │   ├── crypto_news_analyst.py
│   │   ├── crypto_sentiment_analyst.py
│   │   └── crypto_tools.py
│   ├── backtesting/    # Backtesting engine and utilities
│   │   ├── crypto_data_loader.py
│   │   ├── crypto_strategy_evaluator.py
│   │   └── crypto_backtest_engine.py
│   ├── paper_trading/  # Paper trading engine
│   │   └── paper_trading_engine.py
│   └── crypto_config.py  # Crypto-specific configuration
│
├── tests/              # Test files
│   ├── test_crypto_data.py
│   ├── test_crypto_agents.py
│   ├── test_crypto_backtest.py
│   └── test_paper_trading.py
│
├── examples/           # Example usage scripts
│   ├── crypto_analysis_example.py
│   ├── crypto_agent_integration.py
│   └── crypto_backtest_examples.py
│
├── scripts/            # Executable scripts
│   ├── run_crypto_backtest.py
│   ├── run_crypto_bot_24_7.py
│   ├── run_paper_trading.py
│   ├── demo_paper_trading_dashboard.py
│   └── quick_dashboard_test.py
│
└── data/               # Data storage
    ├── paper_trading_data/
    └── test_paper_trading_data/

Quick Start

1. Install Dependencies

pip install ccxt pandas numpy python-dotenv

2. Configure API Keys

Add to your .env file:

BINANCE_API_KEY=your_binance_api_key
BINANCE_SECRET_KEY=your_binance_secret_key

3. Run Examples

# Test crypto data fetching
python tests/test_crypto_data.py

# Test crypto agents
python tests/test_crypto_agents.py

# Run backtesting
python scripts/run_crypto_backtest.py

# Run paper trading
python scripts/run_paper_trading.py

Documentation

For detailed documentation, see:

  • Getting Started: docs/CRYPTO_QUICK_START.md
  • Installation: docs/INSTALL_CRYPTO.md
  • Main Documentation: docs/README_CRYPTO.md

Features

Phase 1: Data Layer

  • Real-time cryptocurrency data via CCXT
  • Support for 100+ exchanges
  • OHLCV data, order books, trades
  • Error handling and rate limiting

Phase 2: Crypto-Specific Agents

  • Technical Analysis Agent (RSI, MACD, Bollinger Bands)
  • Fundamental Analysis Agent (on-chain metrics, tokenomics)
  • News Analysis Agent (crypto-specific news sources)
  • Sentiment Analysis Agent (social media, Fear & Greed Index)

Phase 3: Backtesting Framework

  • Historical data loading and preprocessing
  • Strategy evaluation with performance metrics
  • Risk-adjusted returns analysis
  • Visualization and reporting

Phase 4: Paper Trading

  • Real-time paper trading simulation
  • Portfolio management and tracking
  • Performance monitoring dashboard
  • Trade execution logging

Integration with Main Framework

The crypto module integrates seamlessly with the main TradingAgents framework:

from tradingagents.graph.trading_graph import TradingAgentsGraph
from crypto_trading.src.crypto_config import CRYPTO_CONFIG

# Initialize with crypto support
ta = TradingAgentsGraph(
    debug=True,
    config=CRYPTO_CONFIG,
    selected_analysts=["crypto_technical", "crypto_fundamentals", "crypto_news"]
)

# Run analysis
_, decision = ta.propagate("BTC/USDT", "2024-10-07")

Testing

Run all crypto tests:

cd crypto_trading
python tests/test_crypto_data.py
python tests/test_crypto_agents.py
python tests/test_crypto_backtest.py
python tests/test_paper_trading.py

Contributing

When adding new crypto functionality:

  1. Add source code to src/
  2. Add tests to tests/
  3. Add examples to examples/
  4. Update relevant documentation in docs/

License

Same as main TradingAgents project.