Learning
VOL. VII · NO. 90 · OTC Derivatives · 19 JUL 2026

Option Frontend Evolution

OTC 衍生品 · 19 JUL 2026 · 6 min read · 643 words
· · ·

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

关键发现

  1. 2023 年才是峰值(非启动年)——与其他项目不同,odts-option-web 启动后第二年才达到最大强度
  2. 与 odts-linear-web 共存——两个前端项目目前同时运行,前者负责新旧期权和 swap,后者只负责线性产品
  3. ULEDS-7xxx ticket 集中出现——2026 年的 5 个 commit 都是 ULEDS 号段,与 eds-web-app 和 hedging-as 的工作来源一致
  4. 前端不是简单的”展示层”——大量业务逻辑(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 说明结算链路的稳定性仍靠"事后打补丁"维持,而非架构保证。