Skip to main content

BackTesterAgent 🚀

Join our Discord Subscribe on YouTube Connect on LinkedIn Follow on X.com

License: MIT Python 3.8+ Swarms Code style: black Downloads

An enterprise-grade AI-powered backtesting framework built on the Swarms framework for automated trading strategy validation and optimization.

🌟 Features

  • Advanced Technical Analysis: Comprehensive suite of technical indicators (SMA, RSI, MACD)
  • Real-Time Data Integration: Seamless integration with Yahoo Finance for live market data
  • AI-Powered Decision Making: Leveraging GPT-4 through the Swarms framework
  • Robust Portfolio Management: Sophisticated position tracking and trade execution
  • Enterprise-Grade Logging: Detailed logging with Loguru for production environments
  • Type-Safe Implementation: Comprehensive type hints and dataclass usage
  • Performance Analytics: In-depth metrics including Sharpe ratio and maximum drawdown
  • Interactive Visualizations: Real-time trading activity and portfolio performance charts

🛠️ Installation

pip3 install -U backtester-agent

📋 Requirements

  • Python 3.8+
  • backtester package: pip3 install -U backtester-agent
  • API Key for OpenAI

🚀 Quick Start

from backtester_agent.main import run_backtest

run_backtest(cash=500.0, symbol="AAPL", start_date="2024-11-16", end_date="2024-11-18", trade_size=10)

📊 Example Output

2024-01-18 10:30:15 | INFO | Starting backtest for AAPL
2024-01-18 10:30:16 | INFO | Processing 252 trading days
2024-01-18 10:30:45 | SUCCESS | Backtest completed

Backtest Results:
Initial Portfolio Value: $100,000.00
Final Portfolio Value: $125,432.10
Total Return: 25.43%
Sharpe Ratio: 1.85
Maximum Drawdown: -8.32%
Total Trades: 45

🔧 Configuration

Configure the agent through environment variables or a config file:

OPENAI_API_KEY=your_api_key_here
WORKSPACE_DIR="agent_workspace"
SWARMS_API_KEY=your_swarms_api_key_here # Get from swarms.ai dashboard

🏗️ Architecture

graph TD
    A[FinancialData] -->|Price Data| B[BackTester]
    B -->|Market State| C[FinancialAgent]
    C -->|Decisions| D[Portfolio]
    D -->|Execution| B
    E[Technical Indicators] -->|Analysis| C

📈 Performance Metrics

The BackTesterAgent provides comprehensive performance analytics:

  • Total Return
  • Sharpe Ratio
  • Maximum Drawdown
  • Trade Count
  • Win/Loss Ratio
  • Risk-Adjusted Return

🔍 Logging and Monitoring

Detailed logging is implemented using Loguru:

logger.add(
    "backtester_{time}.log",
    rotation="500 MB",
    retention="10 days",
    level="INFO"
)

🔒 Security

  • Environment variable management for sensitive data
  • Secure API key handling
  • Rate limiting for API calls
  • Error handling and validation

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

📞 Support

🗺️ Roadmap

  • Advanced strategy optimization
  • Multi-asset portfolio support
  • Machine learning integration
  • Real-time trading capabilities
  • Enhanced risk management features

📊 Benchmarks

Performance benchmarks against standard trading strategies:

Strategy Return Sharpe Ratio Max Drawdown
Buy & Hold 15.2% 0.95 -12.3%
BackTesterAgent 25.4% 1.85 -8.3%
Market Index 12.1% 0.82 -15.7%

Built with ❤️ by Swarms

Metadata

Release files for backtester-agent 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backtester-agent 0.0.2
File Size Uploaded
backtester_agent-0.0.2.tar.gz 8.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backtester-agent 0.0.2
File Interpreter ABI Platform
backtester_agent-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 kB

Release files / backtester_agent-0.0.2.tar.gz

Download URL backtester_agent-0.0.2.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a58f534c71489ec880372286e2a4249b84dd862fa266ca73e62fd4946a714f69
BLAKE2b-256 checksum
How to use checksums
9de7e09ff88ff7472dddd1b17885616556fd6f867ec7ae0be9e512ba9e2160de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.6 Darwin/23.3.0

Release files / backtester_agent-0.0.2-py3-none-any.whl

Download URL backtester_agent-0.0.2-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2100c6dbfa1541f67b8a8f4f839e7d9d146ae9e55b354fea49a6649041f487e6
BLAKE2b-256 checksum
How to use checksums
57b10f0b11e6f7ac788e20946aed1f8858ebb8be09d2a3663c1f0855c81826e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.6 Darwin/23.3.0

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page