mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 23:47:46 +00:00
78fb607dbe
Daily factors (e.g. daily_log_return) carried same-day close data at 00:00, giving the model end-of-day information at bar open — a classic look-ahead bias that produced spurious IC=0.25 and Sharpe=24 with 98% win rate. Changes: - factor_runner.py: add _shift_daily_constant_factor_if_needed() that detects factors where >90% of days have a single unique intraday value, then shifts them by 1 trading day before IC computation - prompts.yaml: add rule #7 instructing LLM to always shift(1) daily aggregates before forward-filling to minute bars Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>