Skip to content

A high-performance hybrid trading framework combining Python’s flexibility for research, backtesting, and ML modeling with Rust’s ultra-low-latency execution engine. It features real-time market data, ONNX-based ML inference, advanced risk management, and Alpaca API integration for live algorithmic trading.

License

Notifications You must be signed in to change notification settings

SamoraDC/RustAlgorithmTrading

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py_rt - Python-Rust Hybrid Algorithm Trading System

A high-performance algorithmic trading system combining Python's productivity for research and backtesting with Rust's low-latency execution engine. Features real-time market data processing, ML-driven signal generation, risk management, and order execution through the Alpaca Markets API.

Overview

py_rt implements a hybrid architecture that separates offline research from online trading:

  • Python Offline: Backtesting, strategy optimization, ML training, and statistical analysis
  • Rust Online: Sub-millisecond market data processing, order execution, and risk management
  • Integration Layer: PyO3, ZeroMQ, and shared memory for seamless Python-Rust communication

This architecture maximizes development speed for research while maintaining production-grade performance for live trading.

Key Features

Python Offline Capabilities:

  • Backtesting Framework: Event-driven simulation with realistic slippage and transaction costs
  • Strategy Optimization: Grid search, genetic algorithms, and Bayesian optimization
  • ML Pipeline: Feature engineering, model training (XGBoost, PyTorch), and ONNX export
  • Statistical Analysis: Performance metrics, risk analytics, and interactive visualizations
  • Research Tools: Jupyter notebooks, factor analysis, and hypothesis testing

Rust Online Capabilities:

  • Real-time Market Data: WebSocket streaming with <100μs processing latency
  • Low-Latency Execution: Sub-millisecond order routing to Alpaca Markets
  • Risk Management: Pre-trade risk checks with position limits and VaR monitoring
  • ML Inference: ONNX Runtime for real-time model predictions
  • Order Book Management: Fast L2/L3 order book with sub-5μs updates
  • Observability: Prometheus metrics and structured logging

Integration:

  • PyO3 Bindings: Call Rust functions from Python for performance-critical code
  • ZeroMQ Messaging: Asynchronous event-driven communication
  • Shared Memory: Ultra-low-latency data sharing for market data streams

Architecture

High-Level Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                         PYTHON OFFLINE                               │
│                                                                      │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐              │
│  │  Backtesting │  │ Optimization │  │   Analysis   │              │
│  │    Engine    │  │   (Optuna)   │  │ (Stats/Viz)  │              │
│  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘              │
│         │                  │                  │                      │
│  ┌──────▼──────────────────▼──────────────────▼───────┐             │
│  │           ML Pipeline (Feature Eng + Training)      │             │
│  └──────────────────────────┬──────────────────────────┘             │
│                             │                                         │
│                    ┌────────▼────────┐                               │
│                    │  ONNX Model     │                               │
│                    │  Export         │                               │
│                    └────────┬────────┘                               │
└─────────────────────────────┼──────────────────────────────────────┘
                              │
                    ┌─────────▼─────────┐
                    │  Protocol Buffers  │ (Model weights, config)
                    │  ZeroMQ / PyO3     │
                    └─────────┬─────────┘
                              │
┌─────────────────────────────▼──────────────────────────────────────┐
│                          RUST ONLINE                                │
│                                                                      │
│  ┌─────────────────┐     ┌─────────────────┐                       │
│  │  Market Data    │     │  ML Inference   │                       │
│  │  WebSocket      │────▶│  (ONNX Runtime) │                       │
│  └────────┬────────┘     └────────┬────────┘                       │
│           │                       │                                 │
│           │              ┌────────▼────────┐                        │
│           │              │  Signal         │                        │
│           └─────────────▶│  Processor      │                        │
│                          └────────┬────────┘                        │
│                                   │                                 │
│                          ┌────────▼────────┐                        │
│                          │  Risk Manager   │                        │
│                          │  (Pre-Trade)    │                        │
│                          └────────┬────────┘                        │
│                                   │                                 │
│                          ┌────────▼────────┐                        │
│                          │  Order Manager  │                        │
│                          │  & Execution    │                        │
│                          └────────┬────────┘                        │
│                                   │                                 │
│                          ┌────────▼────────┐                        │
│                          │  Position       │                        │
│                          │  Tracker        │                        │
│                          └─────────────────┘                        │
└─────────────────────────────────────────────────────────────────────┘

See docs/architecture/python-rust-separation.md for detailed system design.

Technology Stack

Python Stack (Offline)

Component Technology Purpose
Data Analysis Pandas, NumPy Data manipulation, vectorized operations
Visualization Plotly, Matplotlib, Bokeh Interactive charts, performance analysis
ML Framework PyTorch, XGBoost, LightGBM Neural networks, gradient boosting
Optimization Optuna, Scipy Hyperparameter tuning, parameter optimization
Backtesting Custom engine Strategy validation and testing
Notebooks Jupyter Interactive research and exploration
IPC PyZMQ, PyO3 Inter-process communication with Rust

Rust Stack (Online)

Component Technology Purpose
Language Rust 2021 Edition Systems programming with safety guarantees
Async Runtime Tokio High-performance async I/O
WebSocket tokio-tungstenite Exchange WebSocket clients
Serialization serde, prost JSON/Protocol Buffer parsing
ML Inference ort (ONNX Runtime) Real-time model inference
Messaging ZeroMQ Pub/sub messaging patterns
Metrics prometheus Performance monitoring
Logging tracing + tracing-subscriber Structured logging
API Integration Alpaca Markets REST API v2 Order execution and data

Cross-Language Integration

Component Technology Purpose
FFI Bindings PyO3 Python-Rust function calls
Serialization Protocol Buffers Efficient data exchange
Messaging ZeroMQ Async event-driven communication
Model Format ONNX ML model interchange format
Shared Memory mmap, lock-free ring buffers Ultra-low-latency data streaming

Why This Hybrid Approach?

Python for Research:

  • Rich ecosystem for data science and ML
  • Fast prototyping and iteration
  • Excellent visualization libraries
  • Large community and extensive documentation

Rust for Trading:

  • Sub-millisecond latency (< 100μs end-to-end)
  • Memory safety without garbage collection (no GC pauses)
  • Fearless concurrency with compile-time guarantees
  • Predictable performance for 24/7 operation

Quick Start

Prerequisites

Python Environment:

  • Python 3.11+ (recommended for ML features)
  • uv package manager (recommended) or pip
  • Jupyter Notebook (for research)

Rust Environment:

  • Rust 1.70+ (install via rustup)
  • Cargo (comes with Rust)

Trading Account:

  • Alpaca Markets API credentials (get free paper trading account at alpaca.markets)

Installation

1. Clone Repository

git clone https://github.com/SamoraDC/RustAlgorithmTrading.git
cd RustAlgorithmTrading

2. Python Setup (Offline Components)

# Install uv package manager (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install Python dependencies
uv pip install -e ".[dev]"

# Install Jupyter for research
uv pip install jupyter notebook

# Verify installation
python -c "import pandas, numpy, torch, optuna; print('Python environment ready')"

3. Rust Setup (Online Components)

# Build all Rust components
cd rust
cargo build --release

# Run tests
cargo test --workspace

# Build with optimizations for production
cargo build --release --features production

# Verify installation
cargo run -p market-data --help

Configuration

Create config/system.json:

{
  "market_data": {
    "alpaca_api_key": "YOUR_API_KEY",
    "alpaca_secret_key": "YOUR_SECRET_KEY",
    "zmq_pub_address": "tcp://*:5555",
    "symbols": ["AAPL", "MSFT", "GOOGL"]
  },
  "execution_engine": {
    "alpaca_api_key": "YOUR_API_KEY",
    "alpaca_secret_key": "YOUR_SECRET_KEY",
    "zmq_sub_address": "tcp://localhost:5557",
    "zmq_pub_address": "tcp://*:5558",
    "max_retries": 3,
    "max_slippage_bps": 50
  },
  "risk_manager": {
    "zmq_sub_address": "tcp://localhost:5555",
    "zmq_pub_address": "tcp://*:5557",
    "max_position_size": 10000.0,
    "max_order_size": 1000.0,
    "max_daily_loss": 5000.0
  },
  "signal_bridge": {
    "zmq_sub_address": "tcp://localhost:5555",
    "zmq_pub_address": "tcp://*:5556"
  }
}

See docs/guides/quickstart.md for detailed setup instructions.

Running the System

Python Research Workflow

# Activate Python environment
source .venv/bin/activate

# Start Jupyter for research
jupyter notebook

# Run backtesting example
python examples/backtest_momentum.py

# Run parameter optimization
python examples/optimize_strategy.py

# Train ML model and export to ONNX
python examples/train_and_export_model.py

Rust Production Trading

Start each Rust component in separate terminals:

# Terminal 1: Market Data Service (WebSocket streaming)
cd rust/market-data
cargo run --release

# Terminal 2: Risk Manager (Pre-trade checks)
cd rust/risk-manager
cargo run --release

# Terminal 3: Execution Engine (Order routing)
cd rust/execution-engine
cargo run --release

# Terminal 4: Signal Processor (ML inference)
cd rust/signals
cargo run --release -- --model ../models/strategy_v1.onnx

Integrated Development Mode

# Start Python monitoring dashboard
python src/dashboard/app.py &

# Start all Rust services
./scripts/start_trading_system.sh

# Monitor logs
tail -f logs/trading_system.log

Project Structure

py_rt/
├── src/                     # Python source code (OFFLINE)
│   ├── backtesting/
│   │   ├── engine.py        # Core backtesting engine
│   │   ├── event_processor.py  # Event-driven simulation
│   │   └── performance.py   # Performance metrics
│   ├── optimization/
│   │   ├── grid_search.py   # Grid search optimizer
│   │   ├── bayesian.py      # Bayesian optimization
│   │   └── walk_forward.py  # Walk-forward analysis
│   ├── ml/
│   │   ├── features/        # Feature engineering
│   │   ├── models/          # ML models (XGBoost, PyTorch)
│   │   └── pipeline.py      # Training pipeline
│   ├── analysis/
│   │   ├── statistics.py    # Statistical analysis
│   │   ├── risk_metrics.py  # VaR, Sharpe, drawdown
│   │   └── visualization.py # Plotting and charts
│   └── data/
│       ├── ingestion/       # Data ingestion
│       ├── cleaning.py      # Data cleaning
│       └── storage.py       # Parquet/HDF5 storage
│
├── rust/                    # Rust source code (ONLINE)
│   ├── common/              # Shared types and utilities
│   │   ├── config.rs        # Configuration management
│   │   ├── errors.rs        # Error types
│   │   └── types.rs         # Domain types (Order, Trade, etc.)
│   ├── market_data/         # Market data ingestion
│   │   ├── websocket.rs     # WebSocket client
│   │   ├── orderbook.rs     # L2/L3 order book
│   │   └── aggregator.rs    # Multi-source aggregation
│   ├── execution/           # Order execution engine
│   │   ├── order_manager.rs # Order lifecycle
│   │   ├── router.rs        # Smart order routing
│   │   └── algo_execution.rs # TWAP/VWAP algorithms
│   ├── risk/                # Risk management
│   │   ├── pre_trade.rs     # Pre-trade checks
│   │   ├── var_calculator.rs # Value at Risk
│   │   └── position_limits.rs # Position limits
│   ├── signals/             # Signal processing
│   │   ├── processor.rs     # Signal computation
│   │   ├── indicators.rs    # Technical indicators
│   │   └── ml_inference.rs  # ONNX model inference
│   ├── position/            # Position tracking
│   │   ├── tracker.rs       # Position state
│   │   └── pnl.rs           # P&L calculation
│   ├── messaging/           # ZeroMQ integration
│   │   └── zmq_publisher.rs # Message publishing
│   └── python_bindings/     # PyO3 bindings
│       └── lib.rs           # Rust functions for Python
│
├── tests/                   # Test suites
│   ├── python/              # Python tests
│   └── rust/                # Rust tests
├── examples/                # Example scripts
│   ├── backtest_momentum.py
│   ├── optimize_strategy.py
│   └── train_model.py
├── docs/
│   ├── architecture/        # Architecture documentation
│   │   └── python-rust-separation.md
│   ├── guides/              # User guides
│   │   ├── quickstart.md
│   │   └── backtesting.md
│   └── api/                 # API documentation
├── config/                  # Configuration files
│   ├── system.json          # System configuration
│   └── risk_limits.toml     # Risk parameters
├── models/                  # Trained ML models (ONNX)
├── data/                    # Historical data storage
├── pyproject.toml           # Python dependencies
└── README.md                # This file

Components

Python Offline Components

1. Backtesting Framework

Event-driven backtesting engine with realistic simulation:

  • Historical Data Replay: Tick-by-tick or bar-based replay with time compression
  • Order Matching: Realistic fill simulation with slippage and market impact
  • Transaction Costs: Configurable commission and slippage models
  • Performance Metrics: Sharpe ratio, max drawdown, win rate, profit factor
  • Walk-Forward Analysis: Out-of-sample validation to prevent overfitting

Example: Backtest a momentum strategy on 3 years of data in under 30 seconds

2. Strategy Optimization

Multi-method parameter optimization:

  • Grid Search: Exhaustive parameter sweep (parallelized for speed)
  • Genetic Algorithms: Evolutionary optimization for complex parameter spaces
  • Bayesian Optimization: Sample-efficient tuning using Gaussian processes (Optuna)
  • Walk-Forward: Rolling window optimization to validate robustness

Performance: 10,000+ backtests per hour on a modern CPU

3. ML Pipeline

Complete machine learning workflow:

  • Feature Engineering: 200+ technical/fundamental/alternative features
  • Model Training: XGBoost, LightGBM, PyTorch neural networks
  • Cross-Validation: Time-series CV with purging and embargo
  • Model Export: ONNX format for fast Rust inference
  • Hyperparameter Tuning: Automated search with Optuna

Models: Classification (direction), regression (returns), reinforcement learning

4. Statistical Analysis

Comprehensive performance and risk analytics:

  • Time Series Analysis: Stationarity tests, autocorrelation, seasonality
  • Risk Metrics: VaR, CVaR, beta, Sharpe ratio, Sortino ratio
  • Attribution Analysis: Factor exposure, alpha/beta decomposition
  • Visualization: Interactive Plotly charts, equity curves, heat maps

Rust Online Components

5. Market Data Ingestion

Real-time market data streaming with sub-millisecond latency:

  • WebSocket Client: Async Tokio-based WebSocket for exchange data
  • Order Book Management: Fast L2/L3 order book with <5μs updates
  • Multi-Source Aggregation: Combine data from multiple exchanges
  • Data Normalization: Unified interface across different exchanges

Performance: 100,000+ messages/second with <10μs processing latency

6. Order Execution Engine

Low-latency order routing and execution:

  • Order Lifecycle: Create, modify, cancel with state tracking
  • Smart Routing: Best execution across multiple venues
  • Execution Algorithms: TWAP, VWAP, iceberg orders
  • Retry Logic: Exponential backoff with configurable limits
  • Slippage Protection: Reject orders exceeding threshold

Latency: <30μs from signal to order submission

7. Risk Management System

Real-time pre-trade and post-trade risk checks:

  • Pre-Trade Checks: Position limits, concentration, margin availability
  • Post-Trade Monitoring: Real-time P&L, VaR calculation, drawdown tracking
  • Risk Limits: Configurable limits per symbol/sector/portfolio
  • Emergency Stop: Automatic trading halt on breach

Safety: Zero orders bypass risk checks - 100% coverage

8. ML Inference Engine

Real-time model inference using ONNX Runtime:

  • Model Loading: Load ONNX models exported from Python
  • Feature Computation: Real-time technical indicators in Rust
  • Inference: Sub-millisecond prediction latency
  • Signal Aggregation: Combine multiple model outputs

Performance: <50μs for model inference (p99)

Integration Layer

9. PyO3 Bindings

Call Rust functions directly from Python:

  • Accelerated Backtesting: 10-100x faster than pure Python
  • Fast Indicators: Rust-implemented technical indicators
  • Risk Calculations: High-performance VaR and Greeks
  • Memory Safety: Safe FFI with automatic error handling

Example: Calculate 200-day SMA on 1M data points in <10ms

10. ZeroMQ Messaging

Asynchronous event-driven communication:

  • Pub/Sub Pattern: Market data, signals, fills, commands
  • Protocol Buffers: Efficient binary serialization
  • Low Latency: <1ms message delivery (local IPC)
  • Reliable Delivery: Automatic reconnection and buffering

Use Cases: Stream fills to Python dashboard, send strategy updates to Rust

API Integration

This system integrates with Alpaca Markets for:

  • Market data (WebSocket streaming)
  • Order execution (REST API v2)
  • Position tracking
  • Account management

See docs/api/ALPACA_API.md for integration details.

Observability

Metrics

All components expose Prometheus metrics on port 9090:

  • Message processing latency (histogram)
  • Message throughput (counter)
  • Order success/failure rates (gauge)
  • Position values and P&L (gauge)

Logging

Structured logging with tracing:

# Set log level
export RUST_LOG=info

# Enable debug logging for specific component
export RUST_LOG=market_data=debug

Testing

# Run all tests
cargo test --workspace

# Run tests for specific component
cargo test -p market-data

# Run with logging
cargo test --workspace -- --nocapture

# Run integration tests only
cargo test --workspace --test '*'

Test coverage: 85%+ across all components

Performance

Python Backtesting Performance

Benchmarked on AMD Ryzen 9 5900X (12 cores):

  • Backtesting Speed: 1,000,000+ ticks/second (vectorized NumPy)
  • Parameter Optimization: 10,000+ backtests/hour (parallelized)
  • ML Training: XGBoost model training on 1M samples in <60 seconds
  • Feature Engineering: 200 features on 1M bars in <5 seconds

Rust Online Performance

Benchmarked on AMD Ryzen 9 5900X (12 cores):

  • Market Data Processing: 100,000+ messages/second
  • Order Book Updates: <5μs latency (p99)
  • ML Inference: <50μs per prediction (ONNX Runtime)
  • End-to-End Order Latency: <100μs (message receipt to order submission)
  • Memory Usage: <100MB per Rust component

Integration Performance

  • PyO3 Function Calls: <1μs overhead per call
  • ZeroMQ IPC: <1ms message delivery (local)
  • Shared Memory: <100ns for data access (zero-copy)

Development

See CONTRIBUTING.md for:

  • Code style guidelines (rustfmt + clippy)
  • Testing requirements
  • Pull request process
  • Commit conventions

Workflow: Research to Production

The typical development cycle for a new trading strategy:

1. RESEARCH (Python)
   ├─▶ Hypothesis formulation
   ├─▶ Data exploration (Jupyter)
   ├─▶ Feature engineering
   └─▶ Preliminary backtesting

2. OPTIMIZATION (Python)
   ├─▶ Parameter grid search
   ├─▶ Walk-forward validation
   └─▶ Out-of-sample testing

3. VALIDATION (Python)
   ├─▶ Statistical significance tests
   ├─▶ Robustness checks
   └─▶ Performance analysis (Sharpe > 1.5 required)

4. DEPLOYMENT (Rust)
   ├─▶ Model export (ONNX)
   ├─▶ Strategy configuration
   ├─▶ Paper trading validation
   └─▶ Live deployment

5. MONITORING (Python + Rust)
   ├─▶ Real-time P&L tracking
   ├─▶ Performance analytics
   └─▶ Anomaly detection

See docs/guides/workflow.md for detailed workflow documentation.

Production Deployment

Quick Start Deployment

For production deployment, follow these essential steps:

# 1. Install prerequisites
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sudo apt-get install -y build-essential libzmq3-dev

# 2. Configure API credentials
cp .env.example .env
nano .env  # Add your Alpaca API keys

# 3. Review and adjust risk limits
cp config/system.production.json config/system.json
nano config/risk_limits.toml  # Adjust for your risk tolerance

# 4. Build Rust services
cd rust
cargo build --release --workspace

# 5. Deploy services
# Option A: Native deployment (lowest latency)
sudo ./scripts/install_systemd_services.sh
sudo systemctl start trading-market-data
sudo systemctl start trading-risk-manager
sudo systemctl start trading-execution-engine

# Option B: Docker deployment (easiest)
docker-compose -f docker/docker-compose.yml up -d

# 6. Verify deployment
./scripts/health_check.sh

Deployment Options

Method Latency Complexity Best For
Native <50μs Medium Production, low-latency trading
Docker <500μs Low Development, testing, easy deployment
Kubernetes <1ms High Enterprise, high availability, scale

Production Architecture

┌─────────────────────────────────────────────────────┐
│                 Production Setup                    │
├─────────────────────────────────────────────────────┤
│                                                     │
│  ┌─────────────┐    ┌─────────────┐               │
│  │  Prometheus │────│   Grafana   │  Monitoring   │
│  │   :9090     │    │    :3000    │               │
│  └─────────────┘    └─────────────┘               │
│         ▲                                          │
│         │ metrics                                  │
│         │                                          │
│  ┌──────┴────────────────────────────────┐        │
│  │      Rust Trading Services            │        │
│  │                                        │        │
│  │  ┌──────────┐  ┌──────────────┐      │        │
│  │  │  Market  │→ │ Risk Manager │      │        │
│  │  │   Data   │  └──────┬───────┘      │        │
│  │  └────┬─────┘         │              │        │
│  │       │               ▼              │        │
│  │       │      ┌─────────────────┐    │        │
│  │       └─────→│ Execution Engine│    │        │
│  │              └────────┬────────┘    │        │
│  └───────────────────────┼─────────────┘        │
│                          │                        │
│                          ▼                        │
│                  Alpaca Markets API               │
└─────────────────────────────────────────────────────┘

Essential Configuration Files

File Purpose
.env API credentials and environment variables
config/system.json System-wide configuration (symbols, endpoints)
config/risk_limits.toml Risk management parameters
docker/docker-compose.yml Docker service orchestration

Comprehensive Guides

  • Deployment Guide - Complete production deployment procedures

    • Prerequisites and system requirements
    • Configuration setup
    • Native, Docker, and Kubernetes deployment
    • Service startup sequence
    • Verification and health checks
    • Security considerations
  • Operations Guide - Day-to-day operational procedures

    • Starting/stopping services
    • Health monitoring
    • Log analysis and locations
    • Metrics dashboards (Prometheus/Grafana)
    • Backup and recovery
    • Common operational tasks
    • Emergency procedures
  • Troubleshooting Guide - Common issues and solutions

    • Quick diagnostics
    • Service-specific troubleshooting
    • Network and connectivity issues
    • API authentication problems
    • Performance degradation
    • Emergency scenarios

Production Checklist

Before going live:

  • API keys configured for paper trading
  • Risk limits reviewed and tested
  • All services pass health checks
  • Monitoring dashboards accessible
  • Alert notifications configured
  • Backup procedures tested
  • Emergency stop procedures documented
  • Paper trading validated (minimum 1 week)

Support and Documentation

For production deployment support:

Future Enhancements

Short-Term (3-6 months)

  • Multi-strategy portfolio optimization
  • Advanced execution algorithms (POV, adaptive TWAP)
  • GPU acceleration for ML training
  • Reinforcement learning for execution
  • Multi-exchange support (Binance, Coinbase)

Long-Term (6-12 months)

  • Multi-asset class support (futures, options, crypto)
  • High-frequency market making strategies
  • Distributed backtesting (Kubernetes cluster)
  • Alternative data integration (sentiment, satellite imagery)
  • Web-based monitoring dashboard (React + WebSocket)

See GitHub Issues for full roadmap.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Author

Davi Castro Samora

Related Documentation

Acknowledgments

Python Ecosystem:

Rust Ecosystem:

Trading Infrastructure:

Support


Status: Active Development | Version: 0.1.0 | Architecture: Python-Rust Hybrid

About

A high-performance hybrid trading framework combining Python’s flexibility for research, backtesting, and ML modeling with Rust’s ultra-low-latency execution engine. It features real-time market data, ONNX-based ML inference, advanced risk management, and Alpaca API integration for live algorithmic trading.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published