Quick Start
Basic Backtest Example
Backtest Engine Architecture
The engine is defined innano-backtest/src/engine.rs:33-64.
Engine Components
| Component | Purpose |
|---|---|
| EventQueue | Priority queue for time-ordered event processing |
| SimulatedExchange | Order matching and fill simulation |
| LatencySimulator | Network and exchange latency modeling |
| PositionTracker | Real-time P&L and position tracking |
| RiskManager | Pre-trade and real-time risk checks |
| MetricsCollector | Performance statistics and analytics |
Event-Driven Workflow
The backtest processes events in chronological order (engine.rs:260-276):
Event Processing
Event Types
Fromevents.rs:10-76, the engine processes:
| Event Type | Description | Triggered By |
|---|---|---|
| MarketData | Order book update | Market data feed |
| OrderSubmit | Order arrives at exchange | Strategy + latency |
| OrderAck | Exchange confirms order | Exchange + ack latency |
| OrderFill | Order execution | Exchange matching |
| OrderCancel | Cancel confirmation | Strategy cancel request |
| OrderReject | Order rejected | Risk checks or exchange |
| Timer | Scheduled callback | Strategy timers |
| Signal | Inter-strategy signal | Strategy signals |
| EndOfData | Backtest complete | Data exhaustion |
Event Flow Example
Market data event → Strategy decision → Order submission:Engine API
Creating an Engine
Registering Instruments
Fromengine.rs:94-99:
Scheduling Events
Fromengine.rs:113-115:
Running the Backtest
Fromengine.rs:260-276:
Loading Market Data
From Binary MDP3 Feed
From CSV Data
Strategy Integration
Your strategy must implement theStrategy trait:
Accessing Results
Fromengine.rs:319-348:
Engine State Management
Fromengine.rs:18-30:
Resetting the Engine
Fromengine.rs:368-385:
Performance Optimization
Event Capacity Pre-allocation
Batch Event Processing
Disable Expensive Recording
Complete Example
Related
- Backtest Configuration - Configure latency, fees, and risk
- Performance Metrics - Detailed metrics explanation
- Strategy Development - Building trading strategies