Skip to main content

EdgeLab CLI

Algorithmic Trading Strategy Analysis Platform

EdgeLab CLI is a Python package for developing, testing, and analyzing algorithmic trading strategies using server-side backtesting and machine learning optimization.

🚀 Quick Start

# Install
pip install edgelab

# Sign up
edgelab auth signup

# Login
edgelab auth login

# Create workspace
edgelab init my-strategies

# Analyze strategy
cd my-strategies
edgelab analyze strategies/simple_rsi.py SPY 2023-01-01 2023-12-31

✨ Features

  • 🔬 Server-Side Analysis - No local compute needed, runs on EdgeLab Cloud
  • 📊 4 Analysis Engines - Backtest, Walk-Forward, Monte Carlo, Stress Testing
  • 🤖 ML Optimization - Automatic parameter tuning using XGBoost
  • 📈 Multiple Symbols - Test strategies across multiple stocks simultaneously
  • 🎨 Rich Terminal UI - Beautiful formatted output with progress bars
  • 🔐 Secure - JWT authentication, encrypted API communication

📦 Installation

pip install edgelab

Requirements:

  • Python 3.11+
  • Internet connection (for API access)

🎯 Usage

Authentication

# Create account
edgelab auth signup

# Login
edgelab auth login

# Check status
edgelab auth whoami

# Logout
edgelab auth logout

Workspace

# Initialize workspace with example strategies
edgelab init my-strategies

# Creates:
# my-strategies/
#   ├── strategies/
#   │   ├── simple_rsi.py
#   │   ├── ema_crossover.py
#   │   └── orb_breakout.py
#   └── results/

Strategy Analysis

# Single symbol
edgelab analyze strategies/my_rsi.py SPY 2023-01-01 2023-12-31

# Multiple symbols
edgelab analyze strategies/my_rsi.py SPY,TSLA,NVDA 2023-01-01 2023-12-31

# With ML optimization
edgelab analyze --ml strategies/my_ml_rsi.py SPY,QQQ,AAPL 2023-01-01 2023-12-31

# Different resolution
edgelab analyze --resolution 15m strategies/my_rsi.py SPY 2023-01-01 2023-12-31

Results Management

# List all analysis runs
edgelab results list

# Show detailed results
edgelab results show <workflow-id>

Strategy Management

# List all your strategies
edgelab strategies list

# Show strategy details
edgelab strategies show my_rsi v1

📝 Writing Strategies

from edgelab.core import Strategy, Bar, SignalType, Indicators

class MyRSI(Strategy):
    @property
    def name(self) -> str:
        return "my_rsi"

    @property
    def version(self) -> str:
        return "v1"

    def on_bar(self, bar: Bar) -> SignalType | None:
        rsi = Indicators.rsi(bar.close, period=14)

        if rsi < 30:
            return SignalType.LONG
        elif rsi > 70:
            return SignalType.SHORT
        else:
            return None

    def stop_loss(self, entry_price: float) -> float:
        return entry_price * 0.98  # 2% stop

    def take_profit(self, entry_price: float) -> float:
        return entry_price * 1.05  # 5% profit

🤖 ML Optimization

from edgelab.core import Strategy, Bar, SignalType, Indicators
from edgelab.ml import ml_optimizable, param_range

@ml_optimizable
class MyMLStrategy(Strategy):
    rsi_period = param_range(10, 20, default=14, step=2)
    oversold = param_range(20, 40, default=30, step=5)

    # ... rest of strategy

📚 Documentation

Full documentation: https://docs.edgelab.com

🆘 Support

📄 License

MIT License - see LICENSE file for details

Release files for edgelab 0.1.5

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

Source distribution (sdist)

Source distribution for edgelab 0.1.5
File Size Uploaded
edgelab-0.1.5.tar.gz 20.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edgelab 0.1.5
File Interpreter ABI Platform
edgelab-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 49.0 kB

Release files / edgelab-0.1.5.tar.gz

Download URL edgelab-0.1.5.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
bcbd03b3a8fda30331a6eb2efd1f470da9a9283c89cc604b7fc386419d4fc786
BLAKE2b-256 checksum
How to use checksums
ee1aa73fbc80fcd75156f6978bc59336d32af5ac2763e54d3f7c10cffa201284
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.14.0 Darwin/25.0.0

Release files / edgelab-0.1.5-py3-none-any.whl

Download URL edgelab-0.1.5-py3-none-any.whl
Size 28.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8cba23f528875909b91287398d31f0b98b29f82d77bf50cad6cdfc4f9129af4e
BLAKE2b-256 checksum
How to use checksums
ad69ccfea285987f3c4b93c502d3cfc4acc54ec8c46e5c7db2af48ae6db9c45e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.2.1 CPython/3.14.0 Darwin/25.0.0

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

2 release files

0.1.0

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