test(swap): GLMS-20260105-0007分红精度差异golden红灯(复现0.36差异)
用真实测试库数据录制golden,回放复现0.36精度差异: - 互换前 PosiDividendSum=-90400,互换支付-400 - 期望 PosiDividendSum=-90000,实际=-89999.64,差异0.36 - 回放断言失败(红灯坐实bug) 根因:UpdateEodPosition cs:1635从头重算PosiDividendSum (Round(全程,2)-已实现),与CopyEodPosition逐天递增 (每天Round(增量,2)累积)产生舍入误差。 录制方法Record_FromRealDB标[Ignore],手动跑生成golden。 回放方法Replay_VerifyPrecisionDiff进CI,当前红灯(期望=-90000,实际=-89999.64)。
This commit is contained in:
@@ -0,0 +1,394 @@
|
||||
{
|
||||
"TradeNumber": "GLMS-20260105-0007",
|
||||
"TradeId": 1924,
|
||||
"SwapDate": "2026-03-03",
|
||||
"Description": "分红精度差异:互换前-90400,互换后应为-90000,实际-89999.64",
|
||||
"KeyFloatEodPositions": [
|
||||
{
|
||||
"ValueDate": "2026-03-02",
|
||||
"PositionId": 35148,
|
||||
"PosiDividendSum": -90400.000000,
|
||||
"TdPosiDividend": -90400.000000,
|
||||
"TdCloseDividend": 0.0,
|
||||
"RealizedDividend": 0.0,
|
||||
"PosiQuantity": 50000000.000000,
|
||||
"PosiMtmPnL": -500000.000000
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-03",
|
||||
"PositionId": 35148,
|
||||
"PosiDividendSum": -89999.640000,
|
||||
"TdPosiDividend": 0.0,
|
||||
"TdCloseDividend": -400.000000,
|
||||
"RealizedDividend": -400.000000,
|
||||
"PosiQuantity": 50000000.000000,
|
||||
"PosiMtmPnL": -500000.000000
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-04",
|
||||
"PositionId": 35148,
|
||||
"PosiDividendSum": -89999.640000,
|
||||
"TdPosiDividend": 0.0,
|
||||
"TdCloseDividend": 0.0,
|
||||
"RealizedDividend": -400.000000,
|
||||
"PosiQuantity": 50000000.000000,
|
||||
"PosiMtmPnL": -500000.000000
|
||||
}
|
||||
],
|
||||
"AllFloatEodDividends": [
|
||||
{
|
||||
"ValueDate": "2026-01-05",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-06",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-07",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-08",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-09",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-10",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-11",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-12",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-13",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-14",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-15",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-16",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-17",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-18",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-19",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-20",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-21",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-22",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-23",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-24",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-25",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-26",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-27",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-28",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-29",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-30",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-01-31",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-01",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-02",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-03",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-04",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-05",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-06",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-07",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-08",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-09",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-10",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-11",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-12",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-13",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-14",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-15",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-16",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-17",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-18",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-19",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-20",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-21",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-22",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-23",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-24",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-25",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-26",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-27",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-02-28",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-01",
|
||||
"PosiDividendSum": 0.0,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-02",
|
||||
"PosiDividendSum": -90400.000000,
|
||||
"TdPosiDividend": -90400.000000,
|
||||
"RealizedDividend": 0.0
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-03",
|
||||
"PosiDividendSum": -89999.640000,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": -400.000000
|
||||
},
|
||||
{
|
||||
"ValueDate": "2026-03-04",
|
||||
"PosiDividendSum": -89999.640000,
|
||||
"TdPosiDividend": 0.0,
|
||||
"RealizedDividend": -400.000000
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user