场内衍生品有交易所和中央对手方兜底,场外(OTC)什么都没有:交易双方直接签约,对方明天破产了找谁要钱,全靠签在纸面上的法律文件。所以做场外衍生品系统,第一件事不是建模产品,是建模协议——整个业务的地基是 ISDA(国际市场)和 SAC(中国市场,2014 年由中证协、中期协联合发布)这两套主协议体系。
三件套:主协议、补充协议、交易确认书
一套完整的场外衍生品法律关系由三层文件构成:
- 主协议(SAC Master Agreement):通用条款,约定定义、违约事件、终止事件、计算 agent 等,全行业用同一模板,基本不改;
- 补充协议(Supplemental Agreement):双方定制层,约定授信额度、履约保障方式、估值争议解决流程、管辖等,每对交易对手一份;
- 交易确认书(Confirmation):每笔交易一份,写经济条款——标的、名义本金、期限、现金流规则。口头或邮件成交,确认书落地。
系统建模的关键是:主协议和补充协议是交易对手维度的,确认书是交易维度的。数据表设计上,协议台账(counterparty + 主协议号 + 补充协议号 + 授信/保障条款)是一层,交易台账挂在协议下面。确认书必须能回溯到协议——违约处置时按协议条款办,不是按单笔交易办。
单一协议:整套体系的支点
主协议里最重要的概念是 single agreement(单一协议):主协议、补充协议和项下所有确认书构成同一个合同。每笔确认书不是独立合同,而是同一个合同下的个别约定。
这个法律构造撑起两件事:
终止净额结算(Close-out Netting):一方发生违约事件时,守约方有权提前终止主协议项下所有交易(不是逐笔追究),把每笔交易的市值(终止金额,含应计未付利息费用)按正负带符号加总,得到一个单一净额由违约方支付。公式上:
$$ \text{应付净额} = \sum_{i=1}^{n} \text{MTM}_i + \text{Accrued}_i $$
MTM 为负是对方欠你,MTM 为正按约定方向冲抵。如果没有单一协议,破产管理人可以把赚钱的交易挑出来继续履行、亏钱的交易申请撤销(cherry-picking),守约方风险敞口会大出几个量级。净额结算是场外业务资本占用的前提——巴塞尔协议对 OTC 敞口的资本计提按净额算,没有这条,做市商的资本根本不够开敞口。
破产隔离:单一净额在破产程序中作为一项债权申报,质押品也按履约保障文件优先受偿。中国的 SAC 体系里这条的可执行性历史上打过问号(《企业破产法》第 18 条管理人的挑拣履行权),2019 年最高法纪要明确了主协议终止净额结算条款的效力,行业才真正放开手脚。
履约保障文件:信用风险的三道闸
OTC 没有中央对手方逐日盯市强平,信用管理靠协议约定的三道闸,按强度排序:
- 授信额度:补充协议里约定单向或双向授信敞口上限,系统按"已用授信 = Σ 交易 MTM 绝对值 + 应计费用"实时扣减,超限拒绝新交易——这是事前闸;
- 履约保障(保证金/质押):签《履约保障文件》,约定初始保障金额、维持保障比例、估值频率。盯市亏损使保障覆盖率跌破约定线,触发追补(margin call)——这是事中闸;
- 提前终止权:违约事件触发后按净额结算一次了断——这是事后闸。
三道闸的参数全部在补充协议和保障文件里,所以协议台账是风控系统的配置中心:同一个收益互换产品,对银行客户和对私募客户的保证金比例可能完全不同,执行差异不靠代码硬编码,靠台账参数驱动。
交易确认的电子化和争议
传统流程是电话成交、邮件发确认书、对方回签。电子化后是交易平台(券商场外业务平台、CFETS 的 OTC 模块)线上确认:成交后系统自动生成确认书草稿,对手方系统核对经济条款,双方电子签认。条款不一致(mismatch)是高频运营事故——名义本金单位搞错(万元/元)、计息基准(ACT/365 还是 ACT/360)选错,核对环节要能逐项 diff 并挂起人工处理。
估值争议是另一类日常:双方对同一笔交易 MTM 算出不同结果(模型不同、行情源不同),补充协议会约定估值争议期和处理 agent。系统上要给每笔记估值版本(用哪个模型、哪组行情参数),争议时能回放。
系统落点小结
场外衍生品系统可以拆成四个域:协议域(台账、条款参数化)、交易域(确认书、生命周期)、估值域(MTM、模型版本化)、信用域(授信扣减、保障管理、margin call 流程)。四个域共享一个前提——一切按协议来。这也是为什么先讲主协议再讲产品:没有协议台账这个配置中心,后面任何一个产品的风控参数都无处安放。