SPAN 与组合保证金:衍生品保证金实际怎么算
清算所只问一个问题:你明天违约,我今天收的保证金够不够平掉你的仓。SPAN 的每个部件——情景、风险阵列、价差费用与信用——都是这个问题的一个子句。
清算所站在每笔清算交易的中间,它操心的问题只有一个:如果这个对手方明天违约,我手里的抵押品够不够在不亏钱的前提下平掉他的头寸?衍生品保证金的整套机器都是围绕这一个问题造的。CME 在 1988 年开发的 SPAN(Standard Portfolio Analysis of Risk)就是对它的标准回答,后来成了全球衍生品保证金的事实标准(CME, 2014; BCBS-IOSCO, 2019)。
SPAN 用一组固定情景下的风险阵列取代了历史上的”全额抵押”做法,估计一天持有期内压力事件下的最大可能损失。它不完全是 VaR——它的逻辑是”一组情景下的最坏损失”,这类度量在数学性质上比分位数型 VaR 更规矩(比如天然满足次可加性),也在所有主要司法管辖区拿到了监管接受。这篇文章把 SPAN 拆开:两种保证金的分工、情景与风险阵列、价差费用与信用、交割考虑,最后是它在哪些地方会失灵。
两种保证金,两种时态
清算头寸上的保证金分两种,对应清算所问题的两个时态。
初始保证金(IM)管未来时:由双方对手方缴纳,覆盖明天价格变动可能造成的损失。它的存在意义就是开头那个问题——你今天违约,清算所拿走你的 IM 之后,明天平掉你的头寸时不亏钱。变动保证金(VM)管现在时:由今天亏钱的那一方缴纳,用现金结算今天的盯市损失。不等到违约才算账,盯市损失按日清偿——这就是期货每日结算的机制本身。
对健康的头寸,IM 大、VM 小(只是当天的损失);对深度水下的头寸,累计 VM 可能超过 IM。还有一层要分清:清算所的 SPAN 要求只是底线,你通过清算经纪商交易时,经纪商通常在这个底线之上再加一层,覆盖经纪商-客户之间的违约风险。
SPAN 的答案:情景与风险阵列
SPAN 怎么估”明天最坏亏多少”?不是解析公式,而是枚举情景。标准的 SPAN 对每个品种定义 16 个情景,结构是这样的:
- 价格变动取七个点位:不变、上或下 1/3 个 scan range、上或下 2/3、上或下整个 scan range;每个点位配上波动率上调或下调(幅度由交易所设定的波动率扫描区间决定)。7 × 2 = 14 个情景。
- 再加两个极端情景:价格上冲或下冲数倍 scan range(常见是两倍),但损失只按一个折减比例计入(常见约三分之一)——用来捕捉跳空尾部,又不至于让极端情景独裁整个保证金。
每个情景里,头寸按”过了一天”重新定价(期权的时间价值随之衰减一天),得到该情景下的 P&L。对每个合约,这 16 个数排成一列,就是它的风险阵列。示意(只画下跌方向):
| 波动率上调 | 波动率下调 | |
|---|---|---|
| 价格不变 | P&L | P&L |
| 价格 -1/3 scan range | P&L | P&L |
| 价格 -2/3 scan range | P&L | P&L |
| 价格 -1 scan range | P&L | P&L |
上涨方向与之对称——多头怕下跌情景,空头怕上涨情景,一张阵列两边都要有。风险阵列按头寸规模缩放后,跨 16 个情景取最大损失,就是这个头寸的扫描风险(scan risk)。
Scan range 本身是交易所公布的参数,标定目标是覆盖一天价格变动的高分位。作为心智模型可以写成:
其中 是日波动率、 是价格、 是覆盖倍数——但记住实际数字不用你算,清算所每天发布。拿个具体例子:标普 500 在 4000 点、年化波动率 50%,日波动率约 2%,假设交易所把 scan range 定在 $80。那么一手 delta 为 1 的多头期货:价格下跌 1/3 个 scan range 的情景亏 $26.67,下跌 2/3 亏 $53.33,下跌整个 scan range 亏 $80;带 vega 的头寸在每个格子上再叠加波动率冲击乘 vega 的贡献:
| 情景 | 波动率下调 | 波动率上调 |
|---|---|---|
| 价格 -1/3 range | -26.67 - vega 项 | -26.67 + vega 项 |
| 价格 -2/3 range | -53.33 - vega 项 | -53.33 + vega 项 |
| 价格 -1 range | -80 - vega 项 | -80 + vega 项 |
对纯期货,vega 项为零,最坏情景就是价格反向整个 scan range:多头的原始扫描风险是每合约 $80。
组合怎么算:价差的抵消与代价
一个组合很少是单个合约,大部分头寸是价差——多一个合约、空另一个。SPAN 处理组合的方式很直接:同一情景下,把组合内所有合约的 P&L 相加,再跨情景取最坏。抵消不是靠相关矩阵,而是天然发生在向量加法里。
看日历价差:多 1 手 SPX 9 月、空 1 手 SPX 12 月,都在 4000。在”下跌 1/3 range、波动率不变附近”的情景里,多 9 月亏约 $26.67,空 12 月赚约 $26.67(时间维度的小修正是二阶的),合并 P&L 约等于零——两条腿的方向性风险在每个情景里互相吃掉了。
但这里藏着 SPAN 设计里最值得懂的一个细节:扫描风险的合并计算隐含假设同一标的的各到期月完全同步地动。真实世界里 9 月和 12 月合约之间有基差风险——价差本身会动。所以 SPAN 在扫描风险之外补一笔跨月价差费用(inter-month / calendar spread charge):对每一对跨月对冲腿,按交易所标定的参数收一笔附加费,把被扫描风险抹掉的基差风险重新记回账上。方向抵消给你省的,基差风险要收回去一部分。
数字感受一下。假设参数标定的结果是:一个 SPX 日历价差的净保证金要求约 $40,而两条腿独立计算是每腿 $80、合计 $160。持有 100 个价差:
降了约 75%。这就是 SPAN 给对冲组合的价值:它承认价差的两条腿方向上一起动,只对剩下的基差敞口收钱。反过来,同向的”假价差”(多 9 月 + 多 12 月)得不到任何抵消——同一情景里两条腿的亏损直接相加。
跨品种是另一层。相关但不相同的品种之间(比如原油期货对原油裂解价差的另一腿),SPAN 通过跨品种价差信用(inter-commodity spread credit)给折扣,参数由清算所根据历史相关性标定并公布。品种内靠情景加法自然抵消,品种间靠显式信用表——两套机制别混。
到期与交割
接近到期的合约还要过一道单独的检验:这个头寸到期时要不要交割、结算成本多少?交割风险的计算比较到期时接受(实物或现金)交割和到期前平仓的 P&L,把其中的最大损失作为附加费计入。大多数期货现金结算,交割风险只是最终结算价和现货价的差,通常很小;农产品和实物商品期货是例外,实物交割的物流和交收风险让这项附加费真正有分量。
全套算法拼起来
把部件按顺序装配,SPAN 对一个组合的计算是:
- 对每个合约计算 16 情景的风险阵列,按头寸缩放。
- 品种内:同一情景下把 P&L 向量相加,跨情景取最坏,得到扫描风险。
- 加上跨月价差费用(把被合并计算抹掉的基差风险记回来)。
- 加上交割附加费(临近到期的头寸)。
- 减去跨品种价差信用(相关品种间的对冲折扣)。
- 跟空头期权最低保证金(short option minimum,交易所设定的每合约底线,防止深虚值空头期权算出接近零的保证金)取最大。
写成一行:
其中 遍历 16 个情景, 是合约 在情景 下的损失。所有参数——scan range、波动率扫描区间、价差费用和信用、期权最低——都由各清算所每日计算并发布在参数文件里,文件里带每个合约、每个情景的风险阵列。你要做的只是把算法应用到自己的组合上。CME 的 PC-SPAN 和 SPAN Risk Manager、以及 Calypso、Murex 这类第三方系统,干的就是这件事。
变动保证金与违约瀑布
VM 这边简单得多:从昨天结算价到今天结算价的盯市变化,现金结算。SPX 期货多头,昨天结算 4000、今天 4010,欠你的 VM 是每合约 10 个点乘合约乘数。日终计算,水下一方缴纳,一般不跨品种、不跨对手方净额。
两种保证金在违约时合成一套流程。对手方违约,清算所:拿走违约方的 IM 抵押品;按盯市收走已经该收的 VM;平掉违约方的头寸,承担实现的损益;缺口用 IM 储备补。IM 的标定目标就是让”IM + 已收 VM”以高概率覆盖平仓损失——SPAN 的风险要求,就是清算所对这个损失的估计。开头那个问题在这里闭环。
组合保证金:跨清算所的抵消
SPAN 的抵消机制到单一清算所的边界为止。跨交易所、跨资产类别的抵消需要清算所之间的显式协议——组合保证金 / 交叉保证金安排。美国市场上,OCC(期权清算公司)和 CME 之间有针对指数类产品的交叉保证金计划;证券侧的组合保证金账户(股票、股票期权)用的则是 OCC 的 TIMS 一系基于情景的方法,思路和 SPAN 同源但不是同一套参数。
这类账户能识别股票期权 delta 敞口和股指期货 delta 敞口之间的抵消,对充分对冲的组合,保证金可以降到独立合计的一小部分。具体的下限、账户最低净值等由交易所和监管设定,经纪商往往再加自己的一层。对期权加期货的组合,SPAN 自己也能通过 delta 等效头寸识别期权和标的期货之间的抵消——这是品种内的那套机制,跟跨清算所协议是两回事。
SPAN 对 VaR
SPAN 的风险要求在概念上像 VaR——都是”一天内以高置信度不超过的损失”——但实现完全不同:
| 特征 | SPAN | VaR(行业标准) |
|---|---|---|
| 持有期 | 1 天 | 交易 1 天,监管常用 10 天 |
| 分布 | 16 个固定情景 | 参数化、历史、Monte Carlo |
| 聚合 | 同情景 P&L 相加,跨情景取最坏 | 相关矩阵或联合模拟 |
| 参数来源 | 清算所每日公布 | 机构内部估计 |
| 时间衰减 | 有(逐日重定价+交割情景) | 通常无 |
这些差异让 SPAN 对期货和期权清算更实用:它正确处理到期效应和合约层面的风险阵列,16 个情景比单一 VaR 数字信息多,又比全量 Monte Carlo 便宜得多、且完全可复算——对一个需要每天对上百万个账户出数、还要经得起成员复核的清算所,可复算不是小事。
SPAN 哪里不行
三个持续存在的问题,每一个都是”16 个情景 + 1 天持有期”这个设计选择的影子。
情景不够肥。16 个情景覆盖不了全部尾部。1987 年式的单日 20% 崩盘落在大多数标的的标准情景之外——极端情景的折减计入只补一部分。对历史波动率长期偏低的产品,scan range 会跟着历史一起变瘦:2022 年的利率波动冲击就暴露了这一点,多家清算所对固定收益产品的保证金在事中和事后被迫连续大幅上调。SPAN 参数是跟着已实现波动率走的,regime 突变时它天然滞后。
抵消的边界。SPAN 的抵消是品种内和单一清算所内的。系统性情景——整个市场停摆、清算所自身承压——不在它的账本里。客户对清算所有保证金协议,但清算所本身面对下一个 Lehman 级别冲击的敞口,SPAN 不回答。
一天可能不够。SPAN 用 1 天持有期,隐含假设违约头寸明天就能平掉。锁死涨跌停、流动性枯竭的市场里,平掉一个大而不流动的头寸要好几天——此时按 1 天标定的 IM 就太短了。更现代的框架(Basel III 的 FRTB、大额头寸的清算所附加费)都在把平仓时间引入标定,但对大多数上市衍生品,监管基线仍然是类 SPAN 的。
这三条合起来给出用户侧最重要的教训:SPAN 的要求是最低值,不是建议值。大型机构交易者普遍持有比 SPAN 要求更多的保证金——既因为 SPAN 按设计就低估 regime 突变下的尾部,也因为在保证金不足的状态下撞上追加通知的代价极高。经历过流动性驱动的 margin call 的公司,都是用真金白银学会这一条的。零售交易者用 PC-SPAN 或经纪商的计算器就够(但记住经纪商的要求高于清算所底线);机构要么用 CME 和第三方的 SPAN 工具,要么在内部实现算法之上再加一层更保守的模型——两者取高。你的 IM 大致是逐合约要求乘头寸规模,每天更新,它上升时你要么补抵押品、要么减仓。清算所的问题永远是同一个,你的答案最好比它的答案更保守一点。
参考文献
Basel Committee on Banking Supervision & IOSCO. Margin Requirements for Non-centrally Cleared Derivatives, 2019.
Chicago Mercantile Exchange. CME SPAN Methodology, 2014.
Glasserman, P. (2004). Monte Carlo Methods in Financial Engineering. Springer.
McNeil, A. J., Frey, R., & Embrechts, P. (2015). Quantitative Risk Management: Concepts, Techniques and Tools (2nd ed.). Princeton University Press.
Options Clearing Corporation. OCC Margin Manual. OCC Operations, 2023.
Securities and Exchange Commission. Customer Margin Rules for Security Futures. 17 CFR § 242.400-§ 242.406.