Option Frontend Evolution
ODTS-41: 期权前端演变(odts-option-web, 2022-2026)
目标读者:需要理解 CICC 期权交易系统的前端与 eds-web-app/hedging-as 关系的 BA/PM
数据来源:git 历史(4,828 commits, 24 authors, 2022-03-30 → 2026-07-18)
概述
odts-option-web 是 CICC OTC 衍生品系统的期权交易前端,基于 Vue.js 技术栈,独立于 eds-web-app 的 JSP 页面运行。
它是 ODTS 系列中唯一一个纯前端项目(无后端代码),通过 HTTP 与 eds-web-app 和 hedging-as 的后端 API 通信。
各年活跃度
2022: 1,141 commits ← 密集开发(3月启动)
2023: 1,773 ← 峰值!日均 4.8 个 commit
2024: 505 ← 降速
2025: 173 ← 低活跃
2026: 107 ← 持续维护
峰值在 2023 年,而非 2022 年。这与 odyssey 的前端项目时间线不同——odts-option-web 在 2022 年启动后,2023 年进入最高速迭代期。
技术栈
从配置文件推断:
Vue.js (CLI)
├── JavaScript (非 TypeScript)
├── ESLint + Prettier
├── Jest 测试框架
├── iView 或 Element UI(按需加载)
└── HTTP 调用后端 API
技术栈和 odyssey 的前端项目类似,都是 Vue CLI 架构。
版本线
v0.0.1 → v0.1.0 → v0.2.0 → ... → v0.10.0 → v0.12.0 → v0.39.0 → v0.45.0 → v0.54.1 → v0.56.1
从 v0.0.1 到 v0.56.1,版本号节奏极快(每年 ~15 个版本)。版本号达到 v0.56 意味着发布频率很高,或版本策略偏向频繁迭代。
与 eds-web-app 的关系
odts-option-web 不是一个独立的应用,而是 eds-web-app 的前端界面之一:
┌─────────────────┐ HTTP ┌──────────────────┐
│ odts-option-web │ ────────────────→│ eds-web-app │
│ (Vue.js) │ │ (Spring 后端) │
│ │←────────────────│ │
│ 功能: │ JSON API │ 功能: │
│ 期权交易 │ │ 业务逻辑处理 │
│ 期权查询 │ │ 数据持久化 │
│ 期权行情 │ │ 权限管理 │
│ 风控查看 │ │ API 路由 │
└─────────────────┘ └──────────────────┘
功能模块
从早期 commit 看,odts-option-web 的初始功能包括:
√ 期权交易(Options Trading)
√ 期权查询(Options Query)
√ EOD 合约管理(EOD Contract Management)
√ 交易所月报(Exchange Monthly Report)
2023-2024 年扩展到的模块(从 feature 分支名推断):
√ 波动率曲面管理(Vol Surface)
√ 期权组合管理(Options Portfolio)
√ 希腊值展示(Greeks Display)
√ 日终处理(EOD Processing)
√ 结算管理(Settlement)
√ 现金流管理(Cash Flow)
最近的开发活动
2026 年 6-7 月仍在提交,说明项目活跃:
2026-07-17 [ULEDS-7988]feat: 取消日终预处理确认逻辑
2026-07-15 [ULEDS-7904]feat: 新增业务组筛选字段
2026-07-10 [ULEDS-7798]feat: 柜员操作超时优化
2026-06-26 [ULEDS-7689]feat: 合约结算超时处理
这些 feature 都来自 ULEDS-7xxx ticket 编号,与 eds-web-app 和 hedging-as 的编号体系一致,说明是跨系统的联动开发任务。
团队成员
Yuanyuan Xi (IT) 1,100 ← 主力
Wei Zhang (IT BJ) 565 ← 后端兼前端
Guangyu Chen 464 ← 主要贡献者
其他 14 位 1,570
Yuanyuan Xi 贡献了 30% 的 commit,是核心负责人。
演变总结
2022 2023 2024-2026
启动 峰值 维护
├── initial commit ├── 1,773 commits/年 ├── 功能迭代
├── 期权交易 ├── 波动率曲面 ├── 日终优化
├── EOD 合约管理 ├── Greeks 展示 ├── 结算超时
├── 交易所月报 ├── 组合管理 └── 业务组筛选
└── v0.1.0 → v0.7.0 └── v0.8.0 → v0.39.0 └── v0.45.0 → v0.56.1
关键发现
- 2023 年才是峰值(非启动年)——与其他项目不同,odts-option-web 启动后第二年才达到最大强度
- 与 odts-linear-web 共存——两个前端项目目前同时运行,前者负责新旧期权和 swap,后者只负责线性产品
- ULEDS-7xxx ticket 集中出现——2026 年的 5 个 commit 都是 ULEDS 号段,与 eds-web-app 和 hedging-as 的工作来源一致
- 前端不是简单的”展示层”——大量业务逻辑(EOD 合约管理、波动率曲面、日终预处理确认)在前端实现
业务代价:当”前端”开始承载交易逻辑
业务逻辑放在前端的风险
文档第 4 点指出:EOD 合约管理、波动率曲面、日终预处理确认这些本该在后端的逻辑,落在了 odts-option-web 这个纯前端项目里。
风险:
→ 前端代码不经过后端那套权限/审计校验,业务逻辑容易被绕过
→ 浏览器里跑的定价/确认逻辑,无法保证与后端"单一真相"
→ 一旦前端计算出错(如 2026-07-17 才修的"取消日终预处理确认逻辑"),
影响的是真实交易的日终处理,不是界面显示
业务影响(估算):
→ 一笔日终预处理确认逻辑错误,可能导致一批期权合约的
EOD 状态错乱 → 第二天 Greeks/保证金基于错误数据
→ 与 34 文档描述的 "18 小时前的保证金≈没有" 同源——
错误的日终数据是真实的资金风险,不是 UI bug
两个前端并行 = 双份维护成本
odts-option-web(新旧期权 + swap)与 odts-linear-web(仅线性产品)同时运行。
隐含人日:
→ 同一个"业务组筛选""结算超时"功能要在两套前端各做一遍
→ 2026 年的 ULEDS-7xxx 任务在两个前端都要落地
→ 这是 ODTS-37 文档讲的"前端世代混乱"在期权领域的重演:
每多一套前端,就是一份重复的测试 + 维护 + 知识转移成本
PM/BA 启示:
功能拆分到多个前端,短期灵活,长期是负债。
评估一个新前端项目时,要算上"它和现有前端重复的那些功能"的人力。
“超时”类 feature 是生产事故的回声
2026 年的提交里有两条:柜员操作超时优化、合约结算超时处理。这类”超时”fix 通常是对已经发生的生产事故的补丁:
→ 柜员操作超时 → 某个长事务卡住,柜员被迫重试/刷新
→ 合约结算超时 → 某笔结算在截止时间前没跑完,触发了应急流程
业务含义:
超时不是性能问题,是"SLA 被击穿"的信号。
一笔结算如果在监管报送截止前没完成,就是合规风险(见 38-Regulatory-Reporting)。
这些 feature 说明结算链路的稳定性仍靠"事后打补丁"维持,而非架构保证。