e522cab9a4
前后端session 2026-08-19巡检实锤(VPS shadow_47/48,8-18/8-19连续两日09:30): momentum _cal_buy_sign 取数失败被静默当成熊市信号,handle_data if not buy_sign 全部 清仓;有持仓时任何一次数据抖动=全仓卖出。 ①momentum/_ex: _cal_buy_sign→Optional[bool](取数异常/空panel→None,handle_data 据此跳过当日调仓保持仓);_cal_rps/_select_stocks/_stock_pool 吞异常改上抛,牛市 计算段统一捕获→跳过当日(不清仓);False只留给真实数据算出的熊市,空index_list 维持False(确定性配置态) ②small_cap/_ex(新发现,前后端记忆判'语义安全'系误判——8-18无交易只因空仓): _pick_stocks任一取数失败→[]→_rebalance空名单分支全清仓,与momentum同型事故; 改三态:None=数据失败跳过本次调仓(持仓不动),[]=合法空名单仍清仓(原策略语义), list=正常目标;_stock_pool/_cal_momentum_score同步Optional化 ③+7回归测试(取数失败零下单保持仓×4/直查None×2/合法空仍清仓守卫);portfolio 324绿, 全量889绿(4失败=Mac缺bullet_trade/vnpy环境性import,与本次无关)