根因1: _check_rebalance重复代码计分Bug - 问题: "CL=F,931862.CSI,931862.CSI"中短债只计一次得分 - 修复: 直接遍历持仓列表计算得分,而非遍历factor_cols做in判断 - 影响: 278天应防御时继续持有风险资产 根因2: 短债填充依赖阈值过滤 - 问题: 短债动量为负时(钱荒等)不填充防御仓位 - 修复: 无条件填充短债(防御机制不应依赖动量阈值) - 影响: 17天仓位不满(1/3或2/3空置) 修复后结果: - 净值: 292.56 → 334.46 (+14.4%) - 夏普: 1.33 → 1.41 (+0.08) - 持仓3只: 92.3% → 99.4% (满仓率提升) - 短债填充更积极: 28.7%时间持有短债