docs: 任务4 EOD续接风险分析 + SwapDealService方向比例收口
新增 docs/eod-continuation-proposal.md: - 记录4个风险(并本金起点/consumedInterest语义/resetCarry/全平重放) - 记录验证方案(6场景影子测试) - 标注待立项,不混入日常重构 SwapDealService 收尾: 3处内联方向比例→DirectionRatio.ReceivePay - line389: PosiDirection收取?-1:1 → -ReceivePay - line1104/1235: InterestDirection==1?1:-1 → ReceivePay SwapModule零回归(7基线/510通过)
This commit is contained in:
@@ -386,7 +386,7 @@ namespace YLErp.Modules.SwapModule
|
||||
floatEvent.PositionQty = 0;
|
||||
floatEvent.ContractSize = position.ContractSize;
|
||||
floatEvent.TradingAmount = floatEvent.Quantity * floatEvent.ContractSize;
|
||||
var ratio = position.PosiDirection == (int)SwapDirectionEnum.收取 ? -1m : 1m;
|
||||
var ratio = -DirectionRatio.ReceivePay(position.PosiDirection);
|
||||
floatEvent.TradingFeePending = CalcInitTradingFeePending(oriPosition, position, unwindData);
|
||||
floatEvent.DataState = (int)SwapFlowDateStateEnum.完成;
|
||||
floatEvent.InterestMode = position.InterestMode;
|
||||
@@ -1109,7 +1109,7 @@ namespace YLErp.Modules.SwapModule
|
||||
interest.InterestAmount = Math.Round(interestAmount, InterestCalculationPrecision, MidpointRounding.AwayFromZero);
|
||||
interest.TdInterestAmount = Math.Round(tdInterestAmount, InterestCalculationPrecision, MidpointRounding.AwayFromZero);
|
||||
// 计算InterestClosePnL(方向:收取=1为正,支付=-1为负)
|
||||
var interestRatio = position.InterestDirection == 1 ? 1m : -1m;
|
||||
var interestRatio = DirectionRatio.ReceivePay(position.InterestDirection);
|
||||
interest.InterestClosePnL = interest.InterestAmount * interestRatio;
|
||||
|
||||
if (add) UpdateDbOption(interest);
|
||||
@@ -1240,7 +1240,7 @@ namespace YLErp.Modules.SwapModule
|
||||
{
|
||||
decimal InterestAmount = 0;
|
||||
decimal TdInterestAmount = 0;
|
||||
var interestRatio = position.InterestDirection == 1 ? 1m : -1m;
|
||||
var interestRatio = DirectionRatio.ReceivePay(position.InterestDirection);
|
||||
var floateRate = preEodPosition.FloatRate;
|
||||
if (position.InterestType == (int)InterestTypeEnum.复利)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user