技术博客

清算 vs 结算:两个词到底差在哪——算钱和给钱为什么是两件事

第 41 / 141 篇 · 2025-08-02 · secfin · 清算结算DVP

"清算"和"结算"在日常语言里是混用的,在证券系统里是两个严格分开的概念、两套系统、两次批量。券商新人和跨行来的工程师最容易在这里摔跤:需求文档写"日终清算把资金划给客户",评审时要打回去——划付是结算的事,清算只负责算出该划多少。把这两个字掰开,整个清算结算分类的框架就立起来了。

定义:算钱和给钱

清算(Clearing)解决"谁欠谁多少":汇总当天全部成交,按对手方轧差,算出每个参与人相对中央对手方的应收应付净额,同时完成保证金计算、风险敞口评估。清算的产物是应收应付清单——一堆数字,不发生任何实际的资产转移。

结算(Settlement)解决"把账上数字变成真钱真券":资金通过结算账户实际划付(A 股走中国结算的结算备付金账户体系),证券通过变更登记实际过户。结算的产物是资产所有权的转移。

为什么要分成两步?把两件事混在一起做的系统(逐笔全额实时交割)存在但很小众,主流市场全部选择分离,理由有三层:

  1. 计算需要时间:全天百万笔成交的轧差、保证金重估、费用计算是一套复杂的批量计算,值得在收盘后用几小时跑完、校验完再动钱;
  2. 金额方向需要缓冲:清算发现错账、对不平,还可以改数字;结算划出去了就是真钱,追回来要走违约处置。把"可修正"和"不可修正"分开,是给错误留的最后缓冲区;
  3. 参与者的时间表不同:银行的支付系统(资金最终性)有自己的营业窗口和批量时点,证券过户有自己的登记流程,两步分离让两边各自对齐自己的时钟。

净额轧差:压缩的艺术

分离的第一步红利是净额清算(Netting)。逐笔全额结算时,$n$ 个参与人两两交割,交割笔数是 $O(n^2)$ 量级;引入中央对手方(CCP)后,所有参与者只对 CCP 结算净额,交割笔数变成 $O(n)$。

看个具体例子。三个券商当天互相成交:

买入(应付) 卖出(应收) 净额
券商 A 向 B 买 1000 万,向 C 买 500 万 卖给 C 800 万 应付 700 万
券商 B 向 C 买 300 万 卖给 A 1000 万 应收 700 万
券商 C 无 卖给 A 500 万、卖给 B 300 万 应付 800 万

三笔交叉债务被轧成 A→CCP 700 万、CCP→B 700 万、CCP→C 收 800 万三笔净额(验算:净额之和为零,资金守恒)。全市场的效果是交割量被压缩两个数量级以上——中国结算的公开数据里,净额结算把每日实际资金划付规模压到成交总额的 1% 以下。压缩不是免费的:CCP 承接了所有对手方风险,这就是"保证交收"要单独写一篇的原因。

轧差算法本身不难,难的是边界规则:什么可以轧(同日同券种同币种)、什么不可轧(法律法规要求的逐笔全额品种,如债券质押式回购的首次交收)、新股申购冻结资金如何参与轧差。算法工程师在这里的价值是把这些规则编译成确定性的分组键(group key),保证轧差结果可重算、可解释、可审计。

DVP:把风险窗口关到最小

清算和结算分离引入了一个天然的风险窗口:清算完成到结算完成之间,一方已经履行(付了券),另一方还没履行(钱没到)。对手方风险就住在这个窗口里。货银对付(DVP,Delivery Versus Payment)的原则是:券和钱的交割互为条件,一手交券、一手交钱,任何一方交不出去,整笔交易回滚。

DVP 有三类实现,严谨程度递增:

  • DVP 1:券和钱几乎同时但非原子地交割,间隔以小时计;
  • DVP 2:钱在日间实时、券在日终批量(或反过来),一方承担日内的信用敞口;
  • DVP 3:券和钱严格原子地同时交割,通过把双方的交割指令锁在一个事务里实现。

A 股的实现接近 DVP 3:中国结算作为 CCP,日终完成证券过户(变更登记),T+1 上午完成资金交收——等等,这听起来不是"同时"?关键在于CCP 的净额结构:券商与中国结算之间,券和钱的净额都在 CCP 的账上,任何一方不履约,CCP 用自己(和全体参与者的保证金)兜住,保证已履约方的对手风险被隔离。严格的同时性只存在于 CCP 的内部账上,参与者感知到的是"保证交收",这正是中央对手方存在的意义。

对系统建设的直接推论

概念分清之后,券商侧系统的架构要求几乎是自动推导出来的:

  • 清算系统和结算系统物理分开:清算批量可以重跑、可以重算(反正只是数字);结算执行必须幂等、必须可断点续作(划付指令发出去半批不能重复发);
  • 清算输出是结算的唯一输入源:结算引擎只认清算产出的净额文件,任何人(包括运维)手工改结算数据都视为事故——防止"先把钱划了回头再补手续";
  • 两步之间要有对账闸门:清算结果与交易所/中国结算下发的对账文件核对一致,才允许结算引擎启动。这个闸门是 T+1 交收体系里最贵也最值得的一道检查,它把"算错"挡在"给钱"之前。

清算 vs 结算这一篇是后面十七篇的地图:法人清算的二级结构、清算文件解析、清算任务编排、交收执行、违约处置,每一篇展开的都是这张地图上的一个街区。

清算算数、结算过钱:两道闸门之间是可修正的缓冲区清算(T 日日终批量)轧差 + 保证金 + 费用产出:应收应付净额结算(T+1 交收)资金划付 + 证券过户产出:资产所有权转移对账闸门核对不一致即熔断净额效应:n 方两两交割 O(n²) 笔 → 只对 CCP 结净额 O(n) 笔全市场实际资金划付被压到成交总额的 1% 以下DVP:券和钱互为交割条件,CCP 承接窗口内的对手方风险纪律:结算只认清算净额文件,两步之间任何人手工改数都算事故