Files
deploy/pages/backtesting/analyze/README.md
2025-07-11 02:57:57 +03:00

3.6 KiB

Backtesting Analysis

The Backtesting Analysis page provides comprehensive tools for analyzing and comparing the performance of your trading strategy backtests.

Features

📊 Performance Analysis

  • Strategy Performance Metrics: View detailed metrics including total P&L, win rate, Sharpe ratio, and maximum drawdown
  • Trade-by-Trade Analysis: Examine individual trades with entry/exit times, prices, and P&L
  • Performance Visualization: Interactive charts showing cumulative returns, drawdown periods, and trade distribution
  • Multi-Backtest Comparison: Compare performance across multiple backtests side-by-side

📈 Advanced Analytics

  • Statistical Analysis: Distribution plots for returns, trade duration, and P&L
  • Risk Metrics: Comprehensive risk analysis including VaR, CVaR, and risk-adjusted returns
  • Market Correlation: Analyze strategy performance relative to market conditions
  • Time-based Analysis: Performance breakdown by hour, day, and month

🔍 Trade Insights

  • Trade Clustering: Identify patterns in winning and losing trades
  • Entry/Exit Analysis: Evaluate the effectiveness of entry and exit signals
  • Position Sizing: Analyze the impact of position sizes on overall performance
  • Fee Impact: Understand how trading fees affect profitability

Usage Instructions

1. Select Backtests

  • Choose one or more completed backtests from the dropdown menu
  • Filter backtests by date range, strategy type, or performance metrics
  • Load historical backtests from saved results

2. Configure Analysis

  • Select the metrics and visualizations you want to display
  • Set date ranges for focused analysis
  • Choose comparison benchmarks (e.g., buy-and-hold, market indices)

3. Analyze Results

  • Review performance summary cards showing key metrics
  • Explore interactive charts by zooming, panning, and hovering for details
  • Export analysis results as reports (PDF/CSV)
  • Save analysis configurations for future use

4. Compare Strategies

  • Add multiple backtests to the comparison view
  • Align backtests by date for fair comparison
  • Identify which strategies perform best under different market conditions

Technical Notes

Data Processing

  • Backtesting results are loaded from the backend storage system
  • Large datasets are processed incrementally for optimal performance
  • Caching is implemented for frequently accessed analysis results

Visualization Components

  • Plotly: Interactive charts with zoom, pan, and export capabilities
  • Pandas: Efficient data manipulation and statistical calculations
  • NumPy: High-performance numerical computations

Performance Considerations

  • Analysis of large backtests (>10,000 trades) may take several seconds
  • Charts are rendered progressively to maintain UI responsiveness
  • Memory usage is optimized through data chunking

Component Structure

analyze/
├── analyze.py           # Main page application
├── components/
│   ├── metrics.py      # Performance metric calculations
│   ├── charts.py       # Visualization components
│   └── comparison.py   # Multi-backtest comparison tools
└── utils/
    ├── data_loader.py  # Backtest data loading utilities
    └── statistics.py   # Statistical analysis functions

Error Handling

The analysis page includes robust error handling for:

  • Missing Data: Graceful handling when backtest data is incomplete
  • Calculation Errors: Safe fallbacks for metric calculations
  • Memory Limits: Automatic data sampling for very large datasets
  • Visualization Errors: Alternative displays when charts fail to render