feat: add strategy variant lab and signal context snapshots
Backtest report now includes research-only hold-to-horizon portfolio variants comparing raw vs residual 12-1 momentum, cutoff 80 vs 90, max 10 vs 15 positions, and SPY-200 risk scaling. A dynamic research recommendation panel flags residual momentum, cutoff 90, or regime scaling only when transparent promotion rules pass. Adds signal_context_snapshots with migration 016 and captures one point-in-time context row per newly generated TradeSetup: setup fields, composite/dimensions, latest sentiment, latest fundamentals, and strategy_version=momentum_12_1_rr_time_v1. This is forward-only; no historical sentiment/fundamental backfill is attempted. No live gate, paper-trade exit, or production ranking behavior changes. Verification: 458 backend tests pass, ruff check app/ clean, frontend npm run build clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -294,6 +294,11 @@ export interface BacktestRecommendation {
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface BacktestResearchRecommendation {
|
||||
items: { topic: string; text: string; candidate?: boolean }[];
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface BacktestPortfolioSim {
|
||||
params: {
|
||||
starting_capital: number;
|
||||
@@ -307,6 +312,21 @@ export interface BacktestPortfolioSim {
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface BacktestStrategyVariant extends BacktestPortfolioPolicy {
|
||||
variant: string;
|
||||
label: string;
|
||||
ranking: 'raw' | 'residual' | string;
|
||||
cutoff: number;
|
||||
max_positions: number;
|
||||
risk_per_trade_pct: number;
|
||||
risk_scale: string | null;
|
||||
}
|
||||
|
||||
export interface BacktestStrategyVariants {
|
||||
variants: BacktestStrategyVariant[];
|
||||
note?: string;
|
||||
}
|
||||
|
||||
export interface BacktestGateAblationRow extends BacktestBucket {
|
||||
variant: string;
|
||||
// The same variant graded under the hold-to-horizon time exit.
|
||||
@@ -347,7 +367,9 @@ export interface BacktestReport {
|
||||
gate_ablation_note?: string;
|
||||
time_exit_sweep?: BacktestTimeExitRow[];
|
||||
portfolio_sim?: BacktestPortfolioSim;
|
||||
strategy_variants?: BacktestStrategyVariants;
|
||||
recommendation?: BacktestRecommendation;
|
||||
research_recommendation?: BacktestResearchRecommendation;
|
||||
signal_eval?: BacktestSignalEvalRow[];
|
||||
signal_eval_note?: string;
|
||||
note: string;
|
||||
|
||||
Reference in New Issue
Block a user