Files
crypto_trader/docs/architecture/backtesting.md

2.9 KiB

Backtesting Engine Architecture

This document describes the backtesting engine design.

Backtesting Components

Backtesting Engine
    ├──► Data Provider
    │         │
    │         └──► Historical Data Loading
    │
    ├──► Strategy Execution
    │         │
    │         ├──► Data Replay
    │         ├──► Signal Generation
    │         └──► Order Simulation
    │
    ├──► Realism Models
    │         │
    │         ├──► Slippage Model
    │         ├──► Fee Model
    │         └──► Order Book Simulation
    │
    └──► Metrics Calculation
            │
            ├──► Performance Metrics
            └──► Risk Metrics

Data Replay

Historical data is replayed chronologically:

Historical Data (Time Series)
        │
        ▼
Time-based Iteration
        │
        ├──► For each timestamp:
        │         │
        │         ├──► Update market data
        │         ├──► Notify strategies
        │         ├──► Process signals
        │         └──► Execute orders
        │
        └──► Continue until end date

Order Simulation

Simulated order execution:

Order Request
    │
    ▼
Order Type Check
    │
    ├──► Market Order
    │         │
    │         └──► Execute at current price + slippage
    │
    └──► Limit Order
            │
            └──► Wait for price to reach limit
                    │
                    └──► Execute when filled

Slippage Modeling

Realistic slippage simulation:

Market Order
    │
    ▼
Current Price
    │
    ├──► Buy Order: Price + Slippage
    └──► Sell Order: Price - Slippage
            │
            └──► Add Market Impact (for large orders)

Fee Modeling

Exchange fee calculation:

Order Execution
    │
    ▼
Order Type Check
    │
    ├──► Maker Order (Limit)
    │         │
    │         └──► Apply Maker Fee
    │
    └──► Taker Order (Market)
            │
            └──► Apply Taker Fee

Performance Metrics

Calculated metrics:

  • Total Return: (Final Capital - Initial Capital) / Initial Capital
  • Sharpe Ratio: (Return - Risk-free Rate) / Volatility
  • Sortino Ratio: (Return - Risk-free Rate) / Downside Deviation
  • Max Drawdown: Largest peak-to-trough decline
  • Win Rate: Winning Trades / Total Trades
  • Profit Factor: Gross Profit / Gross Loss

Parameter Optimization

Optimization methods:

  • Grid Search: Test all parameter combinations
  • Genetic Algorithm: Evolutionary optimization
  • Bayesian Optimization: Efficient parameter search

Backtest Results

Stored results:

  • Performance metrics
  • Trade history
  • Equity curve
  • Drawdown chart
  • Parameter values