(1) IBKR paper reports summary fields (cash/GrossPositionValue) inconsistent with actual positions (found: $141k/13% gap, fills+positions are ground truth). Bot now cross-checks NLV vs cash+position- market-value, WARNs on >2% gap, sizes on the CONSERVATIVE NLV (never inflates), and a gate refuses to trade if the gap exceeds MULTISTRAT_DATA_TOL (default 25%). (2) build() included today's INCOMPLETE intraday bar when run mid-session -> spiked vol estimate -> halved the leverage (1.0->0.5) -> would have sold half the book as churn at the 14:35 cron. Now drops today's partial bar; uses completed closes only (matches the daily-close backtest). Verified live: leverage back to 1.0, book recognized on-target (in_band), no spurious orders. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
11 KiB
11 KiB