\section{Problem Formalization} \label{sec:formalization} % TODO content notes: % - Define the backtest setting formally: price series P_t, signal S_t, % position p_t, and the honesty constraint p_t = f(P_{<=t}, S_{<=t}) only % (no access to P_{>t}). % - Define lookahead bias precisely: any computation where p_t depends, % directly or via a vectorized operation (e.g. shift(-1), rolling window % misaligned by one bar, future-looking groupby), on P_{>t}. % - Show the general shape of the bug class in vectorized code: a single % missing .shift(1) or an inclusive/exclusive boundary error in a rolling % window. Use abstract pseudocode here; the concrete K12 diff goes in % Section 4. % - State the falsifiability criterion that motivates Section 5: if a % strategy is profitable on data with zero true signal (pure GBM noise), % the profit must be an artifact of the backtest mechanics, not of the % strategy logic.