Vasily.onl c9ae507bb7 Implement Incremental Trading Framework
- Introduced a comprehensive framework for incremental trading strategies, including modules for strategy execution, backtesting, and data processing.
- Added key components such as `IncTrader`, `IncBacktester`, and various trading strategies (e.g., `MetaTrendStrategy`, `BBRSStrategy`, `RandomStrategy`) to facilitate real-time trading and backtesting.
- Implemented a robust backtesting framework with configuration management, parallel execution, and result analysis capabilities.
- Developed an incremental indicators framework to support real-time data processing with constant memory usage.
- Enhanced documentation to provide clear usage examples and architecture overview, ensuring maintainability and ease of understanding for future development.
- Ensured compatibility with existing strategies and maintained a focus on performance and scalability throughout the implementation.
2025-05-28 16:29:48 +08:00

48 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, SystemUtils, ResultsSaver
__all__ = [
"IncBacktester",
"BacktestConfig",
"OptimizationConfig",
"DataLoader",
"SystemUtils",
"ResultsSaver",
]