A powerful, user-friendly platform for backtesting and optimizing trading strategies
Features β’ Quick Start β’ Installation β’ Usage β’ Strategies
BOST is a comprehensive backtesting and optimization platform designed for traders, quantitative analysts, and financial researchers. Built with Python and powered by Streamlit, it provides an intuitive interface for testing trading strategies against historical data, optimizing parameters, and analyzing performance with professional-grade metrics.
Whether you're a beginner exploring algorithmic trading or an experienced quant developing sophisticated strategies, BOST offers the tools you need to validate your ideas and improve your trading performance.
- Simulate strategies against historical market data with precision
- Support for any asset class (stocks, forex, crypto, commodities)
- Multiple timeframe analysis capabilities
- Real-time performance tracking
- Advanced parameter optimization algorithms
- Grid search and random search methods
- Multi-objective optimization support
- Parallel processing for faster results
- Performance Metrics: Total Return, Sharpe Ratio, Sortino Ratio, Maximum Drawdown, SQN
- Risk Analysis: Value at Risk (VaR), volatility measures, correlation analysis
- Statistical Tests: Monte Carlo simulations for strategy robustness
- Benchmark Comparison: Compare against market indices and other strategies
- Dynamic charts and performance graphs
- Equity curve analysis
- Drawdown visualization
- Trade distribution analysis
- Risk-return scatter plots
- Detailed Excel export functionality
- Comprehensive performance reports
- Strategy comparison matrices
- Risk assessment summaries
- Easy strategy implementation
- Flexible data handling
- Extensible framework
- Clean, organized codebase
- Streamlit-powered GUI
- No coding required for basic usage
- Integrated data sources
- Real-time parameter adjustment
# Clone the repository
git clone https://github.com/yourusername/BOST-Backtesting-and-Optimization.git
# Navigate to the project directory
cd BOST-Backtesting-and-Optimization
# Install dependencies
pip install -r requirements.txt
streamlit run main.py
- Load Data: Use integrated data functions (no external files needed)
- Select Strategy: Choose from pre-built strategies or create your own
- Configure Parameters: Set your strategy parameters and backtest settings
- Run Backtest: Execute the backtest and view real-time results
- Optimize: Fine-tune parameters for optimal performance
- Analyze Results: Explore interactive charts and detailed metrics
- Export Reports: Generate comprehensive Excel reports
BOST features fully integrated data handling:
- Built-in data management system
- No external data files required
- Multiple timeframes
- Support for any financial instrument
BOST comes with a comprehensive collection of pre-built strategies:
- Moving Average Crossover (
strategy_ma_crossover.py
) - Classic dual MA crossover system - RSI Strategy (
strategy_rsi.py
) - Relative Strength Index based trading - RSI Multi-Timeframe (
strategy_rsi_multi_timeframe.py
) - Multi-timeframe RSI analysis - RSI Price Divergence (
strategy_rsi_price_divergence.py
) - Divergence detection system - MACD Strategy (
strategy_macd.py
) - Moving Average Convergence Divergence - Bollinger Bands (
strategy_bollinger_bands.py
) - Volatility-based trading
- Breakout Strategy (
strategy_breakout.py
) - Price breakout detection
- Buy and Hold (
buy_and_hold_strategy.py
) - Passive investment benchmark
Easily create your own strategies using the common_strategy.py
base class framework.
BOST/
βββ .streamlit/ # Streamlit configuration
β βββ config.toml
βββ .vscode/ # VS Code settings
β βββ settings.json
β βββ launch.json
βββ strategies/ # Trading strategies directory
β βββ __init__.py
β βββ common_strategy.py # Base strategy class
β βββ strategy_ma_crossover.py # Moving Average strategy
β βββ strategy_rsi.py # RSI strategy
β βββ strategy_rsi_multi_timeframe.py
β βββ strategy_rsi_price_divergence.py
β βββ strategy_macd.py # MACD strategy
β βββ strategy_bollinger_bands.py # Bollinger Bands strategy
β βββ strategy_breakout.py # Breakout strategy
β βββ buy_and_hold_strategy.py # Buy and hold benchmark
βββ main.py # Main application entry point
βββ ui.py # Streamlit user interface
βββ backtest_runner.py # Backtesting engine
βββ optimizer_runner.py # Optimization engine
βββ data_handler.py # Data management system
βββ display_results.py # Results visualization
βββ excel_exporter.py # Excel export functionality
βββ monte_carlo.py # Monte Carlo simulations
βββ utils.py # Utility functions
βββ config.py # Configuration settings
βββ messages.yaml # UI messages and labels
βββ requirements.txt # Python dependencies
βββ pyproject.toml # Project metadata
βββ .gitignore # Git ignore rules
BOST calculates comprehensive performance metrics including:
- Total Return - Overall strategy performance
- Annualized Return - Yearly performance average
- Excess Return - Performance vs benchmark
- Sharpe Ratio - Risk-adjusted return measure
- Sortino Ratio - Downside risk-adjusted return
- Maximum Drawdown - Largest peak-to-trough decline
- System Quality Number (SQN) - Trading system quality assessment
- Win Rate - Percentage of profitable trades
- Profit Factor - Ratio of gross profit to gross loss
- Average Trade - Mean trade performance
- Trade Distribution - Statistical analysis of trade outcomes
- pandas - Data manipulation and analysis
- numpy - Scientific computing and numerical operations
- streamlit - Web application framework
- backtesting.py - Core backtesting engine
- matplotlib - Plotting and visualization
- Backtesting.py - Core backtesting engine
- Streamlit - Web application framework
- Pandas - Data manipulation and analysis
- NumPy - Scientific computing
- Matplotlib - Plotting and visualization
Made with β€οΈ for the trading community by someone who is not a programmer
β Star this repository if you find it useful! β