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

Interest Rate Derivatives

OTC 衍生品 · 19 JUL 2026 · 10 min read · 1,682 words
· · ·

ODTS-62: 利率衍生品——在场外市场半壁江山中的 IRS 与 CCS

为什么这篇文档值得读

在 ODTS 的交易量中,利率衍生品占不到股权衍生品的份额——但它的业务复杂度、风险规模和对系统架构的冲击力远超股权类产品。一笔 10 年期 IRS 的名义本金可能高达 50 亿,它涉及的现金流计算(逐日计息、reset、摊销)跨越十年。对 PM/BA 来说,利率衍生品是理解”为什么 OTC 系统的数据模型如此复杂”的关键入口。

利率产品在 ODTS 的独特地位: 虽然全球 OTC 衍生品市场中利率产品占比超过 70%(名义本金超 600 万亿美元),但在 CICC 亚洲股权衍生品为主的业务中,IRS/CCS 是”必需但不大”的品类。这意味着系统对它们的支持是够用但未优化——一个现实业务取舍:用一个有 10 年历史的雪球定价引擎去算 IRS,就像用 F1 赛车拖货柜——能做,但不是最优解。

做反利率方向的真实代价: 利率互换的方向搞反(付浮动写成收浮动,或反之),10 亿名义本金 × 3% 利率差 = 每年 3000 万的损益差异。这类错误在手工录入时代并不罕见——运营在 Excel 里录入 swap 方向时把一个”PAY_FIXED”写成了”RECEIVE_FIXED”,系统不会报错。发现时通常是下一次付息日,运营核对实际应付金额与系统预期不一致。如果不仔细的对账流程漏过了这个错误,交易台可能在错误的利率方向上运行一个季度——代价可能超过 1000 万。

利率互换基础 (IRS / Interest Rate Swap)

业务逻辑

最朴素的利率互换是将固定利率现金流交换为浮动利率现金流

                                    ┌─────┐
      客户付固定年利率 3.0% ─────────→│     │──────→ 交易台付 SHIBOR 3M
      客户收浮动 SHIBOR 3M   ←───────│     │←────── 交易台收固定 3.0%
                                    └─────┘

  名义本金:10 亿 RMB
  期限:5 年
  付息频率:每季度(双方同频)
  结算:净额——不是双方各付各的,而是计算差值,一方付给另一方

一个典型的 IRS 交割日计算:

  当前 SHIBOR 3M = 2.5%
  固定利率 = 3.0%
  名义本金 = 10 亿
  季度天数 = 91 天(按 ACT/360 计算)

  浮动腿: 10 亿 × 2.5% × 91/360 = 631,944
  固定腿: 10 亿 × 3.0% × 91/360 = 758,333

  净额结算: 客户付 758,333 - 631,944 = 126,389 RMB

关键点: IRS 的核心是净额结算——双方不需要每天划转全额资金。只需要付差值。这大大降低了融资和操作成本。但在系统实现上,净额结算意味着系统需要计算两个方向的现金流再相减——不是所有系统都能优雅地处理这个。

为什么用 IRS

用户动机例子
企业客户锁住融资成本一家房地产公司发了一笔 5 年期 5% 的固息债,担心利率下降 → 做 IRS 收固定付浮动,把固息债转为浮息债
基金改变久期而不卖债券觉得利率要降(债券会涨),不做 IRS 就得卖掉债券再买更长久期的 → 做 IRS 收固定付浮动
银行资产负债管理银行收存款(浮动付息)放贷款(固定收息),利率风险大 → 做 IRS 收浮动付固定来对冲
交易台做市/投机赚买卖价差。例如给客户报 3.0% 固定利率收,3.05% 固定利率付

交叉货币互换 (CCS / Cross Currency Swap)

业务逻辑

CCS 是 IRS 的升级版:不仅交换利息,还交换本金。

  初始:
    交易台给客户 1 亿美元
    客户给交易台 7.2 亿人民币(按 USD/CNY = 7.2 汇率)

  存续期(每季度):
    交易台付客户:USD SHIBOR + 50bp 的利息 × 1 亿美元
    客户付交易台:CNY SHIBOR 3M 的利息 × 7.2 亿人民币

  到期:
    交易台还客户 7.2 亿人民币
    客户还交易台 1 亿美元

CCS 和 IRS 的本质差异:

维度IRSCCS
本金名义——不交换实际——初始和到期都交换
货币单币种双币种
汇率风险有——重新兑换时汇率可能变化
结算风险小(净额结算)大(本金交换需要同时到账)
常见场景利率对冲融资币种转换

系统层面,CCS 比 IRS 复杂在哪里:

IRS 的现金流计算维度:
  一个方向(支付)× 两个腿(固定/浮动)× N 次付息

CCS 的现金流计算维度:
  两个币种 × 两个方向 × 三个事件(初始本金钱、存续期利息、到期本金钱)
  + 汇率转换逻辑
  + 如果期中有一方提前终止,还需要计算汇率损益

CCS 在 ODTS 中的实现

代码中的 CCSFValue.javaDCCSValue.java 实现了交叉货币互换的定价:

CCSFValue (Cross Currency Swap Fix):
  ─ 固定利率 vs 浮动利率的 CCS
  ─ 适用于标准 CCS 交易
  ─ 计价逻辑:两个币种分别折现,再按即期汇率折算为基准币种

DCCSValue (Dual Currency / Dynamic Cross Currency Swap):
  ─ 更复杂的可变结构 CCS
  ─ 每个腿可能有不同的标的结构(股票、指数、固收)
  ─ dccs_legsInfo 中的每条腿可以是 FSValue (Forward Start) 
    或 STOCKValue 或 FINValue
  ─ 整体 NPV = 各条腿 NPV 之和

DCCS 的业务含义: 在实际交易中,有些 CCS 结构的其中一条腿不是纯利率——而是挂钩股票或指数。例如:客户想用人民币换美元投资标普 500——这既是 CCS(货币交换)又包含了股权回报。DCCS 就是这种混合结构的产品。

基差互换 (Basis Swap)

业务逻辑

Basis Swap 是 IRS 的一个变体:双方都付浮动利率,但用不同的浮动利率基准。

  客户付 SHIBOR 3M + 20bp
  交易台付 SHIBOR 1Y

  名义本金:5 亿
  为什么做 basis swap?
    ─ 客户认为 SHIBOR 曲线会走陡→3M 利率相对 1Y 走低
    ─ 或者客户持有基于 3M 的资产、基于 1Y 的负债

代码中的 ACS (AutoCallable Swap) 是 Basis Swap 的一个特例吗? 其实不是——ACS 是 Autocallable Swap 结构,更像是利率版本的雪球:含有敲出 (KO) 条款的利率互换。ODTS 中的 ACSSimulator.javaACSPayOffRule.java 实现了这些含路径依赖的利率结构。

定价方法

IRS 的曲线定价

IRS 的定价比股权产品更依赖曲线(而非单点数据)

IRS = 固定腿 NPV - 浮动腿 NPV

固定腿 NPV = Σ (固定利率 × 名义本金 × 计息因子 × 折现因子)

浮动腿 NPV = Σ (远期利率(t) × 名义本金 × 计息因子 × 折现因子)
             其中远期利率由 SHIBOR 曲线插值得出

系统实现路径: eds-price-server/.../gpricingengine/pricing/ → IRS Curve Pricing 模块。定价引擎从 Bloomberg 加载 SHIBOR 曲线(从隔夜到 30 年),使用折现因子插值法计算每期现金流的现值。

CCS 的双曲线定价

CCS 需要两条曲线——两种货币各一条:

CCS NPV = CNY 腿 NPV - USD 腿 NPV × 即期汇率

每个币种使用各自的折现曲线:
  ├── CNY 折现:SHIBOR swap curve (中国政府债 + IRS 报价)
  └── USD 折现:SOFR swap curve (美国国债 + SOFR 报价)

现金流系统和 EOD 处理

利率衍生品的 EOD 处理比股权产品多了计息重置 (Reset) 环节:

            TRS/Equity                          IRS/CCS
            ──────────                          ──────
EOD 步骤:
  1. 获取标的物收盘价                   1. 获取 SHIBOR/SOFR 定盘价
  2. 计算盯市变化                       2. 检查是否有 reset 日
  3. 计算保证金(IM + VM)              3. 如果有 reset → 重置浮动利率
  4. 生成 Margin Call                   4. 计算当期应计利息 (accrued interest)
                                        5. 计算盯市变化(利率曲线变动)
                                        6. 计算保证金
                                        7. 生成 Margin Call

Reset 的频率由合约中的 resetFrequency 字段决定——可以是每日、每周、每月、每季度。

业务影响: 如果系统在 reset 日没有正确更新浮动利率,下一期的利息计算就会出错。一对差 0.1% 的误差在 10 亿名义本金下就是 100 万的差异。这就是为什么利率衍生品的 EOD 系统对数据准确性要求高于股权产品——不是因为有更高的估值波动,而是因为小幅度的利率误差会通过累乘效应放大。

清算方式

标准 IRS非标准 IRSCCS
清算上海清算所 (SHCH) 中央清算双边清算双边清算(少数经 CCP)
ISDA 类型普遍 SIMM
保证金CCP 计算 IM/VM双方 CSA 协商双方 CSA 协商
市场深度高(报价频繁)中(根据期限)中(取决于币种对)

在中金系统中,标准 IRS 通过 SHCH 清算——这意味着交易台录入交易后,CCP 接管清算和保证金计算。非标准 IRS 和 CCS 则走双边清算路径,保证金由 MarginCalculator.java 计算。

一句话

IRS 和 CCS 是 OTC 衍生品市场中体量最大的品类(全球名义本金超 600 万亿美元),但在 CICC 的亚洲股权衍生品为主的业务中占比不大。系统支持它们,但并没有为它们优化——ODTS 的定价引擎对 IRS 的曲线定价支持不如股权产品成熟,这是业务规模决定的架构取舍。

关键文件

组件路径
CCS 固定/浮动定价eds-price-server/.../structuredproducts/CCSFValue.java
双币种结构定价eds-price-server/.../structuredproducts/DCCSValue.java
DCCS 含 Premiumeds-price-server/.../structuredproducts/DCCSPValue.java
可赎回利率互换 (ACS)eds-price-server/.../structuredproducts/ACSSimulator.java
ACS 收益规则eds-price-server/.../structuredproducts/payoff/ACSPayOffRule.java
通用 Swap Payoffeds-price-server/.../structuredproducts/payoff/SwapPayoff.java
IRS 曲线定价引擎eds-price-server/.../gpricingengine/pricing/IRS Curve Pricing
摊销 IRS 定价eds-price-server/.../gpricingengine/pricing/Amortizing IRS Pricing
结算系统hedging-as/.../settlement/