↓ 跳过正文
  1. Posts/

中国证券清算系统内部架构:上交所、深交所、中国结算、券商柜台之间 T 日到 T+1 的完整数据流

中国证券清算系统内部架构:上交所、深交所、中国结算、券商柜台之间 T 日到 T+1 的完整数据流
#

很多投资者理解股票交易:

买入股票
      ↓
交易成功
      ↓
第二天股票到账

但在证券IT系统里面,一笔交易实际上要经过:

投资者
 ↓
券商柜台系统
 ↓
交易所交易系统
 ↓
中国结算清算系统
 ↓
证券账户系统
 ↓
银行资金系统
 ↓
券商后台
 ↓
投资者账户

整个市场每天像一个巨大的分布式事务系统运行。

如果把证券市场看成一个大型数据库:

  • 交易所负责产生“成交事实”
  • 中国结算负责形成“最终账本”
  • 券商负责维护客户侧账户和业务状态
  • 银行负责资金最终交收

这就是中国证券市场每天 T 日到 T+1 日运行的核心逻辑。


一、先理解证券市场四层架构
#

中国证券市场大致可以分成四层。

第一层:投资者接入层
#

包括:

  • 手机APP
  • 网上交易系统
  • 营业部柜台
  • 机构交易终端
  • 量化交易接口

例如:

投资者
   |
   |
同花顺/券商APP/机构系统

这一层解决:

用户如何提交买卖请求。


第二层:券商交易核心层
#

券商内部通常包括:

柜台系统
    |
    |
集中交易系统
    |
    |
风控系统
    |
    |
资金系统
    |
    |
清算系统

例如:

投资者买入1000股:

券商首先检查:

资金是否足够?

股票是否可以买?

是否超过风控限制?

账户是否正常?

通过后才发送交易所。


第三层:交易所系统
#

包括:

  • 上海证券交易所
  • 深圳证券交易所

负责:

订单接收

订单排序

撮合成交

行情生成

成交回报

交易所解决:

买卖双方是否成交。

但是:

交易所不是最终证券登记机构。


第四层:中国结算
#

中国证券登记结算有限责任公司(中国结算)负责:

证券登记

清算

交收

账户管理

持有人名册

它解决:

成交以后,谁最终拥有股票,谁最终拿到钱。


二、一个股票订单从产生到完成
#

假设:

投资者A:

买入:
1000股某股票
价格:
10元

投资者B:

卖出:
1000股
价格:
10元

最终:

成交金额:

10000元

完整链路:

投资者A
 |
 |
券商A柜台
 |
 |
交易所
 |
 |
撮合成交
 |
 |
交易所返回成交
 |
 |
中国结算
 |
 |
证券账户变化
 |
 |
T+1完成交收

三、T 日上午:投资者提交订单
#

09:15 开始:集合竞价阶段
#

投资者提交:

买入10元
1000股

APP显示:

委托已提交

实际上:

数据流:

手机APP

↓

券商交易接入系统

↓

柜台委托系统

↓

集中交易系统

↓

交易所接口

券商内部会生成:

委托流水号
#

例如:

202609010000123456

包含:

客户号

证券账号

股票代码

买卖方向

价格

数量

时间

四、T日上午:交易所撮合
#

交易所收到:

买单:

买入
10元
1000股

卖单:

卖出
10元
1000股

撮合:

成交

交易所产生:

成交回报
#

内容:

成交编号

股票代码

成交价格

成交数量

成交时间

买卖方向

然后:

两条数据流同时产生。


第一条:实时成交回报
#

返回券商:

交易所

↓

券商交易系统

↓

投资者APP

投资者看到:

已成交

第二条:清算数据
#

发送给中国结算:

交易所

↓

中国结算

告诉中国结算:

今天发生了哪些证券交易

五、T 日下午:交易结束后的清算
#

交易结束以后:

交易所关闭连续交易。

但是后台工作才开始。


中国结算开始:

第一步:证券清算
#

计算:

谁应该得到股票。

例如:

买方:

+1000股

卖方:

-1000股

形成:

证券交收数据。


第二步:资金清算
#

计算:

买方:

支付10000元

卖方:

收到10000元

第三步:生成清算文件
#

传统架构中:

大量采用:

批处理文件

例如:

证券成交文件

资金清算文件

股份变更文件

费用文件

发送:

中国结算

↓

券商

六、券商收到清算数据以后
#

券商后台进入日终处理。

也就是:

EOD(End Of Day)。


典型流程:

交易系统

↓

清算系统

↓

资金系统

↓

股份系统

↓

客户账户系统

券商需要做:

1. 更新客户持仓
#

例如:

之前:

客户A

000001股票

0股

清算后:

客户A

000001股票

1000股

2. 更新资金
#

交易前:

现金:

20000元

买入:

-10000

手续费:

-5

余额:

9995元

3. 对账
#

券商必须确认:

自己的数据:

成交数量

资金金额

客户持仓

和:

中国结算:

完全一致

七、T+1 日:最终交收
#

第二天:

中国结算完成:

股票交收
#

股票:

卖方账户

↓

买方账户

资金交收
#

资金:

买方资金

↓

卖方资金

然后:

券商更新:

客户可用余额

可卖证券数量

八、为什么中国股市实行 T+1?
#

历史原因:

第一:
#

防止过度投机。

如果:

上午买入

下午卖出

容易造成:

高速短线炒作。


第二:
#

给清算系统留下时间。

早期:

人工清算

纸质凭证

柜台处理

需要时间。


第三:
#

降低交收风险。

如果当天无限交易:

后台需要:

实时完成:

登记

资金

证券

风险控制

难度极高。


九、从技术角度看:证券市场其实是分布式事务系统
#

一笔交易:

同时影响:

交易数据库
#

订单状态

成交状态

证券数据库
#

股票持有人

资金数据库
#

现金余额

风控数据库
#

持仓风险

类似:

一个金融版分布式事务:

交易成功

↓

多个系统必须最终一致

十、为什么券商需要核心交易中间件?
#

因为内部系统很多:

柜台

↓

交易核心

↓

资金系统

↓

风控系统

↓

清算系统

↓

报表系统

如果全部直接调用:

容易:

系统耦合

性能下降

故障扩大

所以出现:

消息总线:

业务系统

↓

消息队列

↓

业务系统

例如:

金证:

KCBP
 +
KCXP

恒生:

AS
 +
AR

解决的问题就是:

高并发交易

异步通信

状态同步

故障恢复

十一、一个完整 T 日/T+1 数据流图
#

             投资者

                |

                ↓

          券商APP/终端

                |

                ↓

          券商柜台系统

                |

                ↓

        集中交易核心系统

                |

                ↓

        =================

             上交所

             深交所

        =================

                |

                ↓

          成交数据

                |

                ↓

          中国结算

                |

        +-------+-------+

        ↓               ↓

    证券登记       资金清算


        |

        ↓

       券商

        |

        ↓

    客户账户更新

        |

        ↓

      T+1可用

十二、和1986年柜台交易时代相比
#

1986年:

投资者

↓

营业部柜台

↓

人工登记

↓

纸质股票

↓

企业股东名册

1990年代:

投资者

↓

营业部

↓

交易所席位

↓

交易主机

↓

登记结算

今天:

投资者

↓

APP

↓

券商分布式交易系统

↓

交易所核心系统

↓

中国结算

↓

电子登记

十三、证券市场真正的核心不是交易,而是结算
#

很多人认为:

证券市场最重要的是:

交易速度

实际上:

大型金融市场最核心的是:

交易完成以后,

所有账本必须一致。

因为:

交易可以失败。

但是:

错误登记一个亿万规模市场的资产,

整个金融体系都会受到影响。

所以:

证券系统的皇冠不是交易撮合系统。

而是:

交易系统

+

清算系统

+

登记系统

+

托管系统

+

风险控制系统

共同组成的金融基础设施。


相关文章