- Add WalkForwardResult model with train/test window metrics
- Create WalkForwardEngine that reuses existing BacktestEngine
with rolling train/test window splits
- Add POST/GET /api/backtest/{id}/walkforward endpoints
- Add Walk-forward tab to backtest detail page with parameter
controls, cumulative return chart, and window results table
- Add Alembic migration for walkforward_results table
- Add 8 unit tests for window generation logic (100 total passed)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
874 B
Python
24 lines
874 B
Python
from app.services.backtest.engine import BacktestEngine, DataValidationResult
|
|
from app.services.backtest.portfolio import VirtualPortfolio, Transaction, HoldingInfo
|
|
from app.services.backtest.metrics import MetricsCalculator, BacktestMetrics
|
|
from app.services.backtest.worker import submit_backtest, get_executor_status
|
|
from app.services.backtest.daily_engine import DailyBacktestEngine
|
|
from app.services.backtest.trading_portfolio import TradingPortfolio, TradingTransaction
|
|
from app.services.backtest.walkforward_engine import WalkForwardEngine
|
|
|
|
__all__ = [
|
|
"BacktestEngine",
|
|
"DataValidationResult",
|
|
"VirtualPortfolio",
|
|
"Transaction",
|
|
"HoldingInfo",
|
|
"MetricsCalculator",
|
|
"BacktestMetrics",
|
|
"submit_backtest",
|
|
"get_executor_status",
|
|
"DailyBacktestEngine",
|
|
"TradingPortfolio",
|
|
"TradingTransaction",
|
|
"WalkForwardEngine",
|
|
]
|