Quant: Walk-forward eval framework

t-715·WorkTask·
·
·
Created1 month ago·Updated1 week ago·pipeline runs →

Description

Edit

Walk-forward IC measurement + portfolio backtest harness.

Files: Omni/Fund/Quant/Eval.hs, Omni/Fund/Quant/Test.hs

Deliverables:

Eval types:

  • SignalEval — IC, IC std, ICIR, hit rate, t-stat, decay curve
  • PortfolioEval — total return, annualized, Sharpe, max drawdown, Calmar
  • EvalConfig — universe, train/test split, rebalance freq, horizons, min thresholds

Core functions:

  • spearmanCorrelation :: [Double] -> [Double] -> Double
  • evalSignalIC :: EvalConfig -> SignalFn -> Map Text [DailyBar] -> SignalEval
  • signalPasses :: EvalConfig -> SignalEval -> Bool
  • evalPortfolio :: EvalConfig -> SignalFn -> Map Text [DailyBar] -> (PortfolioEval, PortfolioEval) — strategy vs equal-weight
  • maxDrawdown :: [Double] -> Double
  • runEvalSuite :: EvalConfig -> IO () — full eval runner with pass/fail output

Default config: Train 2020-2023, test 2024-2025, weekly rebalance, IC > 0.02, t > 2.0.

Test.hs: Property tests for Spearman correlation, golden tests for momentum IC on synthetic data, integration test loading cached market data and running full eval.

This is the gate — if eval doesn't pass, nothing proceeds to Phase 2.

Timeline (7)

💬[human]1 month ago

Part of epic t-709 (Quant Phase 1)

🔄[human]Open → InProgress1 month ago
🔄[human]InProgress → Review1 month ago
💬[human]1 week ago

Ava verified: implementation present in live tree (file/feature confirmed via inspection). Moving to Verified.

🔄[human]Review → Verified1 week ago