cleanup(accrual): 删除orginPv死参数(3个方法签名+所有调用点)
源码实证orginPv在5/6个CalcDaily方法中是死参数(方法体不读取): - CalcDailyCompoundInterest: 删 decimal orginPv(3个调用点同步删) - CalcDailyCompoundInterestByEod: 删(1个调用点+4个测试同步删) - CalcDailySimpleInterestByEod: 删(1个调用点+2个测试同步删) 保留orginPv的方法(真实消费者): - CalcDailySimpleInterest: 差分公式 posiPrincipal - orginPv - GetInterests/CalcUnwindInterest/InitSwapDealInterest: 转发链 SwapModule零回归(7基线/510通过)
This commit is contained in:
@@ -92,7 +92,7 @@ namespace UnitTestProject.Modules.SwapModule.Accrual
|
||||
decimal oldInterest = 0, oldTd = 0;
|
||||
var svc = new StubSvc();
|
||||
svc.CalcDailyCompoundInterestByEod(preEod, EodDate, TradeDate, position,
|
||||
Notional, Notional, flowEvent, AnnualDays, false, 0m, 1m, Notional,
|
||||
Notional, Notional, flowEvent, AnnualDays, false, 0m, 1m,
|
||||
ref oldInterest, ref oldTd);
|
||||
|
||||
// 新方法
|
||||
@@ -125,7 +125,7 @@ namespace UnitTestProject.Modules.SwapModule.Accrual
|
||||
decimal oldInterest = 0, oldTd = 0;
|
||||
var svc = new StubSvc();
|
||||
svc.CalcDailyCompoundInterestByEod(preEod, nonResetDate, TradeDate, position,
|
||||
Notional, Notional, flowEvent, AnnualDays, false, 0m, 1m, Notional,
|
||||
Notional, Notional, flowEvent, AnnualDays, false, 0m, 1m,
|
||||
ref oldInterest, ref oldTd);
|
||||
|
||||
// 新方法
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace UnitTestProject.Modules.SwapModule.Accrual
|
||||
decimal oldI = 0, oldTd = 0;
|
||||
var svc = new StubSvc();
|
||||
svc.CalcDailyCompoundInterest(EndDate, position, Notional, flowEvent,
|
||||
AnnualDays, false, 0m, 1m, Notional, true, false,
|
||||
AnnualDays, false, 0m, 1m, true, false,
|
||||
ref oldI, ref oldTd);
|
||||
|
||||
// 新方法:固定利率全段相同,分段点 = PosiStartDate + k×7
|
||||
@@ -122,7 +122,7 @@ namespace UnitTestProject.Modules.SwapModule.Accrual
|
||||
decimal oldI = 0, oldTd = 0;
|
||||
var svc = new StubSvc();
|
||||
svc.CalcDailyCompoundInterest(EndDate, position, Notional * closePct, flowEvent,
|
||||
AnnualDays, false, 0m, closePct, Notional, true, false,
|
||||
AnnualDays, false, 0m, closePct, true, false,
|
||||
ref oldI, ref oldTd, consumedInterest: consumed, resetCarryInterest: carry);
|
||||
|
||||
// 新方法
|
||||
@@ -166,7 +166,7 @@ namespace UnitTestProject.Modules.SwapModule.Accrual
|
||||
decimal oldI = 0, oldTd = 0;
|
||||
var svc = new StubSvc();
|
||||
svc.CalcDailyCompoundInterest(EndDate, position, Notional, flowEvent,
|
||||
AnnualDays, false, 0m, 1m, Notional, true, true,
|
||||
AnnualDays, false, 0m, 1m, true, true,
|
||||
ref oldI, ref oldTd);
|
||||
|
||||
// 新方法
|
||||
|
||||
@@ -509,7 +509,7 @@ namespace YLErp.Modules.SwapModule
|
||||
decimal tdInterestAmount = 0m;
|
||||
|
||||
service.CalcDailyCompoundInterestByEod(preEod, resetDate, startDate, position,
|
||||
principal, principal, flowEvent, AnnualDays, false, 0.013502m, 1m, principal,
|
||||
principal, principal, flowEvent, AnnualDays, false, 0.013502m, 1m,
|
||||
ref interestAmount, ref tdInterestAmount);
|
||||
|
||||
AssertDecimal(principal + pendingInterest, flowEvent.InterestPrincipal,
|
||||
|
||||
@@ -1725,14 +1725,14 @@ namespace YLErp.Modules.SwapModule
|
||||
decimal expectedTdAmountAtEnd = 0m;
|
||||
dealService.CalcDailyCompoundInterest(
|
||||
finalCloseDate, position, remainingNotional, expectedEndFlow, AnnualDays, false,
|
||||
intermediateEod.FloatRate, 1m, originalNotional, true, false,
|
||||
intermediateEod.FloatRate, 1m, true, false,
|
||||
ref expectedAmountAtEnd, ref expectedTdAmountAtEnd);
|
||||
var expectedPreviousFlow = new swap_flow_event { InterestRate = spread };
|
||||
decimal expectedAmountAtPreviousEod = 0m;
|
||||
decimal expectedTdAmountAtPreviousEod = 0m;
|
||||
dealService.CalcDailyCompoundInterest(
|
||||
intermediateDate, position, remainingNotional, expectedPreviousFlow, AnnualDays, false,
|
||||
intermediateEod.FloatRate, 1m, originalNotional, true, true,
|
||||
intermediateEod.FloatRate, 1m, true, true,
|
||||
ref expectedAmountAtPreviousEod, ref expectedTdAmountAtPreviousEod);
|
||||
var expectedFinalInterest = intermediateEod.InterestIncomeSum
|
||||
+ expectedAmountAtEnd - expectedAmountAtPreviousEod;
|
||||
|
||||
Reference in New Issue
Block a user