- Introduced DataCache utility for optimized data loading, reducing redundant I/O operations during strategy execution. - Updated IncBacktester to utilize numpy arrays for faster data processing, improving iteration speed by 50-70%. - Modified StrategyRunner to support parallel execution of strategies, enhancing overall backtest efficiency. - Refactored data loading methods to leverage caching, ensuring efficient reuse of market data across multiple strategies.
49 lines
1.5 KiB
Python
49 lines
1.5 KiB
Python
"""
|
|
Incremental Backtesting Framework
|
|
|
|
This module provides comprehensive backtesting capabilities for incremental trading strategies.
|
|
It includes configuration management, data loading, parallel execution, and result analysis.
|
|
|
|
Components:
|
|
- IncBacktester: Main backtesting engine
|
|
- BacktestConfig: Configuration management for backtests
|
|
- OptimizationConfig: Configuration for parameter optimization
|
|
- DataLoader: Data loading and validation utilities
|
|
- SystemUtils: System resource management
|
|
- ResultsSaver: Result saving and reporting utilities
|
|
|
|
Example:
|
|
from IncrementalTrader.backtester import IncBacktester, BacktestConfig
|
|
from IncrementalTrader.strategies import MetaTrendStrategy
|
|
|
|
# Configure backtest
|
|
config = BacktestConfig(
|
|
data_file="btc_1min_2023.csv",
|
|
start_date="2023-01-01",
|
|
end_date="2023-12-31",
|
|
initial_usd=10000
|
|
)
|
|
|
|
# Run single strategy
|
|
strategy = MetaTrendStrategy("metatrend")
|
|
backtester = IncBacktester(config)
|
|
results = backtester.run_single_strategy(strategy)
|
|
|
|
# Parameter optimization
|
|
param_grid = {"timeframe": ["5min", "15min", "30min"]}
|
|
results = backtester.optimize_parameters(MetaTrendStrategy, param_grid)
|
|
"""
|
|
|
|
from .backtester import IncBacktester
|
|
from .config import BacktestConfig, OptimizationConfig
|
|
from .utils import DataLoader, DataCache, SystemUtils, ResultsSaver
|
|
|
|
__all__ = [
|
|
"IncBacktester",
|
|
"BacktestConfig",
|
|
"OptimizationConfig",
|
|
"DataLoader",
|
|
"DataCache",
|
|
"SystemUtils",
|
|
"ResultsSaver",
|
|
] |