diff --git a/项目文档/双入口口径裁决-复利mode2部分平仓-20260816.md b/项目文档/双入口口径裁决-复利mode2部分平仓-20260816.md index c02c4529..fa86c888 100644 --- a/项目文档/双入口口径裁决-复利mode2部分平仓-20260816.md +++ b/项目文档/双入口口径裁决-复利mode2部分平仓-20260816.md @@ -17,8 +17,15 @@ | 盘中平仓试算 | **75,999.04 元** | 与契约公式一致(引擎实测,容差内) | | EOD 平仓后收盘(现结) | **251,355.08 元** | 平仓前全仓 5000万 截至上一日终待实现(250,508.61) + 平掉额末段增量(846.43) | -**一笔事件多结 175,356.04 元,结了应结金额的 3.3 倍**(多出部分 ≈ 剩余 3500 万份额对应的待实现利息, -在只平 30% 时被全额结走,且剩余 70% 持仓后续到期/全平时会**再结一次** → 双重结算敞口)。 +**重算事件金额是应结的 3.3 倍**(多出部分 ≈ 剩余 3500 万份额对应的待实现利息,在只平 30% 时被算进重算结果)。 + +> **资金面影响裁定(2026-08-16 代码级核查):资金没有多结,本分歧不动钱。** +> ①该 EOD 重算路径(autoSwap=false)无任何 AddClientCash 调用,客户资金只在盘中流程与 +> EOD 自动互换/分红路径发生,均用盘中正确数;②EOD 快照"当日结出"(TdCloseInterest)与 +> 累计已结(RealizedInterest)滚动用的都是盘中实落库金额(75,999),剩余持仓待实现(≈177,300) +> 亦为正确值。错误的 251,355 只存在于当晚重算写入的一条**利息流水记录**(swap_flow_event)。 +> 残余影响:该流水记录金额错误(事件列表如展示即错数)、未来任何消费此记录的代码会拿到错值、 +> 与 9 个真金白银炸过的生产 fix 同根因(percent≡1 语义漂移)。**修复性质:排雷,非止血。** ### 1.2 可复现实测锚点(玩具参数,字符化钉子) @@ -93,6 +100,7 @@ EOD 口径(全仓待实现 250,508.61 + 末段增量 846.43 = 251,355.08)**无 - 人工盘中部分平仓后的当晚归档(常见); - `SwapTradeAutoService` 自动归并部分平仓(反向流水量<持仓量)后的当晚归档。 -建议内网查:swap_flow_event 中 EventType=平仓 且当日 closePercent<1 的复利 mode2/9 交易, -取当日 EOD 归档利息事件 InterestAmount 与"平掉额×契约参考利率"重算值比对差值; -差值 ≈ 剩余持仓待实现利息即坐实(单笔量级参考 §1.1:5000万名义/30%平仓 ≈ 多结 17.5 万)。 +**资金面已裁定无影响(见 §1.1 引注)。** 内网查询目的降级为两条: +1. 确认无消费方在汇总这条重算流水记录(遍历取数处:报表/事件列表/对账脚本是否 + 按 SwapTradeId+EventDate 汇总 swap_flow_event.InterestAmount 且未过滤 EventId=0 的重算行); +2. 量化错误记录的存量规模(多少笔重算行金额≠契约重算值)——作为修复后的数据修正清单。