证券交易系统设计与开发 - 廖雪峰的官方网站

标签: | 发表时间:2020-08-13 20:32 | 作者:
出处:https://www.liaoxuefeng.com

证券交易系统是金融市场上能够提供的最有流动性,效率最高的交易场所。

和传统的商品交易不同的是,证券交易系统提供的买卖标的物是标准的数字化资产,如USD、股票、BTC等,它们的特点是数字计价,可分割买卖。

证券交易系统通过买卖双方各自的报价,按照价格优先、时间优先的顺序,对买卖双方进行撮合,实现每秒成千上万的交易量,可以为市场提供高度的流动性和价格发现机制。

本文讨论如何设计并实现一个证券交易系统。

我们以一个美元计价的数字货币交易所为例,实现一个比特币的BTC/USD交易系统。

一个完整的证券交易系统是由用户系统、账户系统、订单系统、撮合系统以及清算系统等子系统构成的。各个子系统相互配合,完成证券报价交易。

      1  ┌───────────┐  2  ┌───────────┐  7  ┌───────────┐
Request  ────>│   User    │────>│  Account  │<────│ Clearing  │
              └───────────┘     └───────────┘     └───────────┘
                                     3│                 ▲
                                      ▼                 │
                                ┌───────────┐           │
                                │   Order   │          6│
                                └───────────┘           │
                                     4│                 │
                                      ▼                 │
                                ┌───────────┐  5  ┌───────────┐
                                │ Sequence  │────>│   Match   │
                                └───────────┘     └───────────┘
                                                        │
                                                        ▼
                                                  ┌───────────┐
Market   <────────────────────────────────────────│ Quotation │
                                                  └───────────┘

当一个请求进入交易系统后,首先由用户系统(User)识别用户身份,然后由账户系统(Account)对用户资产进行冻结,买入冻结USD,卖出冻结BTC,冻结如果成功,订单就进入定序系统(Sequence)。

为什么需要设计一个定序系统?因为交易系统的所有订单是一个有序队列。不同的用户在同一时刻下单,也必须由定序系统确定先后顺序。

经过定序的订单被送入撮合引擎(Match)。

撮合引擎是交易系统的核心。撮合引擎本质上就是维护一个买卖盘列表,然后按价格优先原则对订单进行撮合,能够成交的就输出成交结果,不能成交的放入买卖盘。这里注意没有时间优先原则,因为经过定序的订单队列已经是一个时间优先的队列了。

当撮合引擎输出了成交结果后,该成交记录由清算系统(Clearing)进行清算。清算的工作就是把买单冻结的USD扣掉,并加上买入所得的BTC,同时,把卖单冻结的BTC扣掉,并加上卖出所得的USD。根据taker/maker的费率,向买卖双方收取手续费。

清算系统完成清算后,更新订单状态,再通知用户,用户就可以查询到买卖的成交情况。

在撮合引擎输出成交记录给清算系统的同时,它还把去除用户和订单相关信息的成交记录输出给行情系统(Quotation),由行情系统保存市场的成交价、成交量等信息,并输出实时价格、K线图等技术数据,以便公开市场查询。

经过这样的模块化设计,一个证券交易系统就具备了雏型。


相关 [证券 交易 系统] 推荐:

证券公司交易系统架构演进探析 - jimshi - 博客园

- -
券商作为证券市场的中介机构,承担了为广大投资者提供证券交易通道的市场责任. 你知道交易指令是如何传递到交易所并最终成交的吗. 上图是一个典型的券商交易系统逻辑架构,手机App、网上交易等系统称为渠道系统,职责是为投资者提供交易渠道,并对指令做初步的要素检查,最终所有合法交易指令都会发送到集中交易系统进行统一业务逻辑处理.

证券交易系统设计与开发 - 廖雪峰的官方网站

- -
证券交易系统是金融市场上能够提供的最有流动性,效率最高的交易场所. 和传统的商品交易不同的是,证券交易系统提供的买卖标的物是标准的数字化资产,如USD、股票、BTC等,它们的特点是数字计价,可分割买卖. 证券交易系统通过买卖双方各自的报价,按照价格优先、时间优先的顺序,对买卖双方进行撮合,实现每秒成千上万的交易量,可以为市场提供高度的流动性和价格发现机制.

常见分布式应用系统设计图解(十二):证券交易系统

- - 四火的唠叨
这篇讲的是证券交易系统,这类系统包含的内容很多,但是我们还是把目光放在核心的交易部分,比如说股票交易. 在某个可交易时间,如果卖家 A 要以至少 y 的价格卖掉股票 x,卖家 B 愿以至多 y 的价格买入股票 x,那么这个交易就可以发生. 虽说是交易系统,但是它和任何一个支付平台的交易系统有着显著的不同,它的核心是一个竞价匹配的机制,而非货币支付的机制,简单地说,这个机制包含了这样四个步骤:.

某证券清算系统的一次性能调优

- - Java - 编程语言 - ITeye博客
上线前,用户预估平均一天交易量约一万条,峰值约两万条. 项目上线第一天,交易量有4万条. 对于这4万条左右的交易信息的清算,花了一个多小时(清算时需要我们系统发指令给清算所,由清算所按照我们系统的指令进行清算,最后把结果通过MQ返回给我们). 用户提出以后交易的峰值可能达到一天5万条. 我们按照2倍的处理能力,定下一天10万条交易信息的处理量的目标.

交易系统的历史回测应该注意什么

- - 知乎每日精选
交易系统必须能通过历史回测才可以投入使用. 无法通过历史回测的交易系统不可能在实际交易中获利. 历史回测是交易系统投入实盘的必要前置环节. 能通过历史回测的交易系统不一定是好用的交易系统,但不能通过历史回测,则一定不是好用的交易系统. 一般地,回测交易系统,需要从稳健性(Robustness)分析的角度特别留意以下四点.

王海亚:淘宝交易系统演进之路

- - CSDN博客研发管理推荐文章
淘宝的交易系统承载了购物车、下单、订单管理等多项淘宝的重要业务,随着淘宝业务量的不断上升,交易系统也随之几经改造. InfoQ此次专访了阿里巴巴架构师王海亚,另外作为ArchSummit深圳2014大会《电商,各走各的路》专题的讲师,王海亚将会分享淘宝交易平台的架构演变及并行化实践. InfoQ:淘宝的交易系统,主要承载了哪些业务.

交易系统的消息服务如何保证100%可靠

- - 廖雪峰的官方网站
分布式应用中,消息系统被大量使用,主要原因有:. 发送方和接收方不需要相互知道对方,一个只管发,一个只管收,大大简化了处理逻辑. 如果发送方发送速度快于接收方的接收速度,消息系统就可以暂时将无法处理的消息缓存起来,让接收方慢慢处理. 没有消息系统时,发送方就不得不配合接收方降低处理速度,从而拖慢了整个系统的性能.

Apache ShardingSphere在转转亿级交易系统落地实践

- - 掘金 后端
这几年随着转转二手业务的快速发展,订单系统的基础性能问题也愈发严重,作为系统运转的基石,订单库压力不容小觑. 大促期间DB压力大,单库查询qps上万占用大量数据库资源,写性能大大降低;. 数据与日剧增,单库中包含非常多数据量过数亿的大表,占用空间接近服务器的容量上限;. 数据量太大,数据备份和恢复需要耗费很长时间,极端情况下丢失数据的风险越高.

撮合交易系统服务边界与设计_qq_18537055的博客-CSDN博客_activi撮合交易

- -
如何设计并实现一个数字货币交易系统     .         证券交易系统是金融市场上能够提供的最有流动性,效率最高的交易场所. 和传统的商品交易不同的是,证券交易系统提供的买卖标的物是标准的数字化资产,如USD、股票、BTC等,它们的特点是数字计价,可分割买卖.         证券交易系统通过买卖双方各自的报价,按照价格优先、时间优先的顺序,对买卖双方进行撮合,实现每秒成千上万的交易量,可以为市场提供高度的流动性和价格发现机制.

战狼项目:美团点评金融核心交易系统可用性7个9是这样炼成的

- - 美团点评技术团队
2017年8月25日,我怀着“再也不要在下班时间收到报警”的美好期待,加入美团金融智能支付负责核心交易,结果入职后收到的报警一天紧似一天. 核心交易是整个智能支付的核心链路,承担着智能支付百分之百的流量,不敢有丝毫的懈怠. 从图中可以看到从17年下半年开始,我们的日单量增长迅速,而且压力和流量在午、晚高峰时段非常集中.