Skip to main content

What is Backtesting?

Backtesting is the process of testing trading strategies against historical market data to evaluate their performance before deploying real capital. Nimbus’s backtesting engine provides comprehensive simulation capabilities with accurate orderbook modeling and realistic execution assumptions.

Why Backtesting Matters

Backtesting helps you understand how your strategies would have performed in different market conditions:

Strategy Validation

Prove strategy effectiveness:
  • Historical performance analysis
  • Risk-adjusted return calculations
  • Drawdown and recovery analysis
  • Win rate and profit factor metrics

Risk Assessment

Understand strategy risks: - Maximum drawdown periods - Volatility of returns - Correlation with market conditions - Tail risk and worst-case scenarios

Parameter Optimization

Find optimal settings: - Test parameter ranges systematically - Identify robust parameter combinations - Avoid overfitting to historical data - Balance performance vs stability

Market Regime Analysis

Performance across conditions:
  • Bull market performance
  • Bear market resilience
  • Sideways market efficiency
  • High volatility adaptability

Nimbus’s Backtesting Advantage

High-Fidelity Simulation

Our backtesting engine provides institutional-grade accuracy:
Complete market microstructure recreation:
  • Full orderbook depth at every timestamp
  • Real bid-ask spreads and liquidity levels
  • Actual slippage and market impact modeling
  • True-to-life execution conditions
Orderbook Data Coverage:
├── Timeframes: 1 second to 1 day intervals
├── History: 2+ years of complete data
├── Assets: All major Hyperliquid pairs
├── Depth: Full L2 orderbook (100+ levels)
├── Updates: Real-time data capture
└── Accuracy: Sub-millisecond precision
Accurate trade simulation:
  • Slippage modeling: Based on actual orderbook depth
  • Partial fills: Realistic order execution in volatile markets
  • Latency simulation: Network and processing delays
  • MEV impact: Front-running and sandwich attack effects
  • Gas cost modeling: Transaction costs on Hyperliquid
  • Liquidity constraints: Limited fill sizes during low liquidity

Advanced Analytics

Comprehensive performance analysis beyond basic metrics:

Risk Analytics

Deep risk analysis:
  • Value at Risk (VaR) calculations
  • Expected Shortfall analysis
  • Maximum Drawdown timing
  • Tail risk quantification
  • Correlation analysis

Attribution Analysis

Performance breakdown:
  • Returns by asset allocation
  • Strategy component contribution
  • Time period performance
  • Market regime attribution
  • Signal quality analysis

Running Your First Backtest

Step 1: Strategy Selection

Choose the strategy you want to backtest:
Test your current automated strategies:
  1. Navigate to Backtesting: Dashboard → Analytics → Backtesting
  2. Select Strategy: Choose from your active or paused strategies
  3. Choose Configuration: Use current settings or modify parameters
  4. Set Time Period: Select historical range for testing
Strategy Backtest Setup:
├── Strategy: "ETH Grid Trading Bot"
├── Configuration: "Current Live Settings"
├── Time Period: "2023-01-01 to 2024-01-01"
├── Initial Capital: $10,000
├── Assets: ETH/USDC
└── Execution Model: "Realistic with slippage"
Test signal-based strategies:
  1. Select Signal Combination: Choose your signal portfolio
  2. Configure Thresholds: Set entry/exit signal strengths
  3. Define Position Sizing: Risk-based or fixed sizing
  4. Set Filters: Market condition and time-based filters
Signal Strategy Backtest:
├── Primary Signals:
│   ├── Order Flow Imbalance (40% weight)
│   ├── Liquidity Momentum (35% weight)
│   └── RSI Divergence (25% weight)
├── Entry Threshold: 75%
├── Exit Threshold: 30%
├── Position Size: 2% of portfolio
├── Max Positions: 3 concurrent
└── Filters: Volatility < 5% daily

Step 2: Configuration & Parameters

Fine-tune your backtest settings:
Choose appropriate testing periods:
  • Bull Market Test: Rising market conditions (e.g., 2023 Q1-Q2)
  • Bear Market Test: Declining conditions (e.g., 2022 market crash)
  • Sideways Market: Range-bound periods (e.g., summer 2023)
  • High Volatility: Stressed market conditions
  • Full Cycle: Complete market cycle (2+ years)
Best Practices:
  • Test multiple non-overlapping periods
  • Include different market regimes
  • Use out-of-sample data for validation
  • Consider seasonal effects and patterns
Configure realistic capital constraints:
Capital Configuration:
├── Initial Capital: $10,000 - $1,000,000
├── Position Sizing Method:
│   ├── Fixed Dollar: $100 per trade
│   ├── Fixed Percentage: 2% of equity
│   ├── Risk-Based: 1% risk per trade
│   └── Kelly Criterion: Optimal growth
├── Leverage Settings:
│   ├── Maximum Leverage: 3x
│   ├── Margin Requirements: Hyperliquid rules
│   └── Liquidation Modeling: Enabled
└── Cash Management:
    ├── Reserve Cash: 10% minimum
    ├── Reinvestment: Automatic
    └── Withdrawal Simulation: None
Apply realistic risk controls:
  • Portfolio-level stops: Maximum daily/monthly losses
  • Position-level stops: Stop-loss and take-profit levels
  • Volatility filters: Pause during extreme conditions
  • Correlation limits: Maximum position correlation
  • Time-based rules: Trading hours and blackout periods
  • Liquidity constraints: Minimum orderbook depth requirements

Advanced Backtesting Features

Walk-Forward Analysis

Test strategy robustness over time:
Continuously optimize parameters:
Walk-Forward Setup:
├── Total Period: 2 years
├── Optimization Window: 6 months
├── Test Window: 3 months
├── Step Size: 1 month
├── Parameters to Optimize:
│   ├── Signal thresholds
│   ├── Position sizing
│   ├── Risk management levels
│   └── Entry/exit timing
└── Reoptimization Frequency: Monthly
Process Flow:
  1. Optimize parameters on first 6 months
  2. Test optimized strategy on next 3 months
  3. Move forward 1 month and repeat
  4. Analyze consistency of optimal parameters
  5. Identify regime-dependent parameters
Assess parameter sensitivity:
  • Parameter stability: How often do optimal parameters change?
  • Performance decay: How quickly do optimized parameters deteriorate?
  • Robustness testing: Performance with slightly different parameters
  • Regime analysis: Parameter effectiveness in different market conditions

Monte Carlo Simulation

Assess strategy robustness through randomization:

Return Randomization

Test with randomized returns:
  • Bootstrap historical returns
  • Preserve statistical properties
  • Test thousands of scenarios
  • Assess worst-case outcomes

Path Randomization

Vary order of historical events:
  • Shuffle market regime sequences
  • Test different market conditions
  • Assess order dependency
  • Evaluate timing sensitivity

Backtesting Results Analysis

Performance Metrics

Comprehensive performance evaluation:
Profitability analysis:
Return Analysis:
├── Total Return: 24.5%
├── Annualized Return: 12.3%
├── Compound Annual Growth Rate: 11.8%
├── Volatility (Annualized): 18.2%
├── Sharpe Ratio: 0.68
├── Sortino Ratio: 0.89
├── Calmar Ratio: 0.76
├── Information Ratio: 1.12
├── Alpha vs Market: 3.2%
└── Beta vs Market: 0.85
Key Insights:
  • Risk-adjusted returns relative to market
  • Consistency of performance over time
  • Volatility compared to benchmark
  • Return distribution characteristics
Risk assessment:
Risk Analysis:
├── Maximum Drawdown: -8.7%
├── Average Drawdown: -2.1%
├── Recovery Time: 45 days average
├── Value at Risk (95%): -1.8% daily
├── Expected Shortfall: -2.9% daily
├── Downside Deviation: 12.4%
├── Pain Index: 0.15
├── Ulcer Index: 4.2
├── Gain-to-Pain Ratio: 2.8
└── Sterling Ratio: 1.41
Execution analysis:
Trade Statistics:
├── Total Trades: 347
├── Win Rate: 58.2%
├── Average Win: $287
├── Average Loss: -$195
├── Profit Factor: 1.67
├── Expectancy: $67 per trade
├── Largest Win: $1,245
├── Largest Loss: -$892
├── Consecutive Wins: 8 max
├── Consecutive Losses: 5 max
├── Average Trade Duration: 4.2 hours
└── Average Trades per Day: 2.3

Visual Analysis

Rich charting and visualization tools:

Equity Curve

Portfolio value over time:
  • Cumulative returns progression
  • Drawdown periods highlighted
  • Benchmark comparison overlay
  • Risk-adjusted performance bands

Return Distribution

Return characteristics: - Daily/monthly return histograms - Normal distribution comparison - Tail risk visualization - Skewness and kurtosis analysis

Rolling Performance

Time-based analysis: - Rolling Sharpe ratios - Moving average returns - Volatility over time - Performance regime identification

Trade Analysis

Individual trade insights:
  • Win/loss distribution
  • Trade size vs performance
  • Holding period analysis
  • Entry/exit timing quality

Strategy Optimization

Parameter Optimization

Systematic parameter tuning for better performance:
Exhaustive parameter testing:
Optimization Setup:
├── Strategy: "RSI Mean Reversion"
├── Parameters to Optimize:
│   ├── RSI Period: [10, 12, 14, 16, 18, 20]
│   ├── Oversold Level: [20, 25, 30, 35]
│   ├── Overbought Level: [65, 70, 75, 80]
│   ├── Position Size: [1%, 2%, 3%, 5%]
│   └── Stop Loss: [2%, 3%, 4%, 5%]
├── Optimization Metric: Sharpe Ratio
├── Constraint: Max Drawdown < 10%
├── Test Period: 18 months
└── Validation Period: 6 months
Results Analysis:
  • Identify optimal parameter combinations
  • Assess parameter sensitivity
  • Validate on out-of-sample data
  • Check for overfitting
AI-powered parameter evolution:
Genetic Optimization:
├── Population Size: 100 parameter sets
├── Generations: 50 iterations
├── Mutation Rate: 5%
├── Crossover Rate: 80%
├── Selection Method: Tournament
├── Fitness Function: Risk-adjusted return
├── Constraints:
│   ├── Max Drawdown: 15%
│   ├── Min Trade Frequency: 1/week
│   └── Max Trade Frequency: 5/day
└── Convergence Criteria: 10 stable generations
Advantages:
  • Explores complex parameter spaces efficiently
  • Finds non-obvious parameter interactions
  • Avoids local optimization minima
  • Handles multiple constraints simultaneously

Multi-Objective Optimization

Balance multiple performance criteria:

Return vs Risk

Optimize risk-adjusted returns:
  • Maximize Sharpe ratio
  • Minimize maximum drawdown
  • Balance return and volatility
  • Optimize tail risk measures

Performance vs Stability

Balance performance and robustness:
  • Consistent performance across periods
  • Parameter stability over time
  • Reduced overfitting risk
  • Market regime adaptability

Benchmark Comparison

Market Benchmarks

Compare strategy performance against relevant benchmarks:
Common comparison baselines:
  • Buy and Hold: Simple asset purchase and hold
  • DCA Benchmark: Regular dollar-cost averaging
  • Market Index: Weighted crypto market performance
  • Risk-Free Rate: Stablecoin yield or Treasury rates
  • 60/40 Portfolio: Traditional balanced allocation
Benchmark Comparison Results:
├── Strategy Return: 18.5%
├── Buy & Hold ETH: 12.3%
├── DCA ETH Weekly: 14.7%
├── Crypto Index: 15.2%
├── USDC Yield: 4.2%
├── 60/40 ETH/USDC: 8.9%
├── Best Performer: Strategy (+18.5%)
├── Risk-Adjusted Best: Strategy (Sharpe: 1.12)
└── Maximum Drawdown Best: 60/40 (-4.2%)
Compare against other automated strategies:
  • Similar strategy types (grid, DCA, signal-based)
  • Community strategy performance
  • Professional fund performance
  • Academic strategy research results
Comparison Metrics:
  • Return per unit of risk
  • Downside protection
  • Market regime performance
  • Scalability and capacity

Best Practices & Common Pitfalls

Best Practices

Common Pitfalls

Avoid These Backtesting Mistakes:
  • Look-ahead bias: Using future information in signals
  • Survivorship bias: Only testing on currently available assets
  • Data snooping: Over-optimizing on the same dataset
  • Unrealistic assumptions: Ignoring slippage, fees, and market impact
  • Insufficient data: Testing on too short or unrepresentative periods
  • Point-in-time errors: Using revised data not available historically
  • Regime bias: Testing only in favorable market conditions
  • Parameter overfitting: Optimizing too many parameters
  • Ignoring correlation: Not accounting for portfolio interactions
  • Static optimization: Using the same parameters throughout

Next Steps

Backtesting is a powerful tool but not a guarantee of future performance. Always use proper risk management and start with small position sizes when deploying strategies based on backtest results.
I