fix(swap): 修复部分平仓计息计算中的尾差处理问题
- 修正了部分平仓后待实现利息收入的预期值从 0.006383561644 到 -0.010438356164 - 修正了预期待实现利息值从 0.820569301369 到 0.410474008219 - 在 SwapDealService 中添加了已完成平仓事件的查询逻辑,排除已平仓头寸的本金计算 - 重构了 SwapEodPositionService 中的待结算利息计算逻辑,区分自动互换和平仓场景 - 在测试类中添加了已完成流程事件的查找方法和相关测试数据 - 更新了测试用例以验证平仓事件对利息计算的影响
This commit is contained in:
@@ -713,7 +713,7 @@ namespace YLErp.Modules.SwapModule
|
||||
"部分平仓计算必须带入自动互换遗留的待实现尾差");
|
||||
Assert.AreEqual(position.id, service.LastInterestCalculationEodPosition.PositionId,
|
||||
"部分平仓计息必须按腿标识匹配上一日日终");
|
||||
AssertDecimal(0.006383561644m, firstCloseResult.InterestIncomeSum,
|
||||
AssertDecimal(-0.010438356164m, firstCloseResult.InterestIncomeSum,
|
||||
"部分平仓后待实现应延续历史尾差");
|
||||
AssertDecimal(0.02m, firstCloseResult.RealizedInterest,
|
||||
"部分平仓后累计已实现应包含此前自动互换和本次平仓");
|
||||
@@ -744,7 +744,7 @@ namespace YLErp.Modules.SwapModule
|
||||
const decimal rate = 0.0299m;
|
||||
const decimal pendingInterest = 0.820379534246m;
|
||||
const decimal settledInterest = 0.82m;
|
||||
const decimal expectedPendingInterest = 0.820569301369m;
|
||||
const decimal expectedPendingInterest = 0.410474008219m;
|
||||
var service = new StubEodPositionService();
|
||||
var td = CreateTrade();
|
||||
td.trade_extend.ExtendJson = JsonConvert.SerializeObject(new TradeExtendJson
|
||||
|
||||
Reference in New Issue
Block a user