Skip to main content

autohedge - TGSC

Project description

AutoHedge 🚀

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

PyPI version License: MIT Python 3.8+ Documentation Status Code style: black

AutoHedge is an enterprise-grade autonomous trading system powered by swarm intelligence and advanced AI agents. It provides a comprehensive framework for automated market analysis, risk management, and trade execution.

🌟 Features

  • Multi-Agent Architecture: Leverages specialized AI agents for different aspects of trading

    • Director Agent for strategy and thesis generation
    • Quant Agent for technical analysis
    • Risk Management Agent for position sizing and risk assessment
    • Execution Agent for trade implementation
  • Real-Time Market Analysis: Integrates with market data providers for live analysis

  • Risk-First Approach: Built-in risk management and position sizing

  • Structured Output: JSON-formatted trade recommendations and analysis

  • Comprehensive Logging: Detailed logging system for trade tracking and debugging

  • Extensible Framework: Easy to customize and extend with new capabilities

📋 Requirements

  • Python 3.8+
  • swarms package
  • tickr-agent
  • Additional dependencies listed in requirements.txt

🚀 Quick Start

Installation

pip install -U autohedge

Environment Variables

OPENAI_API_KEY=""
WORKSPACE_DIR="agent_workspace"

Basic Usage

# Example usage
from autohedge import AutoFund

# Define the stocks to analyze
stocks = ["NVDA"]

# Initialize the trading system with the specified stocks
trading_system = AutoFund(stocks)

# Define the task for the trading cycle
task = "Let's analyze nvidia to see if we should buy it, we have 50k$ in allocation"

# Run the trading cycle and print the results
print(trading_system.run(task=task))

🏗️ Architecture

AutoHedge uses a multi-agent architecture where each agent specializes in a specific aspect of the trading process:

graph TD
    A[Director Agent] --> B[Quant Agent]
    B --> C[Risk Manager]
    C --> D[Execution Agent]
    D --> E[Trade Output]

Agent Roles

  1. Director Agent

    • Generates trading theses
    • Coordinates overall strategy
    • Analyzes market conditions
  2. Quant Agent

    • Performs technical analysis
    • Evaluates statistical patterns
    • Calculates probability scores
  3. Risk Manager

    • Assesses trade risks
    • Determines position sizing
    • Sets risk parameters
  4. Execution Agent

    • Generates trade orders
    • Sets entry/exit points
    • Manages order execution

📊 Output Format

AutoHedge generates structured output using Pydantic models:

class AutoHedgeOutput(BaseModel):
    id: str                         # Unique identifier
    name: Optional[str]             # Strategy name
    description: Optional[str]      # Strategy description
    stocks: Optional[List[str]]     # List of stocks
    task: Optional[str]             # Analysis task
    thesis: Optional[str]           # Trading thesis
    risk_assessment: Optional[str]  # Risk analysis
    order: Optional[Dict]           # Trade order details
    timestamp: str                  # Timestamp
    current_stock: str              # Current stock being analyzed

🔧 Configuration

AutoHedge can be configured through environment variables or initialization parameters:

trading_system = AutoFund(
    name="CustomStrategy",
    description="My Trading Strategy",
    stocks=["NVDA", "AAPL"],
    output_dir="custom_outputs"
)

📝 Logging

AutoHedge uses the loguru library for comprehensive logging:

logger.add(
    "trading_system_{time}.log",
    rotation="500 MB",
    retention="10 days",
    level="INFO",
    format="{time:YYYY-MM-DD at HH:mm:ss} | {level} | {message}"
)

🔍 Advanced Usage

Custom Agent Configuration

from autohedge import TradingDirector, QuantAnalyst, RiskManager

# Custom director configuration
director = TradingDirector(
    stocks=["NVDA", "AAPL"],
    output_dir="custom_outputs"
)

# Custom analysis
analysis = director.generate_thesis(
    task="Generate comprehensive analysis",
    stock="NVDA"
)

Risk Management

from autohedge import RiskManager

risk_manager = RiskManager()
assessment = risk_manager.assess_risk(
    stock="NVDA",
    thesis=thesis,
    quant_analysis=analysis
)

Diagrams

🏗️ System Architecture

High-Level Component Overview

flowchart TB
    subgraph Client
        A[AutoHedge Client] --> B[Trading System]
    end
    
    subgraph Agents["Multi-Agent System"]
        B --> C{Director Agent}
        C --> D[Quant Agent]
        C --> E[Risk Agent]
        C --> F[Execution Agent]
        
        D --> G[Technical Analysis]
        D --> H[Statistical Analysis]
        
        E --> I[Risk Assessment]
        E --> J[Position Sizing]
        
        F --> K[Order Generation]
        F --> L[Trade Execution]
    end
    
    subgraph Output
        K --> M[JSON Output]
        L --> N[Trade Logs]
    end

Trading Cycle Sequence

sequenceDiagram
    participant C as Client
    participant D as Director
    participant Q as Quant
    participant R as Risk
    participant E as Execution
    
    C->>D: Initialize Trading Cycle
    activate D
    D->>D: Generate Thesis
    D->>Q: Request Analysis
    activate Q
    Q-->>D: Return Analysis
    deactivate Q
    D->>R: Request Risk Assessment
    activate R
    R-->>D: Return Risk Profile
    deactivate R
    D->>E: Generate Order
    activate E
    E-->>D: Return Order Details
    deactivate E
    D-->>C: Return Complete Analysis
    deactivate D

Trade State Machine

stateDiagram-v2
    [*] --> Initialization
    Initialization --> ThesisGeneration
    
    ThesisGeneration --> QuantAnalysis
    QuantAnalysis --> RiskAssessment
    
    RiskAssessment --> OrderGeneration: Risk Approved
    RiskAssessment --> ThesisGeneration: Risk Rejected
    
    OrderGeneration --> OrderExecution
    OrderExecution --> Monitoring
    
    Monitoring --> ThesisGeneration: New Cycle
    Monitoring --> [*]: Complete

Data Flow

flowchart LR
    subgraph Input
        A[Market Data] --> B[Technical Indicators]
        A --> C[Fundamental Data]
    end
    
    subgraph Processing
        B --> D[Quant Analysis]
        C --> D
        D --> E[Risk Analysis]
        E --> F[Order Generation]
    end
    
    subgraph Output
        F --> G[Trade Orders]
        F --> H[Risk Reports]
        F --> I[Performance Metrics]
    end

Class Structure

classDiagram
    class AutoFund {
        +String name
        +String description
        +List stocks
        +Path output_dir
        +run()
    }
    
    class TradingDirector {
        +Agent director_agent
        +TickrAgent tickr
        +generate_thesis()
    }
    
    class QuantAnalyst {
        +Agent quant_agent
        +analyze()
    }
    
    class RiskManager {
        +Agent risk_agent
        +assess_risk()
    }
    
    class ExecutionAgent {
        +Agent execution_agent
        +generate_order()
    }
    
    AutoFund --> TradingDirector
    AutoFund --> QuantAnalyst
    AutoFund --> RiskManager
    AutoFund --> ExecutionAgent

🤝 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 some 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


Created with ❤️ by The Swarm Corporation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autohedge-0.0.5.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autohedge-0.0.5-py3-none-any.whl (10.0 kB view details)

Uploaded Python 3

File details

Details for the file autohedge-0.0.5.tar.gz.

File metadata

  • Download URL: autohedge-0.0.5.tar.gz
  • Upload date:
  • Size: 12.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.3.0

File hashes

Hashes for autohedge-0.0.5.tar.gz
Algorithm Hash digest
SHA256 ef68d0834799af511114e0e15c40a0316f7e746a98919d02f6a8157c7f145323
MD5 f45b306b994471c37450970ba9b84cce
BLAKE2b-256 6f51331afd0bd5b5dd38d4ac1a44166da8aae4717bf4ee5bd1cca88fbb553fe8

See more details on using hashes here.

File details

Details for the file autohedge-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: autohedge-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.3.0

File hashes

Hashes for autohedge-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f51c7fc335976e3370ab61cacc4a1a3a78d1064bab9239be46d0e744d54cca29
MD5 574243f419a95314109c1281cd420b67
BLAKE2b-256 f97ba8c18c7748712097ec1028ac48821ffeb41ec3985538ae5e62afcef1d18c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page