fix(swap): 修复部分平仓后跨日复利本金计算逻辑(算头算尾T+1复利合约)

- 修复了5/11 EOD跨日复利本金应保留剩余70%动态本金的计算
- 调整了calcLast=true时已平部分动态本金的处理逻辑
- 修正了部分平仓后剩余仓位跨日携带的本金缩放算法
- 添加了针对不同计算路径的本金比例调整机制
This commit is contained in:
张名锐
2026-08-08 18:09:31 +08:00
parent d3afa6d27c
commit 691054c57e
2 changed files with 12 additions and 5 deletions
@@ -1435,6 +1435,9 @@ namespace YLErp.Modules.SwapModule
"5/11 EOD 当日新增复利必须按平仓前全额本金计提");
AssertDecimal(196212.205105085126m, partialEod.InterestIncomeSum,
"5/11 EOD 应保留部分平仓后的待实现复利");
AssertDecimal(previousEod.TdInterestPrincipal * (1m - partialNotional / originalNotional),
partialEod.TdInterestPrincipal,
"5/11 EOD 跨日复利本金应保留剩余70%动态本金");
var intermediateInterest = dealService.GetInterests(
td, td.trade_extend, intermediateDate, intermediateDate,