refactor(interest): 计息 trace 命名对齐业界最佳实践
- InterestTrace → AccrualTrace:追踪对象是"计息过程"而非泛指的 Interest,与仓库 既有的 SwapCalcTrace(-Trace 后缀约定) 及 AccrualContext/AccrualBoundary/AccrualPolicy 家族一致;AccrualTrace 经 SwapCalcTrace.Write 常驻落盘,二者职责分清(收集器 vs 落盘通道)。 - InterestStep → AccrualTraceEvent、InterestTraceEntry → AccrualTraceEntry: 条目类别对应 QuantLib/Strata 的"事件"概念(AccrualTraceEvent),命名自描述。 - SwapCalcTrace.Persist → Write:"Persist" 易误读为落库持久化;此处只是写入日志通道, 且类内已有私有 Record(string),故用 Write 避免歧义。 纯改名、数值逻辑零改动;YLErpDAL + UnitTestProject 编译 0 错。
This commit is contained in:
@@ -1593,7 +1593,7 @@ namespace YLErp.Modules.SwapModule
|
||||
annualDays: annualDays,
|
||||
isAnnualized: position.IsAnnualized);
|
||||
// 完整计息 trace:收集器由适配器创建,随后经 SwapCalcTrace 常驻落盘(关键路径日志,无条件)。
|
||||
var interestTrace = new InterestTrace();
|
||||
var interestTrace = new AccrualTrace();
|
||||
var result = FundingLegAccrual.AccrueSimpleEod(
|
||||
priorUnrealized: preEodPosition.InterestProfitSum,
|
||||
priorAccrualPrincipal: preEodPosition.TdInterestPrincipal,
|
||||
@@ -1606,7 +1606,7 @@ namespace YLErp.Modules.SwapModule
|
||||
trace: interestTrace);
|
||||
InterestAmount = result.Accrued;
|
||||
TdInterestAmount = result.AccruedToday;
|
||||
SwapCalcTrace.Persist(interestTrace);
|
||||
SwapCalcTrace.Write(interestTrace);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user