Learning
VOL. VII · NO. 159 · OTC Derivatives · 17 JUL 2026

System Requirements

OTC 衍生品 · 17 JUL 2026 · 13 min read · 2,185 words
· · ·

系统功能清单:各子系统功能列表 / 数据模型 / 外部接口

这里是所有系统功能的”菜单”——你不需要一次全部实现,但需要知道最终长什么样。

flowchart TB
    subgraph 前端层
        Sales[销售工作台]
        Trader[交易员工作台]
        Ops[运营工作台]
        Risk[风控工作台]
        PM[管理层驾驶舱]
    end
    subgraph 业务层
        OMS[交易管理系统 OMS]
        CRM[客户管理系统]
        PM_SYS[产品管理系统]
    end
    subgraph 风控与结算层
        Risk_SYS[风险管理系统<br/>限额/Greeks/VaR]
        Collateral[抵押品管理]
        Settle[清算结算]
    end
    subgraph 数据与定价层
        Pricing[定价引擎]
        MktData[行情数据]
        RefData[参考数据]
    end
    subgraph 外部接口
        CCP[中央对手方]
        CSD[登记结算]
        Reg[监管报送]
    end
    前端层 --> 业务层
    业务层 --> 风控与结算层
    风控与结算层 --> 数据与定价层
    业务层 --> 外部接口
    风控与结算层 --> 外部接口

一、交易管理系统(OMS)

功能清单

ID功能说明优先级
OMS-01交易录入(Swap)收益互换专用录入界面P0
OMS-02交易录入(Option)期权专用录入界面P0
OMS-03交易录入(Snowball)雪球专用录入界面P0
OMS-04批量录入批量导入交易数据(CSV/Excel)P1
OMS-05交易查询多维度查询(客户/产品/日期/状态)P0
OMS-06交易修改改单/撤销(需审批)P0
OMS-07交易审批大额/异常交易审批工作流P0
OMS-08交易状态跟踪已确认/待确认/已结算P0
OMS-09交易标签自定义标签+筛选P2

数据模型(核心字段)

{
  "trade": {
    "trade_id": "主键",
    "product_type": "swap/option/snowball/structured_note/cross_border",
    "product_sub_type": "equity_swap/vanilla_option/knock_in_knock_out/...",
    "counterparty_id": "对手方ID",
    "sales_id": "销售ID",
    "trader_id": "交易员ID",
    "status": "pending/confirmed/settled/terminated/matured",
    "underlying": "标的代码",
    "notional": "名义本金",
    "currency": "币种",
    "trade_date": "交易日",
    "effective_date": "生效日",
    "maturity_date": "到期日",
    "create_time": "创建时间",
    "update_time": "最后更新时间"
  }
}

二、定价引擎

功能清单

ID功能说明优先级
PRC-01Black-Scholes 定价香草期权P0
PRC-02蒙特卡洛模拟路径依赖型(雪球等)P0
PRC-03波动率曲面管理曲面构建、插值、存储P0
PRC-04曲线管理折现曲线、远期曲线P0
PRC-05批量估值全量持仓定时估值P0
PRC-06单一交易定价实时单笔定价P0
PRC-07定价结果校验异常值检测P1

三、风险引擎

ID功能优先级
RSK-01Greeks 计算(Delta/Gamma/Vega/Theta/Rho)P0
RSK-02VaR 计算P0
RSK-03PFE 计算P0
RSK-04限额实时监控P0
RSK-05压力测试P1
RSK-06CVA 计算P1
RSK-07风险报告生成P0

四、外部接口清单

外部系统接口类型数据内容方向
中证登API结算指令发送
上清所API集中清算发送
托管行文件资金结算双向
彭博API市场数据/估值接收
WindAPI中国市场数据接收
中证报价API监管报送发送
CSRC文件监管报表发送
AML 系统API客户筛查双向
电子签章API签署文件双向

十二、实战映射:CICC ODTS 实际实现对照

前面是理想化的系统功能清单。下面对照中金公司 ODTS 系统(约 2016-2024)的实际实现,看真实系统如何取舍。这对于理解”教科书 vs 实战”的差距非常有帮助。

12.1 功能实现对照表

功能 ID理想功能ODTS 实际实现实现程度
OMS-01~03专用录入界面edsWeb JSP + new-edsweb Vue 表单,各有独立的交易录入页✅ 实现
OMS-04批量录入eds-web-app 有 PreBookController 支持 GMATrade 批量导入✅ 实现
OMS-05多维度查询edsWeb 有 78 个 JSP 模块支持多维度搜索✅ 实现
OMS-06交易修改ContractHelper + ContractStateMachine 管理生命周期✅ 实现
OMS-07交易审批基于 Shiro 的权限控制+审批流✅ 实现
PRC-01B-S 定价hedging-as 通过 EDS Library + IRS SOAP 引擎定价✅ 实现
PRC-02蒙特卡洛hedging-as 用 Spark 集群跑 Monte Carlo(10.110.166.245:7077✅ 实现
PRC-03波动率曲面edsWeb vol/ 模块 + hedging-as VolatilityCalculator✅ 实现
RSK-01Greekshedging-as pricing/ 模块批量计算✅ 实现
RSK-05压力测试hedging-as PressTestRunnable + Spark 并行路径✅ 实现
COL-01~03保证金hedging-as 8 条保证金规则(Rule 1-8)+ Drools + Neo✅ 实现
CRM-01~08客户管理edsWeb 对手方管理模块(开户/评级/KYC)✅ 核心实现
REG-01~06监管报送ofareg 独立项目 9000+ commits——报送是独立子系统✅ 远超预期
REG-07年度合规部分自动化,部分人工⚠️ 半自动
DWH-01~07数据仓库无独立数仓——各系统自维护报表❌ 无统一数仓
产品方案生成Term Sheet/Pitch Book通过 EasyPoi + iText 在 eds-web-app 生成合同文件⚠️ 部分实现

12.2 实际系统 vs 理想蓝图的关键差异

差异项理想蓝图(BA 设计)实际 ODTS
系统边界OMS/定价/风控/抵押品分立edsWeb+eds-web-app 高度耦合,功能在两个项目中并存
数据库统一数据仓库各系统直接查 Oracle,无独立数仓层
接口协议REST API 统一标准REST + Protobuf/TCP + ActiveMQ + Kafka + ZMQ + SOAP 同时存在
前端架构统一前端edsWeb(JSP)+ new-edsweb(Vue)+ Odyssey(Qiankun)+ odts-linear-web(Vue3)多个前端共存
测试覆盖全面自动化测试test/ 目录仅 9 个测试文件——大型金融系统常见短板
开发周期瀑布式完整交付渐进式演进,多个”过渡方案”在生产环境运行多年

12.3 实际系统的”非理想但务实”设计

这些设计在教科书里不会出现,但在实际系统中很常见:

  1. “三大件”架构 (2016):一个前端项目(edsWeb)加两个后端项目(eds-web-app + hedging-as),通过多种协议通信。不是微服务,但比超大单体更灵活。

  2. 双通道前端通信 (2016-2021):edsWeb 同时维护 REST API 和 Protobuf/TCP 两条通信路径——旧页面用 Protobuf,新页面用 REST。这是架构迁移期间的常见模式。

  3. Vue 嵌入 JSP (2021):new-edsweb 作为 git submodule 嵌在 edsWeb 项目里,菜单由旧 JSP 渲染、内容由 Vue SPA 渲染。Vue 通过 Axios 请求后端获取 HTML 菜单并解析注入——这种”hack”在企业渐进式迁移中很典型。

  4. 遗留代码共存 (2024):hedging-as 同时使用 JFinal、Spark、Py4J、Drools、FIX 协议——多种技术栈层叠,因为”跑得好就不动”。

  5. Gradle + 本地 lib/:72 个 JAR 放在 eds-web-app/lib/ 里而不走 Maven 中央仓库(包括 ojdbc6.jardrools 等)——因为内部网络限制或需要修改过的私有版本。


下一步:compliance-checklist.md


五、抵押品管理系统(Collateral Management)

功能清单

ID功能说明优先级
COL-01初始保证金计算ISDA SIMM / 证监会标准P0
COL-02变动保证金计算每日估值变动的保证金追缴P0
COL-03保证金追缴自动生成追缴通知并跟踪P0
COL-04抵押品管理现金/国债/股票等抵押品管理P0
COL-05抵押品折算率维护Haircut/折价率管理P0
COL-06保证金报告每日保证金报告P1
COL-07争议管理保证金争议登记与处理P1
COL-08三方面票(Tri-party)托管行对接P2

数据模型

{
  "collateral": {
    "collateral_id": "唯一编号",
    "trade_id": "关联交易ID",
    "party": "我方/对手方",
    "margin_type": "initial/variation",
    "currency": "币种",
    "required_amount": "要求金额",
    "posted_amount": "已缴金额",
    "status": "pending/settled/disputed",
    "valuation_date": "估值日期",
    "csa_agreement": "CSA协议编号"
  }
}

六、CRM系统

功能清单

ID功能说明优先级
CRM-01客户信息管理基本资料、联系方式、分类P0
CRM-02KYC 管理客户身份认证、证件管理P0
CRM-03AML 筛查制裁名单、政治人物、黑名单P0
CRM-04适当性管理客户等级(C1-C5)评定P0
CRM-05客户分类专业投资者/普通投资者P0
CRM-06客户信用评级内部信用评级管理P1
CRM-07关联关系管理关联方、一致行动人P1
CRM-08客户生命周期开户→激活→休眠→销户P0

七、监管报送系统(Regulatory Reporting)

功能清单

ID功能监管对象频率优先级
REG-01场外日报中证报价每日P0
REG-02场外月报中证报价每月P0
REG-03适当性报表CSRC季度P0
REG-04反洗钱报表央行反洗钱中心每月P0
REG-05大额交易报告CSRC实时P0
REG-06异常交易报告CSRC实时P0
REG-07年度合规报告CSRC每年P1
REG-08压力测试报告公司内部+监管定期P1

报送系统架构

业务系统(数据源)

数据仓库(ETL + 数据校验)

报表生成(模板引擎 + 格式转换)

合规审核(人工复核 + 电子签章)

报送接口(自动提交 + 回执确认)

八、数据仓库与BI系统

功能清单

ID功能数据源优先级
DWH-01交易数据仓库OMSP0
DWH-02市场数据存储Wind/BloombergP0
DWH-03风险数据仓库风险引擎P0
DWH-04财务报表数据财务系统P1
DWH-05客户行为分析CRMP2
DWH-06监管报表数据各系统P0
DWH-07管理层驾驶舱聚合报表P0

数据流架构

[OMS] ─→ 日终批量 ─→ [ODS层] ─→ [DWD层] ─→ [DWS层] ─→ [应用层]
[定价] ─→          ↗          清洗        轻度聚合      BI看板
[Risk] ─→          ↗                    主题宽表     监管报表
[CRM]  ─→          ↗                                 API服务

九、系统集成全景图

                        ┌──────────────┐
                        │  管理层看板   │
                        └──────┬───────┘

       ┌──────────┬────────────┼────────────┬──────────┐
       ▼          ▼            ▼            ▼          ▼
   ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
   │  OMS   │ │ 定价   │ │ 风险   │ │ 抵押品 │ │  CRM   │
   │交易管理│ │引擎    │ │引擎    │ │管理系统│ │客户管理│
   └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘
       │          │          │          │          │
       └──────────┴──────────┴──────────┴──────────┘

                         ┌─────▼─────┐
                         │  数据仓库  │
                         └─────┬─────┘

                    ┌──────────┼──────────┐
                    ▼          ▼          ▼
              ┌─────────┐ ┌─────────┐ ┌─────────┐
              │ 监管报送 │ │ 合规监控 │ │ 财务系统 │
              └─────────┘ └─────────┘ └─────────┘

十、外部接口详细说明

外部系统接口协议数据内容通信方向频率
中证登Socket/文件结算指令、成交回报双向实时
上清所MQ/文件集中清算数据双向日终
托管行SFTP资金流水、余额双向日终
彭博 TOMSAPI/REST交易确认、估值双向实时
WindAPI/Socket行情、参考数据接收实时
中证报价API/REST备案、报送发送每日
CSRC文件/门户监管报表发送定期
AML系统API/REST客户筛查双向实时
电子签章API/REST合同签署双向实时
税务系统文件增值税、印花税发送每月

十一、系统非功能性需求

需求类型要求说明
可用性99.99%(交易时间)交易时段不可宕机
响应时间定价≤1s,查询≤3s用户体验关键
容量支持10万+交易/日头部券商水平
数据保留交易数据≥10年监管要求
灾备同城+异地双活监管要求
安全等级等保三级+监管要求
审计日志所有操作留痕合规要求
数据加密传输+存储加密安全要求