hjhan
|
6f9aa5fb45
|
互换重收盘误删手动互换资金记录: 分析文档+TDD红灯测试
问题:重新收盘后用户手动互换产生的资金记录(ClientCashInCashOut,
Action=系统操作-互换)被误删。根因 ClearSwapPositions:400 按 Action
字符串模糊删除,而该 Action 手动/自动共用,表无来源字段区分。
引入点 commit 44e89726(2026-05-14)。
- 新增决策文档(根因/引入时间/三种修复方案/自测方法)
- 新增 SwapReEodDeleteManualCashRecordTest 4个测试(探查/诊断/录制红灯/离线校验)
- 录制 golden 坐实 bug: trade 1903 手动互换资金记录 id=13032 会被误删
|
2026-07-01 08:35:58 +08:00 |
|
tengyufan
|
b4ff5f9f10
|
feat(SwapTrade2): 新增交易默认值填充及日期限制放开
- 成交日期默认前一银行间交易日,放开上限
- 开始日期默认当前系统日期(跳过节假日),放开上限,下限绑定成交日期
- 到期日期保留StartDate+14天默认,下限取max(成交日期,开始日期)
- 交易场所默认"柜台市场"修复(created不再覆盖为空)
- 重置频率默认7(利息端/预付金端/浮动端)
- FR007利率准则默认前一营业日(-1)
- 成交日期变更时自动修正开始日期(+1)和到期日期(+14),跳过节假日
- 开始日期变更时自动修正到期日期(+14)
- 提交校验:开始日期≥成交日期,到期日期≥两者
|
2026-06-30 18:21:07 +08:00 |
|
lisong
|
7ceb875532
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine
|
2026-06-30 17:06:30 +08:00 |
|
lisong
|
19dbf94825
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-06-30 17:05:34 +08:00 |
|
尹峰
|
f53ef95222
|
修改风控规则操作权限
|
2026-06-30 16:56:14 +08:00 |
|
尹峰
|
5caad4d0ff
|
修改URL地址
|
2026-06-30 15:05:34 +08:00 |
|
张名锐
|
adb5473732
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-06-30 11:23:21 +08:00 |
|
lisong
|
e7fa48d82e
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine
|
2026-06-30 09:59:31 +08:00 |
|
尹峰
|
10b08f8f21
|
优化字段类型
|
2026-06-29 18:34:46 +08:00 |
|
尹峰
|
94da9748a2
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-06-29 18:10:13 +08:00 |
|
尹峰
|
d7c09c793a
|
fix(risk-engine): 修复多个风控引擎问题
- ScopeIsGlobal 类型由 bool 改为 int 以兼容前端传输 0/1
- 修复 QueryApplicationList 中 Status 投影 EF Core enum 转换失败
- 新增 Scope 字段查询支持(逗号分隔集合精确匹配)
- 新增变量列表 DataType 筛选
- 修复审计日志日期查询范围(EndDate 纳入整天数据)
- 统一 Application 审计日志 OperationType 前缀(APP_xxx)
- 审计日志 OperationDetail 枚举值映射为中文
|
2026-06-29 18:09:19 +08:00 |
|
ruisu
|
cc18bdafda
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-06-29 17:30:14 +08:00 |
|
ruisu
|
9777698a9a
|
feat:修改互换交易样式以支持展示新风控内容,将rule与application加载前移到系统启动时
|
2026-06-29 17:29:36 +08:00 |
|
张名锐
|
1f584302e6
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-06-29 16:51:50 +08:00 |
|
锦麟 王
|
cf2f8b6e9f
|
SwapCloseAmount分红重复计算
|
2026-06-29 16:39:02 +08:00 |
|
锦麟 王
|
1c45a54395
|
BugFix SwapCloseAmount计算位置太前,导致资金算了两遍
|
2026-06-29 16:38:34 +08:00 |
|
张名锐
|
c76c3aa218
|
fix(trade): 修复合同编号生成和追保区间计算逻辑
- 在合同编号前缀中添加FICC标识符
- 修复银行账户信息中支付系统号字段的赋值逻辑
- 修正追保区间计算公式,使用正确的差值参数替代维持保证金百分比
- 更新追保区间上下限的计算逻辑以确保正确的风险控制范围
|
2026-06-29 16:26:17 +08:00 |
|
锦麟 王
|
1e4ab52c1e
|
平仓总额计算规则调整
|
2026-06-29 15:54:07 +08:00 |
|
锦麟 王
|
3c5f25a5a0
|
BugFix FloatPnlSum展示的位数问题
|
2026-06-29 15:18:46 +08:00 |
|
锦麟 王
|
375ad46b6d
|
BugFix 平仓互换页面展示的盈亏不对
|
2026-06-29 15:02:37 +08:00 |
|
锦麟 王
|
87671fcece
|
BugFix 平仓互换平仓,导致页面的分红不对
|
2026-06-26 17:17:55 +08:00 |
|
尹峰
|
04c01f2f47
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-06-26 17:15:29 +08:00 |
|
尹峰
|
e8ef5be862
|
优化调整规则管理
|
2026-06-26 17:14:53 +08:00 |
|
ruisu
|
0c2a4b3afb
|
feat:打通前后端链路。老风控新风控映射:禁止=》Error,需审批=》RiskWarning(新状态,需二次确认,并记录日志),提示、通过=》Success(提示增加TIpMessage)
|
2026-06-26 17:01:21 +08:00 |
|
锦麟 王
|
d9fc5965d3
|
BugFix 系统中MarkCloseValue歧义部分修改
|
2026-06-26 16:06:13 +08:00 |
|
锦麟 王
|
652c0cedd8
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-06-26 14:13:01 +08:00 |
|
锦麟 王
|
33fd6f8d41
|
BugFix 收益互换调整分红方向
|
2026-06-26 14:12:54 +08:00 |
|
hjhan
|
5a731c4442
|
docs(swap): MarkClosePnl字段语义统一决策文档
修复ab70531f让MarkClosePnl不再含分红后,梳理出消费端3处PosiPnl公式
不一致(①不减分红/②③减分红,2024~2026分批引入),其中②③对新数据
会多减一份分红导致结算单/收益偏小。
给出3种改法权衡(修正公式/数据迁移/TotalClosePnl分离)+建议分阶段路径,
列出4个需团队决策的问题。含字段引用全景表便于实施定位。
|
2026-06-26 13:41:32 +08:00 |
|
锦麟 王
|
54e8c5cfca
|
BugFix 错误函数
|
2026-06-26 11:12:32 +08:00 |
|
锦麟 王
|
e484b35415
|
consumedDividend保持和totalInterest同向
|
2026-06-26 11:10:53 +08:00 |
|
锦麟 王
|
ab70531f17
|
MarkClosePnl 不要重复计算分红
|
2026-06-26 11:03:22 +08:00 |
|
hjhan
|
ee1e8487d7
|
docs(swap): 排查SQL新增第2.5步-分红重复计算完整证明
4段查询还原证据链(含事件/价格/费用/付息明细):
段1事件拆解 MarkClosePnl=价差+费+分红;段2 EOD逐日盯市vs分红列;
段3累计对照;段4一句话结论。已连库实测:1875重复302400、1891重复-18.66。
修正段1列名: PosiNetPrice/PosiGrossPrice 在swap_flow_event是[NotMapped]
不入库,改用 TradingAmountNetAvg/TradingAmountNetFeeAvg。
|
2026-06-26 09:55:19 +08:00 |
|
锦麟 王
|
dd305444dd
|
自动分红的不要清除掉当日分红
|
2026-06-26 09:49:34 +08:00 |
|
嬴政 时
|
3eb2d0432b
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-06-26 09:27:58 +08:00 |
|
嬴政 时
|
1385fe43ef
|
确认书模板增加营业厅"内"描述
|
2026-06-26 09:27:50 +08:00 |
|
hjhan
|
029475ce8d
|
test(swap): 新增互换分红重复计算录制测试+排查SQL(TDD红灯)
分红被重复计入 RealizedPnl 两次的根因:互换/平仓事件的 MarkClosePnl
已含分红成分(DividendIn),导致分红既进 RealizedMtmPnL(盯市列) 又进
RealizedDividend(分红列)。本次提供数据证据与回归基线:
- SwapDividendGoldenRecordTest: 连库录制1875(纯分红型)/1891(混合型)
5表快照→JSON golden,录制时逐事件拆解 MarkClosePnl=价差+费+分红,
按 PositionId 汇总出重复计入的分红金额。Step2 离线校验已通过。
诊断结论:1875 重复302400,1891 重复-18.66,均与 eod 分红列吻合。
- golden JSON 纳入源码树(全量复制规则),修复后可作回归基线。
- 排查SQL工具箱: 基于真实DDL核对全部列名(swap_flow_event.EventDate/
bond_payment_info.paying_interest 等),含定位样本/导出/验证/守恒4步。
- appsettings.json 测试库 zszq→glms 前缀修正。
详见 项目文档/互换分红损益字段语义与重复计算分析.md(9e6af84e)。
|
2026-06-26 09:13:37 +08:00 |
|
hjhan
|
9e6af84e47
|
新增文档:互换分红损益字段语义与重复计算分析
分析互换分红/付息损益核算链路中的字段语义混乱与分红重复计算问题,
用真实交易数据佐证,供团队对齐字段语义、确定修复方案:
- 核心结论:MarkClosePnl含分红(价差+费+DividendIn),而DividendIn又
单独存同一笔分红,导致汇总时分红算2次(确定,非2~3次)
- 字段三层分类:客观源头/一次计算/入库字段,理清哪些是录入哪些是计算
- totalInterest链路:payment_interest→求和→×0.01→增值税调整→DividendIn
- MarkClosePnl含分红的四场景对照(手动互换/平仓、自动互换/平仓)
- 真实数据佐证:6笔交易(含EventType=3/4)显示差值=0且价差=0
- 重复次数确定2次:两个层级各自独立计算,非叠加3次
- 演进过程(f9d8a256→2140a97f,用hash+日期)
- 修复方向A(治本:MarkClosePnl不含分红)/B(保守:改汇总公式)
- 附录A:验证SQL(重复检验/守恒检验)
- 附录B:精确文件:类:行号索引
- 附录C:calcFloatClosePnl两处不一致技术债(floatRatio/longRatio)
- 附录D:测试策略(记录golden source分支refactor-swap-event-testable)
|
2026-06-26 07:33:36 +08:00 |
|
尹峰
|
3bf90e25ef
|
refactor(risk-engine): ConditionJson 改为 RuleCondition 数组格式,精简 DTO 命名
- 重命名 FormulaCondition → RuleCondition,删除 FormulaDefinition
- ValidateConditionJson 直接反序列化为 List<RuleCondition>,移除 LogicOperator 校验
- 新增 RiskRuleSimpleItem DTO
- 同步更新建表注释与种子数据
|
2026-06-25 20:44:30 +08:00 |
|
锦麟 王
|
09f256d3c3
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-06-25 20:35:01 +08:00 |
|
锦麟 王
|
1c9b28ff0d
|
互换审核时对持仓sotckeqvnotional不要调整
|
2026-06-25 20:34:53 +08:00 |
|
tengyufan
|
ff69c9b6e2
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-06-25 20:00:25 +08:00 |
|
tengyufan
|
7f6bdde521
|
fix: DV01汇总及合计功能,优化格式化配置
1. YLErpDAL/Modules/RiskModule/QuotaMonitorService.cs
- 日终版本(QueryEodGlobalFromCalc)恢复互换行DV限额取值
2. YLErpDAL/Modules/SwapModule/SwapEodPositionService.cs
- SaveEodSwap / UpdateEodSwap 补充 eod_Swap.dv01 汇总
- SearchEodSwapList 新增DV合计,返回至前端footer
3. YLErpWeb/wwwroot/Scripts/app/swaptrade/EodPositionRisks.js
- 框架合约tab启用footerrow,展示DV合计
- 框架合约DV列formatter改为4位小数
|
2026-06-25 20:00:18 +08:00 |
|
锦麟 王
|
6662ae7e7e
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-06-25 19:44:10 +08:00 |
|
锦麟 王
|
2140a97f53
|
BugFix 到期分红的,已实现和互动的修改
|
2026-06-25 19:44:00 +08:00 |
|
hjhan
|
697c7babf2
|
新增文档:互换交易价格字段存储与显示规范
汇总互换价格显示Bug排查结论,供后续维护参考:
- 核心规则:债券类入库相对价(÷100)、展示×100;非债券类原样
- ÷100机制:由FastVue.parseNumber实现(percent:true时number/100)
- 关键字段映射:swap_position/swap_flow_event/eod_swap_position
(标注TradingAmountNetAvg名像期末实装期初、PosiGrossPrice在
event表为NotMapped等易混点)
- 互换事件生成路径:手动/自动互换-分红型/利息端
- 已修复Bug与教训(4个)
- 附录A:排查工具箱SQL(5个,期初持仓/事件入库值/分红数据源/
中债估值/脏数据修复)
- 附录B:字段命名与数据流向速查表
|
2026-06-25 19:15:54 +08:00 |
|
hjhan
|
818619bc70
|
补充DV01计算工具的注释:明确输出单位为万元及入参单位
Dv01Helper.CalcDv01 与业界标准一致,但输出单位是万元而非元,且
PosiQuantity须为元面值单位。原注释未说明这些口径,易导致误读。
补充:
- 类注释:写明公式等价业界标准DV01(元)/10000,输出万元
- posiQuantity入参:标注须为元面值单位
- vobp入参:标注为每100元面值1bp的价格变动
- 返回值:标注单位为万元
- 券面总额计算行:标注交易数量单位为元面值
仅注释改动,不改逻辑。
|
2026-06-25 19:15:27 +08:00 |
|
hjhan
|
0ab6091962
|
修复分红型自动互换在互换Tab显示期初/期末价未×100及期初净价为0
DealDividends生成分红型自动互换事件时,漏赋了UnderlyingInstrumentType和
TradingAmountNetAvg两个字段,导致互换Tab(TradeView)显示异常:
1. UnderlyingInstrumentType缺失:TradeView第654行IsBond判断为false,
multiplier=1,走了非债券分支(不×100),使期初/期末价显示为相对价(1.00)
而非百分比(100%)。补赋eodPosi.UnderlyingInstrumentType后,
与手动互换一致走债券分支(×100)。
2. TradingAmountNetAvg缺失:TradeView第993行显示期初净价取该字段,
缺失导致显示0。补赋eodPosi.PosiNetNoFeePrice修复。
入库的TradingAmountAvg(相对价)本来就正确,仅显示层判断缺字段。
仅改动DealDividends,不影响平仓/手动互换/显示层逻辑。
|
2026-06-25 18:09:50 +08:00 |
|
锦麟 王
|
90b6692222
|
#EQD-6290 日终持仓风险-互换持仓价值和已实现盈亏不正确 ; 未实现的分红到期时未去掉
|
2026-06-25 17:55:41 +08:00 |
|
ruisu
|
32b7de93e2
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-06-25 17:26:48 +08:00 |
|
ruisu
|
7747d26ed0
|
支持从数据库读取rule与application,进行匹配校验,以及拼接返回值
|
2026-06-25 17:25:47 +08:00 |
|