尹峰
|
5ee510aa35
|
增加vega(1bp)希腊值
|
2026-08-20 14:15:12 +08:00 |
|
尹峰
|
30b3007307
|
!24 !23 feature/p132_74-risk-engine 风控引擎二期
Merge pull request !24 from glms/feature/1.4.2
|
2026-08-11 09:41:36 +00:00 |
|
lisong
|
d492f45d60
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-08-07 09:43:30 +08:00 |
|
lisong
|
917f3c3faf
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine
|
2026-08-07 09:34:53 +08:00 |
|
lisong
|
38573596a9
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-08-07 09:34:46 +08:00 |
|
lisong
|
1a062c5ee6
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-08-07 09:29:48 +08:00 |
|
lisong
|
ae0e2a350d
|
Merge branch 'glms/feature/1.4.2' of http://git.yiliantech.com/gitlab/otc-dev/zszq-trs into glms/feature/1.4.2
|
2026-08-07 09:29:34 +08:00 |
|
hjhan
|
1bf517188c
|
fix(swap): 待结算分红收益(DividendPending)改用 EOD 全量口径,修复 e3c473ba 的硬0回归
e3c473ba 把前端 DividendPending 硬编码 0,对 GLMS-20260105-0004(PosiDividendSum 恰好=0)
测试通过、掩盖问题。但对 PosiDividendSum≠0 的部分平仓交易,硬0 会落库
(SwapFlowEventService:588 冲账取负写入 swap_flow_event.DividendPending)并在事件列表
"待结算分红收益"列显示错误的 0——是确定的回归。
口径论证(代码证据,非拍板):DividendPending(待结算存量) ↔ EOD PosiDividendSum(未实现),
字段名、递推公式(SwapEodPositionService:1825 已扣当日实现)、列标签(SwapflowList:561)、
旧前端意图(posiQty×totalInterest 想表达"平仓后剩余")四处同指全量口径。是存量非流量,
不按本次平仓比例分摊。
改动:
- SwapDealService.InitUnwind:GetPreEodDividendSum 返回值取一次,同时喂 DividendIn 与
DividendPending(避免重复查库);GetPreEodDividendSum 注释补口径论证+历史教训(防后人改回硬0/分摊)
- 前端 unwindSwapTrade.js:删除 DividendPending=0 硬写,保持后端值不动
- 前端 incomeSwapTrade.js:DividendPending 保持 0(互换=全量结清,结清后待结算归0),
注释说明与平仓页口径差异
- 测试补非0场景:GLMS-20260706-0004(PosiDividendSum=-150,000)验证返回非0真实值,
直接针对"硬0被0掩盖"盲区,防止该回归复现
全量构建 0 错误,4 个分红测试全绿(含 0 场景、互换页、无EOD防御、非0场景)。
|
2026-08-07 09:28:18 +08:00 |
|
hjhan
|
aaeb4bddf8
|
docs(swap): 新增互换 MarkClosePnl 口径一致性审计与空头回归红测试(不改生产代码)
- 项目文档/互换计算口径一致性_残留问题与治理路线.md:定义 BUG 本质(分散计算/字段重叠/硬编码精度),
定位 income 页缺 longRatio 导致空头符号相反的残留点,并给出如何确认 income 错/unwind 对 的裁决链与改动安全性论证。
- YLErpWeb/fe-tests/_proof_short_income.js:纯 Node 红测试原型,证明多头两页一致(掩盖)、空头符号相反、补 longRatio 后一致。
- YLErpWeb/fe-tests/markClosePnlShortConsistency.test.js:jest 格式红测试(与 parity.test.js 同风格),作为后续修复的回归护栏。
说明:仅审计与测试资产,本次未修改任何生产代码(前端页面/后端 C# 均未改动)。
|
2026-08-06 22:00:44 +08:00 |
|
张名锐
|
01d7f0c55e
|
fix(swap): 修复部分平仓计息计算中的尾差处理问题
- 修正了部分平仓后待实现利息收入的预期值从 0.006383561644 到 -0.010438356164
- 修正了预期待实现利息值从 0.820569301369 到 0.410474008219
- 在 SwapDealService 中添加了已完成平仓事件的查询逻辑,排除已平仓头寸的本金计算
- 重构了 SwapEodPositionService 中的待结算利息计算逻辑,区分自动互换和平仓场景
- 在测试类中添加了已完成流程事件的查找方法和相关测试数据
- 更新了测试用例以验证平仓事件对利息计算的影响
|
2026-08-06 21:35:13 +08:00 |
|
hjhan
|
e3c473bafd
|
fix(swap): 分红前部分平仓过的交易,后续平仓/互换分红收益改由 EOD 单一可信源提供
问题:GLMS-20260105-0004 在 2/28 部分平仓 40%、3/2 登记日互换后,3/3 继续平仓/互换时
"浮动端平仓盈亏·分红"误显 -36,160(应为 0)。根因:前端 getDivindIn 用期初全额持仓
×totalInterest 重算分红(-90,400),扣除 consumedDividend(-54,240) 后余 -36,160,
恰为已平仓 40%(登记日前已不持有、不享有该笔分红)部分被重复计入。
方案C:分红收益改由后端读上一收盘日 eod_swap_position.PosiDividendSum 提供(单一可信源),
前端不再自算。EOD 的 PosiDividendSum 已按"实际持仓递推 + 当日实现扣除"准确算出待实现分红,
3/2 互换后为 0。因手动平仓/互换后端不重算 DividendIn、直接落库前端值,后端 Init 阶段给出
正确值可同时修正展示与落库。
改动:
- SwapDealService 新增 GetPreEodDividendSum(复用 GetUnwindInterests:624 的上一 EOD 日期推导
+ SwapEodPositionService.GetPreEodPositions),protected virtual 便于测试覆写、无 EOD 返回 0
- InitUnwind/InitIncome 的 floatEvent.DividendIn 从硬编码 0 改为 GetPreEodDividendSum 返回值
- unwindSwapTrade.js/incomeSwapTrade.js getDivindIn 删除 GetBondPayMentInterest 调用与全部自算,
保留后端 DividendIn 值、DividendPending=0
- GetBondPayMentInterest 加废弃文档注释(保留接口供历史调用,consumedDividend 无日期过滤隐患随废弃消解)
测试:GLMS20260105PartialCloseDividendBugTest 连真实库验收——3/3 平仓/互换 DividendIn=0(修复前
-36,160)、无 EOD 防御返回 0。全量构建 0 错误。
|
2026-08-06 19:09:45 +08:00 |
|
张名锐
|
68c3e63c16
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-08-06 18:39:55 +08:00 |
|
张名锐
|
c425594833
|
feat(swap): 实现预付金模式下部分平仓的待实现收益计算
- 添加DI_MANUAL_PREPAY_PARTIAL_CLOSE_UsesHistoryPlusRemainingDailyInterest测试方法
- 验证预付金部分平仓待实现收益为历史待实现加平仓后当日新增减平仓实现
- 修改ExecuteSaveAutoEodWithCloseInterestPosition方法中待实现收益计算逻辑
- 新增useAccrualBalance标识判断是否使用应计余额计算方式
- 对于预付金模式使用历史待实现收益加当日新增减平仓实现的方式计算
|
2026-08-06 18:39:20 +08:00 |
|
tengyufan
|
02eb592399
|
fix: 限制互换展期新到期日不得早于原到期日
|
2026-08-06 17:45:43 +08:00 |
|
张名锐
|
40b4e2e697
|
feat(input): 数字输入整数位数限制功能
- 在 fastVue.base.js 中实现整数位数配置选项 integerDigits
- 添加 checkIntegerDigitsInput 函数验证整数位数输入限制
- 实现 limitIntegerDigits 函数控制数值字符串中的整数位数
- 在键盘处理和粘贴事件中集成整数位数限制逻辑
- 更新掉期交易价格精度配置支持 quantityIntegerDigits 选项
- 扩展精度辅助函数支持整数位数配置和验证规则
- 添加完整的单元测试覆盖整数位数限制功能
|
2026-08-06 16:30:59 +08:00 |
|
马冰冰
|
9f6224f44e
|
Merge branch 'glms/feature/1.4.2-0806' into glms/feature/1.4.2
|
2026-08-06 14:45:37 +08:00 |
|
马冰冰
|
15bf1a90ab
|
fix:手动互换不再产生应付预付金支出
|
2026-08-06 14:44:30 +08:00 |
|
张名锐
|
0f46cbba17
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-08-06 14:32:55 +08:00 |
|
张名锐
|
9ef45650c7
|
feat(swap): 实现预付金利息腿实时剩余本金计算功能
- 新增 ResolveInterestLegPositionsAsOf 方法处理预付金利息腿实时本金计算
- 添加 FindCompletedFlowEvents 方法查询已完成的现金流事件
- 在日终持仓服务中集成实时剩余本金计算逻辑
- 移除日终重复扣减预付金本金的逻辑
- 优化利息端估值计算方式
- 添加部分平仓后预付金日终按实时剩余本金计息的测试用例
- 增加平仓日预付金日终不得重复扣减实时剩余本金的验证
- 完善历史回放场景下的本金调整功能
|
2026-08-06 14:32:38 +08:00 |
|
hjhan
|
2dcd17f557
|
EQD-6967 fix(eod): 收盘缺失价检查按客户作用域收敛持仓分支
- EodCheckSettlePrice 抽出 public static QueryPositionUnderlyingCodes,
增加 clienIds 过滤:client-scoped 收盘不再把其他客户/系统级(ClientId=0)
持仓标的纳入"检查标的结算价格缺失"。
- clienIds==null(系统级全结算)时短路为 true,零回归。
- class 改 public 便于单测。
- 新增 EodCheckSettlePriceClientScopeTest 确定性回归测试(红绿双段验证)。
- 代码补充 EQD-6967 防御行为详细注释(仅聚焦客户作用域收敛)。
- 防御范围说明:场内 exchange_trade 无 ClientId 列,场内分支噪声需靠结算模式选
'场外交易'(IsSettleExchangeTrades=false)规避,本提交不覆盖该分支。
|
2026-08-06 13:56:31 +08:00 |
|
张名锐
|
6bbe9b1c13
|
fix(swap): 解决互换交易全额平仓计算和判定问题
- 在前端计算函数中添加全额平仓时返回剩余数量的逻辑
- 添加针对 trade2308 问题的单元测试验证全额平仓场景
- 实现后端全额平仓请求标准化处理方法 NormalizeFullCloseRequest
- 添加重新计算标准化平仓金额的方法 RecalculateNormalizedUnwindAmounts
- 实现平仓后是否全额关闭的判定逻辑 IsFullCloseAfterDeduction
- 在平仓流程中集成全额平仓标准化处理和金额重新计算
- 更新平仓后交易状态和剩余金额数量的处理逻辑
- 完善审批流程中的平仓数据标准化和流动事件处理
- 优化持仓扣减时全额平仓的处理逻辑
- 添加多个单元测试验证各种全额平仓场景的正确性
|
2026-08-06 13:24:41 +08:00 |
|
尹峰
|
7255c0c3df
|
!25 feat: ai code review fix
Merge pull request !25 from feature/p132_74-risk-engine
|
2026-08-06 05:13:15 +00:00 |
|
尹峰
|
f256a623df
|
feat: create_eod_bond_lending_rate_table.sql
|
2026-08-06 13:10:05 +08:00 |
|
尹峰
|
68b21f2c98
|
feat: ai code review fix
|
2026-08-06 13:09:27 +08:00 |
|
张名锐
|
c7900adca1
|
Merge remote-tracking branch 'origin/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-08-06 12:41:44 +08:00 |
|
张名锐
|
5b7f17727d
|
refactor(swaptrade): 优化互换交易中的数量和金额格式化功能
- 引入UnderlyingInstrumentType字段用于精确控制格式化规则
- 添加quantityPrecision配置支持不同产品类型的数量精度设置
- 实现formatAmount和formatQuantity方法提供统一格式化接口
- 更新视图模板使用新的格式化方法替代直接数据绑定
- 重构swapPricePrecisionHelper.js支持按产品类型定制格式化规则
- 移除废弃的inputFormatTradeAmount等旧格式化配置
- 添加千分位分组显示功能提升数字可读性
|
2026-08-06 12:41:30 +08:00 |
|
tengyufan
|
b0b04dbdea
|
fix: 修复交易审批期初标的价格取值
|
2026-08-06 11:29:54 +08:00 |
|
hjhan
|
c1c2ed9dda
|
EQD-6979 TRS合约数据实时推送
|
2026-08-06 10:58:44 +08:00 |
|
yexuzhong
|
9d43616272
|
字段大小写
|
2026-08-06 10:18:03 +08:00 |
|
张名锐
|
db5dcaf149
|
refactor(swaptrade): 替换硬编码精度配置为统一的精度管理工具
- 使用 swapPricePrecision 工具替代原有的 otcformat 精度设置
- 在多个页面文件中引入 swapPricePrecision 相关脚本
- 将原有的固定精度配置替换为动态精度获取方法
- 统一金额、数量、利率等字段的格式化处理逻辑
- 优化数据格式化函数,提高数值显示的一致性和准确性
- 移除冗余的硬编码精度参数,简化代码维护复杂度
|
2026-08-06 09:56:13 +08:00 |
|
tengyufan
|
46316c1400
|
fix: 恢复互换平仓交易费用按基础费率计算
|
2026-08-05 18:26:15 +08:00 |
|
lisong
|
60807dae71
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into glms/feature/1.4.2
|
2026-08-05 18:04:46 +08:00 |
|
张名锐
|
d5837f2de8
|
fix(swaptrade): 修复平仓比例显示精度问题
- 调整平仓比例显示精度为4位小数
- 修改掉期利率输入格式配置,设置精度为4并保留尾随零
- 确保数值显示的一致性和准确性
|
2026-08-05 17:52:51 +08:00 |
|
lisong
|
36877744fa
|
Merge remote-tracking branch 'dest/glms/feature/1.4.2' into feature/p132_74-risk-engine
|
2026-08-05 17:28:20 +08:00 |
|
lisong
|
a889925440
|
Merge branch 'feature/p132_74-risk-engine' of https://gitee.glmszq.com/gsty/onederiv/trs into feature/p132_74-risk-engine
|
2026-08-05 17:27:15 +08:00 |
|
ruisu
|
cfd5efd3d3
|
feat:优化风控引擎运行时,变量表的读取
|
2026-08-05 17:19:50 +08:00 |
|
ruisu
|
f0ed2058bf
|
feat:更新规则14,字段不再乘以100
|
2026-08-05 16:45:27 +08:00 |
|
ruisu
|
c771496ecd
|
feat:优化日历缓存,采用ConditionalWeakTable。
|
2026-08-05 16:35:40 +08:00 |
|
tengyufan
|
864a29d6a8
|
#EQD-6605 国联民生-确认书编号规则调整(不基于甲方乙方判定)
feat: 国联民生收益互换按簿记分类生成交易编号
簿记账户新增“簿记分类”字段,支持代客、融券,新增账户默认代客,历史账户统一初始化为代客
簿记账户分类设为必填,列表、编辑及详情页面同步展示
修改已被交易引用的簿记账户分类时增加二次确认,并提示关联交易数量
国联民生收益互换交易编号不再根据甲乙方判断,改为根据簿记账户分类生成
代客使用数字序号,融券使用字母序号,分别从已有同客户同日编号的最大序号继续递增
保留手工交易编号优先逻辑,标准格式的手工编号参与后续最大序号计算
生成候选编号后检查完整交易编号是否已存在,存在则继续递增
新增簿记分类编号格式、最大序号计算及数字字母序列隔离专项单测
|
2026-08-05 15:55:01 +08:00 |
|
yexuzhong
|
74121a89ed
|
Gamma_r未计算出来,取值错误
|
2026-08-05 15:15:40 +08:00 |
|
ruisu
|
8fb3c4392c
|
feat:风控触发时显示应用ID、
新老风控组合校验:
老风控Error/Warning,新风控需审批——点击特批即两边都放行
老风控Error/Warning,新风控禁止——不展示
老风控Error/Warning——展示特批,且只特批老风控。
新增风控流程日志
|
2026-08-05 14:39:01 +08:00 |
|
ruisu
|
698662101b
|
fix:修复点击“修改”按钮后偶发前端报错的问题
|
2026-08-05 14:30:42 +08:00 |
|
ruisu
|
ada44e58e4
|
feat:删除标的利率函数库,通用性太低。
|
2026-08-05 14:27:23 +08:00 |
|
ruisu
|
845b05984c
|
feat:优化规则文本细节:保证金相关需遍历相关数据。其他规则需暴露tradeId
|
2026-08-05 14:26:34 +08:00 |
|
张名锐
|
e01c2812d9
|
Merge branch 'glms/feature/dotnumber' into 'glms/feature/1.4.2'
fix(swap-trade): 修正名义本金小数点精度
See merge request otc-dev/zszq-trs!10
|
2026-08-05 05:45:11 +00:00 |
|
张名锐
|
9affdf5d41
|
fix(swap-trade): 修正名义本金小数点精度
|
2026-08-05 13:44:17 +08:00 |
|
hjhan
|
41de2f6dd6
|
fix: 放宽 MaxModelBindingCollectionSize 至 1000000 修复互换观察日区间超限报错
|
2026-08-05 12:29:54 +08:00 |
|
张名锐
|
b3ba762838
|
Merge branch 'glms/feature/dotnumber' into 'glms/feature/1.4.2'
fix(swap): 修复平仓交易界面金额格式化问题
See merge request otc-dev/zszq-trs!8
|
2026-08-05 03:28:17 +00:00 |
|
张名锐
|
1458acc030
|
fix(swap): 修复平仓交易界面金额格式化问题
- 将展期界面的本金、利息、费用等字段格式化方法从inputFormatEqvNotional改为inputFormatCloseAmount
- 新增inputFormatCloseAmount格式化配置,设置精度为2位小数,支持负数显示,保留尾随零
- 统一展期界面各金额输入框的格式化规则,确保数据展示一致性
|
2026-08-05 11:27:37 +08:00 |
|
马冰冰
|
3b0021d79f
|
Merge branch 'glms/feature/1.4.2-0805' into glms/feature/1.4.2
|
2026-08-05 10:59:15 +08:00 |
|