머니페니 f818bd3290 feat: add walk-forward analysis for backtests
- 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>
2026-03-18 22:33:41 +09:00

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",
]