fix(swap): 互换结清后eod待实现利息正确扣减(SaveEodInterestPosition)
SaveEodInterestPosition(cs:834)原公式: InterestIncomeSum = pre + TdInterestIncome - TdCloseInterest 其中 TdInterestIncome = TdCloseInterest(互换日全程利息), 两者抵消导致 InterestIncomeSum=pre不变。 互换结清后待实现没归零,后续平仓默认值偏大。 修复:只改InterestIncomeSum公式为 pre - TdCloseInterest (前日待实现 - 当日实现 = 剩余待实现)。 TdInterestIncome保持原值不动(入库字段,影响报表)。 验证需重新收盘:修复改的是eod生成逻辑,已有eod不会自动变。
This commit is contained in:
@@ -831,7 +831,10 @@ namespace YLErp.Modules.SwapModule
|
||||
newEodPayPosition.TdCloseInterestFee = newEodPayPosition.TdInterestFee;
|
||||
//持仓内容-利息腿-损益统计(本方视角)
|
||||
newEodPayPosition.TdInterestIncome = newEodPayPosition.TdCloseInterest;
|
||||
newEodPayPosition.InterestIncomeSum = eodPayPosition.InterestIncomeSum + newEodPayPosition.TdInterestIncome - newEodPayPosition.TdCloseInterest;
|
||||
// 互换日待实现应扣减当日实现的全程利息(TdCloseInterest)。
|
||||
// 原公式 pre + TdInterestIncome - TdCloseInterest 中 TdInterestIncome==TdCloseInterest 会抵消,
|
||||
// 导致待实现不变(互换结清后没归零)。改为直接 pre - TdCloseInterest。
|
||||
newEodPayPosition.InterestIncomeSum = eodPayPosition.InterestIncomeSum - newEodPayPosition.TdCloseInterest;
|
||||
newEodPayPosition.InterestFeeSum = eodPayPosition.InterestFeeSum + newEodPayPosition.TdInterestFee - newEodPayPosition.TdCloseInterestFee;
|
||||
newEodPayPosition.InterestProfitSum = newEodPayPosition.InterestIncomeSum + newEodPayPosition.InterestFeeSum;
|
||||
//持仓价值
|
||||
|
||||
Reference in New Issue
Block a user