hjhan
|
7cfa85a7cc
|
test(swap): EQD-6968 补前一营业日基准组合+算尾非重置日放行(方案一场景2/3落格)
- PrevBizDay_TailCalced×2:算尾(11)+rule=-1+当日(7/20)未发布 → 放行(取价日回拨至7/17已发布)
- PrevBizDay_NoTail:不算尾(10)+rule=-1+当日未发布 → 放行
- PrevBizDay_FixingDayMissing:rule=-1 但取价日(7/17)本身缺价 → 仍拦(真实依赖守卫)
- TailCalced_NonResetDay×2:算尾(11)+当日非重置日(7/22)+当日缺价 → 放行(非重置日不取当日价)
新增 Fr007MarketPrevBizDay 市场:重置日7/6、7/13、7/20 回拨取价日7/3、7/10、7/17
验证:GLMS20260817Fr007UnwindMorningTest 23/23 内存全绿
|
2026-08-19 09:28:27 +08:00 |
|
hjhan
|
f069c38d48
|
test(swap): EQD-6968 补算尾依赖守卫——重置日缺价仍拦+newCalcLast覆盖算尾仍拦
防'不算尾放宽'误扩到依赖场景(方案一场景4):
- Guard_TailCalced×2:算尾(11)+当日重置日+当日缺价 → 必须仍抛(复利/单利)
- Baseline_TailCalced:算尾+当日有价 → 成功(对照)
- Guard_NewCalcLast:交易10不算尾但本次平仓指定算尾 → effectiveCalcLast=true 仍拦
- Baseline_NewCalcLast:指定算尾+有价 → 成功
Run 运行器扩参:calcMode/interestRule/newCalcLast/market(本提交仅用 calcMode/newCalcLast)
验证:GLMS20260817Fr007UnwindMorningTest 17/17 内存全绿
|
2026-08-19 09:26:30 +08:00 |
|
 hjhanandClaude Opus 4.7
|
cb5ba86d85
|
EQD-6968: 不算尾缺价改沿用已有利率(删期初回退) + 取价决策FIX常驻日志
① GetFloatRate 不算尾缺价不再回退取期初定盘,改沿用已有利率
(preEod.FloatRate/position.FloatRate)——其返回值仅作 preEod.id==0 的种子
且会被分段首段强制取价覆盖,期初取价是无消费者的多余DB读且语义误导;
② BuildSegmentRates 等价重排为 if/else-if 结构,注释改"跳过取价/沿用"准确措辞
(行为不变:排除日有价仍取新利率,缺价沿用上一重置日利率);
③ 防历史bug"取错重置日利率"复发:GetFloatRate/ResolveFloatRate/BuildSegmentRates
三处取价决策经 SwapCalcTrace.Critical 常驻 Info 落盘——重置日判定、取价日
(interest_rule回拨)、命中/缺失、不算尾缺价沿用来源、排除日跳过全程可审计;
④ 测试真内存化:Stub 补 GetConsumedInterest=>0 override(复利路径原偷连96库,
与类注释"内存,不连库"矛盾);一致性断言措辞对齐新语义;
⑤ 修复 SwapDealService.cs 文件头双 BOM 损坏。
验证:GLMS20260817Fr007UnwindMorningTest 12/12 内存全绿;
邻近套件 67过/15败与改动前基线完全一致(15败均为沙箱无96库 Connect Timeout)。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-08-17 22:21:55 +08:00 |
|
hjhan
|
305f8a0322
|
EQD-6968: 补强 FR007 不算尾平仓误拦截回归套件(单利Red/数值一致性/非整倍数边界,重构为 Run 运行器)
|
2026-08-17 11:42:41 +08:00 |
|
hjhan
|
bc401bd687
|
EQD-6968: 不算尾计息不再因平仓日FR007未发布误拦平仓(缺价回退上一重置日利率,有价仍取新利率)
|
2026-08-17 11:22:37 +08:00 |
|