Production-ready crypto trading analysis agent with LLM hardening
Project description
AutoDegen ๐
Production-ready cryptocurrency trading analysis agent with enterprise-grade LLM hardening.
๐ Features
๐ก๏ธ Enterprise-Grade LLM Security
- Zero Meta Commentary: Complete elimination of "I'll analyze..." and "The key will be..." responses
- Structured Output Enforcement: Guaranteed consistent report format with Pydantic validation
- Production Hardening: Circuit breaker, retry logic, timeout handling, and tool call firewall
๐ Comprehensive Market Analysis
- Multi-Expert AI Coordination: Technical, market, and news sentiment analysis
- Real-Time Data: Integration with Binance, DeFiLlama, and crypto news sources
- Advanced Technical Indicators: RSI, MACD, moving averages, Smart Money Concepts
- Multi-Timeframe Analysis: 1h, 4h, daily perspectives with confluence signals
โก High-Performance Architecture
- Async/Await: Non-blocking operations for maximum throughput
- Resilience Patterns: Circuit breaker prevents cascade failures
- Comprehensive Testing: 52+ test cases with 100% production readiness validation
- Type Safety: Full type hints with mypy compatibility
๐ Quick Start
Installation
# Basic installation
pip install autodegen
# With CLI support
pip install autodegen[cli]
# Development installation
pip install autodegen[dev]
Environment Setup
Create a .env file or set environment variables:
FIREWORKS_API_KEY=your_fireworks_api_key # Required
OPENAI_API_KEY=your_openai_key # Optional
BINANCE_API_KEY=your_binance_key # Optional
BINANCE_API_SECRET=your_binance_secret # Optional
Python API Usage
import asyncio
from autodegen import TradingAgent
async def main():
# Initialize agent
agent = TradingAgent()
# Get structured analysis
analysis = await agent.analyze("BTC", timeframe="4h")
print(analysis.title) # **COMPREHENSIVE TECHNICAL ANALYSIS: BTC**
print(analysis.market_state) # Current market conditions...
print(analysis.outlook) # Bullish bias maintained above...
# Get market overview
overview = await agent.get_market_overview()
print(overview)
# Run analysis
asyncio.run(main())
CLI Usage
# Analyze a cryptocurrency
autodegen analyze BTC --timeframe 4h --format rich
# Get market overview
autodegen market
# Check system health
autodegen health
# List supported symbols
autodegen symbols
๐ Advanced Usage
Structured vs Unstructured Output
# Structured output (recommended)
structured_analysis = await agent.analyze("ETH", structured=True)
print(f"Market State: {structured_analysis.market_state}")
print(f"Trading Levels: {structured_analysis.trading_levels}")
# Text output
text_analysis = await agent.analyze("ETH", structured=False)
print(text_analysis) # Raw markdown-formatted text
Error Handling
from autodegen import TradingAgent, APIError, ConfigurationError
try:
agent = TradingAgent()
result = await agent.analyze("BTC")
except ConfigurationError as e:
print(f"Setup error: {e}")
except APIError as e:
print(f"API error: {e} (status: {e.status_code})")
except Exception as e:
print(f"Unexpected error: {e}")
Health Monitoring
# Check system health
health = await agent.health_check()
if health["status"] == "healthy":
print("All systems operational")
else:
print(f"System status: {health['status']}")
for component, status in health["components"].items():
print(f" {component}: {status}")
๐๏ธ Architecture
AutoDegen
โโโ ๐ง LLM Core (Production Hardened)
โ โโโ Circuit Breaker Pattern
โ โโโ Retry with Exponential Backoff
โ โโโ Tool Call Firewall
โ โโโ Structured Output Enforcement
โ
โโโ ๐ Market Analysis Engine
โ โโโ Technical Expert (Charts & Indicators)
โ โโโ Market Expert (Liquidity & Volume)
โ โโโ News Expert (Sentiment Analysis)
โ
โโโ ๐ Data Sources
โ โโโ Binance API (Price & Volume)
โ โโโ DeFiLlama (DeFi Metrics)
โ โโโ News APIs (Market Sentiment)
โ
โโโ ๐ก๏ธ Security & Reliability
โโโ Input Validation & Sanitization
โโโ Rate Limiting & Quotas
โโโ Comprehensive Logging
๐ Supported Cryptocurrencies
Major Coins: BTC, ETH, BNB, SOL, ADA, XRP, DOT, AVAX
DeFi Tokens: UNI, COMP, CRV, LINK, AAVE
Layer 1s: ATOM, NEAR, ALGO, FTM, ICP
And more: MATIC, VET, FLOW, SAND, MANA
Use autodegen symbols to see the full list
๐ง Configuration
API Keys Priority
- Constructor parameters
- Environment variables
.envfile (if python-dotenv installed)
Timeout & Retry Settings
agent = TradingAgent()
# Custom timeout and structured output
analysis = await agent.analyze(
symbol="BTC",
timeout=60.0, # 60 second timeout
structured=True # Enforce schema validation
)
๐งช Production Hardening
This agent includes enterprise-grade production hardening tested with 52+ comprehensive test cases:
๐ก๏ธ LLM Response Security
- Meta Commentary Elimination: Zero tolerance for "I'll analyze...", "The key will be..." responses
- Structured Schema Enforcement: Guaranteed report format with required sections
- Content Validation: Multi-layer filtering of banned tokens and meta statements
๐ Security Features
- Tool Call Firewall: Blocks dangerous function calls (execute_code, run_shell)
- Input Sanitization: Automatic cleanup of potentially harmful content
- Circuit Breaker: Prevents cascade failures with automatic recovery
โก Reliability Patterns
- Retry Logic: Exponential backoff with jitter (3 attempts default)
- Timeout Handling: Graceful degradation on slow responses
- Health Monitoring: Real-time component status checking
๐งช Testing & Quality
# Install development dependencies
pip install autodegen[dev]
# Run the production quality test battery
python -m pytest tests/run_quality_battery.py
# Test specific components
python -m pytest tests/ -v
Quality Metrics:
- โ 52/52 tests passing (100% success rate)
- โ Zero meta commentary leakage
- โ 100% structured output compliance
- โ Enterprise resilience patterns validated
๐ค Contributing
We welcome contributions! Please see our Contributing Guide.
Development Setup
git clone https://github.com/taygundogan/cryptotrading-agent
cd cryptotrading-agent
pip install -e .[dev]
# Run tests
python tests/run_quality_battery.py
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Acknowledgments
- Built with production-grade LLM hardening techniques
- Inspired by enterprise trading system architectures
- Powered by Fireworks AI, OpenAI, and crypto data providers
๐ Support
- Documentation: GitHub README
- Issues: GitHub Issues
- Discussions: GitHub Discussions
โ ๏ธ Disclaimer: This tool is for educational and informational purposes only. Cryptocurrency trading involves significant risk. Always do your own research and consider your risk tolerance before making trading decisions.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autodegen-0.1.5.tar.gz.
File metadata
- Download URL: autodegen-0.1.5.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2030a668bbc22fde3115be23bb4f91f7023cb3e09af0165f6e3a7b7d97b5c0cf
|
|
| MD5 |
b37dda4b9c03f12f3aad66883366584e
|
|
| BLAKE2b-256 |
9aad9c67a64404365043c8822e162d957bc7e455b9becdb00ee33edc1d6dfbed
|
File details
Details for the file autodegen-0.1.5-py3-none-any.whl.
File metadata
- Download URL: autodegen-0.1.5-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
782eedc3169d8121a4782a9ab68a8343a3c53feca03a87eab0f9fbf1f123a730
|
|
| MD5 |
55c84a657849dc6cd4a755dc11900e9b
|
|
| BLAKE2b-256 |
e13fb0a2740d8dd5144be89c7a9e8bbb5c5cfdbe66a591959e456a38f66f2d56
|