Risk Management Web Frontend
ODTS 73 — 风险管理前端(eds-rm-web):风险官每天看什么
为什么需要这篇文档
24-Risk-Management-Framework 讲了风险管理的概念和后台模型,16/61/64 讲了保证金、担保品、中央清算。但有一个真实存在、且风险官每天在用的系统,整个系列从没写过:
eds-rm-web —— 独立的风险管理 Web 前端。
它不是 new-edsweb(交易台用的簿记 UI),也不是 odts-option-web(期权交易 UI)。它是一个专门给风险官(risk officer)/ 中台用的系统,挂载着保证金管理、压力测试、第三方担保、对冲监控、风控规则配置等模块。一个 PM/BA 如果想知道”风险团队每天打开哪个系统、看哪几个页面、点什么按钮”,目前在任何文档里都找不到答案。
1. 它是什么
eds-rm-web/ — 独立 Vue 2 项目(和 new-edsweb 同级)
├── src/views/
│ ├── home/ — 首页/工作台
│ ├── login/ — 登录
│ ├── hedge-monitor/ — 对冲监控
│ │ └── scenario-manage.js — 情景管理
│ ├── margin-manage/ — 保证金管理
│ │ ├── control.js — 控制
│ │ ├── counterparty.js — 对手方
│ │ ├── rate.js — 比例/费率
│ │ ├── rules.js — 规则
│ │ ├── sbl.js — 证券借贷
│ │ ├── subscription-price.js— 认购价格
│ │ ├── ta-detail.js — 交易账户明细
│ │ ├── template.js — 模板
│ │ └── var.js — VaR
│ ├── risk-management/ — 风控管理
│ │ ├── margin-call.js — 保证金催缴
│ │ ├── margin-call-setting.js — 催缴设置
│ │ ├── margin-call-setting-customer.js — 客户级催缴设置
│ │ ├── margin-call-excuse.js — 催缴豁免
│ │ ├── margin-call-feedback.js — 催缴反馈
│ │ ├── margin-call-temp-excuse.js — 临时豁免
│ │ └── pre-margin-call*.js — 预催缴 / 预催缴监控
│ ├── stress-testing/ — 压力测试
│ │ └── new-testing-result.js
│ ├── thirdparty-guarantee/ — 第三方担保 / 担保品
│ │ └── index.js
│ └── welcome-page/
└── src/api/ — 与各后端的交互
├── risk-management/ margin-manage/ hedge-monitor/
├── thirdparty-guarantee/ counterparty/ underlying/ system/ core/
业务定位: 如果说 new-edsweb 是”交易台的生产工具”,eds-rm-web 就是”风险中台的控制面板”。两者用户群不同(交易员 vs 风险官)、发布节奏不同、关注的页面完全不同。
2. 五大模块分别干什么
模块一:保证金管理(margin-manage)
这不是”发催缴通知”(那是 risk-management 模块),而是保证金的计算与配置底座:
counterparty.js— 对手方维度的保证金视图rate.js— 保证金比例/费率配置rules.js— 保证金规则(和 72 的 RiskRule 引擎是不同的一层——这里是保证金计算规则,不是交易前置拦截)sbl.js— 证券借贷的保证金处理var.js— VaR 计算与展示ta-detail.js— 交易账户级明细
业务价值: 风险官在这里核”每个对手方、每个账户,现在押了多少保证金、比例对不对”。这是 16-Margin-Calls 的”数据源”一侧。
模块二:风控管理 / 保证金催缴(risk-management)
这是 16 文档里”追保通知”流程的操作界面:
margin-call.js— 发起/查看催缴margin-call-setting.js/margin-call-setting-customer.js— 催缴阈值设置(全局 + 客户级,呼应 32 文档”CSA Threshold 分对手方”的坑)margin-call-excuse.js/margin-call-temp-excuse.js— 豁免(客户申请不追保,或临时豁免)margin-call-feedback.js— 客户反馈pre-margin-call.js/pre-margin-call-monitor.js— 预催缴监控:在真正触发追保之前就预警”这个账户快到阈值了”
业务价值: 预催缴(pre-margin-call)是风控从”被动追保”转向”主动预警”的关键能力。风险官每天打开的第一个页面往往就是预催缴监控——它告诉你是哪几个账户今天需要重点盯。
模块三:压力测试(stress-testing)
new-testing-result.js 是压力测试结果的展示页。底层依赖 hedging-as 的压力测试计算(见 08 §5),这里只是把结果可视化——不同情景(如指数跌 20%、波动率翻倍)下组合的盈亏和保证金变化。
业务价值: 这是和压力测试报告、监管资本计算挂钩的页面。压力测试结果直接喂给资本充足率评估。
模块四:第三方担保 / 担保品(thirdparty-guarantee)
独立模块,管理”非现金担保品”或”第三方保证”——即客户不用现金、而是用债券、或者由第三方机构提供担保来覆盖保证金义务。这在 61-Collateral-Management 里属于担保品管理的一环,但这里有专门的操作 UI。
模块五:对冲监控(hedge-monitor)
scenario-manage.js 管理对冲情景。和 odts-option-web 里的 hedge-monitor 是同一类功能但不同的项目——这里挂在中台风控侧,用于监控对冲头寸与风险的偏差。
3. 它和别的系统的边界(别搞混)
| 系统 | 用户 | 看什么 | 文档 |
|---|---|---|---|
| new-edsweb | 交易台 | 簿记、确认、合约列表 | 10 / 33 |
| odts-option-web | 期权交易台 | 期权交易、对冲监控 | 41 |
| eds-rm-web | 风险官/中台 | 保证金、催缴、压力测试、担保、风控规则 | 本文 |
| eds-web-app | 后端 | (不直接用 UI) | 34 |
关键区别: 风险官不碰交易簿记,交易员不碰催缴豁免。eds-rm-web 是这两个角色之间的”中台防火墙”——很多需要双方协作的流程(如”客户申请催缴豁免”)就发生在这个系统里。
4. 内行才知道的:rm-web 是”后发的独立前端”,和交易前端技术债无关
new-edsweb(2019 起)和 eds-rm-web 都是 Vue 2,但它们是各自独立起跑的项目,不是同一个前端拆出来的。这意味着:
- rm-web 没有背上 new-edsweb 那套”从 JSP 绞杀过来”的历史包袱,结构相对干净。
- 但也意味着风险中台和交易前台有两套独立的组件库/基建,任何跨系统的 UI 改动(如”交易台提交、风险官在 rm-web 审批”的联调)要在两个项目之间来回。
这和 37-Frontend-Evolution 里”多个前端项目并存的维护成本”是同一个主题——eds-rm-web 是那篇文档里没点名的”又一个前端”。
自测
- 风险官想”提前知道哪些账户快到追保阈值了”,应该打开 eds-rm-web 的哪个页面?
- “客户申请不追保”这个操作,在 eds-rm-web 里走哪个模块、哪个文件?
- eds-rm-web 和 new-edsweb 的用户群、职责有什么根本区别?
- 压力测试结果展示在 eds-rm-web 的哪个模块?它的计算其实发生在哪里?
相关阅读:72-Credit-and-Risk-Rules-Engine.md(交易前置拦截)、16-Margin-Calls-IM-and-VM.md(追保流程)、61-Collateral-Management.md(担保品)