Add PositionFeatures struct that extracts 3 features for RL agent position awareness (54→57 dim state vector): - unrealized_pnl: normalized by EMA volatility - bars_in_position: log-scaled to [0, 1] - cost_basis: relative to price in bps, clamped [-500, 500] 8 unit tests, 0 clippy warnings. Not yet wired into trainers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>