聊聊:证券交易链路和极速交易那些事儿
大家平时都会接触到很多交易链路,比如支付、抢票等等,大量公司都会想办法优化交易链路的实际实现极速交易,但这个链路专业性和复杂度都非常高。本文做了一个简单梳理,希望能帮助大家进行了解。
其实交易链路、极速交易在我们平时生活中彼彼皆是,有可能大家平时没太留意而已,如平时网购、外卖、转账冲值、线下扫码支付;秒杀、春节回家抢高铁票等等都有各自的交易链路和极速交易。如下图所示电商交易链路:
大量公司想尽办法和花重金去优化交易链路,如:优化交易流程减少不必流程节点、交易软件(网站、app和客户端)、数据库读写能力、采用分布式交易网络、交易物理设备等等,从而提升交易速度、保障交易稳定性、降低交易延时性和高并发量等。
然而在证券行业对交易全链路和极速交易更为青睐、更为执着追求秒级 -> 毫秒级-> 微秒级-> 纳秒级:即所谓的“极速交易”。极速交易系统已经成为证券和期货公司“军备竞赛”的关键设施。
在未开始话题之前,烦请大家先思考10秒:“为什么各大券商热忠优化交易链路、推崇极速交易?”。正如爱因斯坦说过:“如果我必须用一小时思考一个问题,我会花55分钟考虑我要提出什么问题,用5分钟时间找答案。”所以我们大家要刻意去培养提出好问题的习惯。
证券交易全链路和极速交易,它两的关系是相辅相成、相互促进、全链路是基础,有了全链路优化才可能有“极速交易”的体验。当然单点优化也能带来快的感,不是那种超快、超稳、超全爆爽的感觉。
要聊好它两可从:背景、定义/流程、技术、成本、市面产品等方面入手。让我们一点一点的切入,一块一块的展开,从入门逐渐到精通之旅吧。
文章可能会有不足之处,欢迎大家给我多多提意见、留言反馈和补充,如有错误之处,请大家指正,我们评论区见。主打“分享、交流”,不立人设一起学习、一起进步。
一、背景
需求或业务要弄清它们的背景或发生场景,才可能设计出来的产品贴近客户实际需求或使用场景,从而赢得用户。然而证券交易全链路和极速交易的背景可分为三种背景:客户需求、技术发展和政策支持,下面我们分别来聊聊吧。
1. 客户需求
1.1.1、在股票、期货、期权等衍生品市场上交易原则:价格优先、时间优先。自2015年以来,大量的量化私募客户、高净值客户等机构投资者和专业投资者对于交易系统的要求越来越高,对Ta们来说每一秒都至关重要,速度就是生命和金钱(如:新股刚上市和次新股第二波上涨、突发利好、重大利空卖出)。
1.1.2、行情数据瞬息万变,盈利的机会转瞬即逝,拥有更低的时延、更快的响应,意味着能精准把握买卖机会和点位。交易系统的处理速度越快,就越有可能在瞬息万变的市场中占据优势,以至于Ta们愿意付出巨大的代价来争取一微秒的时间优势。
1.1.3、各大券商纷纷响应市场和客户的需求,要么自研、要么和三方联合开发、要么采购三方的极速交易整体解决方案和系统。为客户提供了优质的低时延交易服务,助力公司机构交易业务始终站在市场前列,抢点客户和市场。注:一般开通极速交易投资者的资产要高达100W,佣金费率是万分之3起。
2. 技术发展
1.2.1、随着计算机技术和金融科技的快速发展,软件方面:特别是云计算、大数据、算法、FPGA(现场可编程门阵列)、超低时延转发技术,硬件方面:服务器(CPU、内存)、交换机和网卡更新换代快,性能一代比一代强,网络方面:有百兆、千兆和万兆专用光纤。以下是从时延、抖动、带宽、吞吐量和时钟同步等方面综合测试评估表,如下图所示:
图及数据源于:上交所技术服务,若侵权请联系删除
图及数据源于:上交所技术服务,若侵权请联系删除
3. 政策支持
1.3.1、证券行业中比较特殊,若仅有客户需求,技术又能支撑客户需求发展这永永不够的,还得要有政策的允许和支持,像15年场外配资,虽然客户有强烈的需求、技术又能满足和支撑配资需求发展,最后监管机构依法打掉场外配资,挽救多少家庭。
1.3.2、解决客户对于交易时延的极致需求,降低交易系统在低时延、提升交易系统高并发等,监管机构出台和颁布了《证券期货市场程序化交易管理办法(征求意见稿)》、《证券公司收益互换业务管理办法》和《关于加强程序化交易管理有关事项的通知》等法规及自律规则,更是为量化投资机构提供了规范的市场参与指引,助力二级市场流动性更加活跃。
图及数据源于:券商中国,若侵权请联系删除
二、定义/流程
证券交易链路和极速交易的背景上面已聊了,现我们一起来聊聊:证券交易链路和极速交易定义/流程等。
1. 证券交易链路
2.1.1、证券交易链路:证券交易链路是过程,整个交易过程中所涉及众多的交易环节和参与方。一般而言,证券交易链路包括以下几个环节:交易所、券商、投资者、清算机构、存管银行、监管机构,大家各司其职共同推动证券交易有序、健康、稳定发展。
2.1.2、证券交易链路流程:登录交易软件->获取行情 -> 发出下单指令->券商柜台(服务器)->验资验券->柜台报盘机->报送至交易所->交易所撮合成交->交易数据返回客户。
2.1.3、衡量证券交易链路指标:有5个 – 往返延时指标、交易柜台内部延迟、交易策略服务器至交易柜台延迟、操作系统延迟。下图是全链路时延的节点及延迟的时长(注:此图找了很久,才从南京证券科技先锋公众号找到,主要向大家展示延迟节点和时长)。
图及数据源于:南京证券科技先锋,若侵权请联系删除
简单提下往返延时指标,剩下其它指标不太了解,待弄清楚后再和大家聊下。交易延迟高最常用的指标是往返延时(Round Trip Time),即交易订单从客户策略服务器发至经纪公司交易柜台,交易柜台内部处理后发往交易所,交易所确认报单后发送回报给交易柜台,再从柜台发送至客户策略机的一来一回整体链路的耗时。
2.1.4、交易链路上改造点:有低时延交换机、低时延网卡、操作系统、数据库、程序代码跨平台适配编译等等。
小结:1、交易链路如上图,大致可以分为三部分,交易所行情送达(交易下行部分)、客户系统生成交易信号和客户委托传输(交易上行和交易下行部分)。其中,作为券商向客户提供的优化主要集中在交易所行情送达和客户委托传输上。
2、交易链路越短越快:但要做到交易链路上各节点都最短,要花不少成本:如从黑龙江到深沪交所,南北纵横几千公里,需要的时间肯定比较多。如果从行情到交易软件就放在同一个物理位置,速度肯定更有优势。因此券商就要把交易主机放在券商机房里(机房就在交易所:两地和三中心),距离更近,速度就更快。“两地”指上海和广东省(东莞市),“三中心”指上海陆家嘴证券大厦数据中心站点(以下简称陆家嘴站点)、外高桥卫星通信地球数据中心站点(以下简称外高桥站点)
图根据上海证券交易所竞价撮合平台市场参与者接口规格说明书整理,如有侵权请联系删除。
2. 极速交易
2.2.1、极速交易:通过券商提供的极速交易链路,包括主机托管、极速行情、极速柜台和特定客户策略交易系统等环节,整合为一整套高效、快速、稳定的交易解决方案。
2.2.2、极速交易系统架构图:各家极速交易系统架构图各有不同,但也有相同之处。附上两版架构图方便大家学习和交流,图一为通用简洁的拓朴图:
图二:中金公司超极速交易系统架构图,架构图细节比较丰富方便大家较全了解和学习极速交易系统。
图源于:金融电子化公众号:江顺锁:中金公司超极速交易系统探索与实践,如有侵权请联系删除
2.2.3、基于FPGA硬件加速技术,实现低延时的行情解码架构图
图源于:金仕达科技公众号,如有侵权请联系删除
三、技术
各大券商为了做到比别家先行一步,先发现行情机会,先委托成交,帮客户赚别人还没赚的钱。纷纷想尽办法、组建团队、花重金去研发且落地极速交易一整套解极速交易方案和系统。
在开始前烦请大家思考10秒下:那到底有哪些因素影响交易系统的端到端时延?交易系统通常由行情柜台、交易柜台、策略服务器、交换机等设备组成,交易软件、服务器、网卡、交换机等软硬件设备的性能都会直接影响交易系统的整体延迟。
下面我们将分为软硬件技术和大家一起聊聊。
1. 软件技术
3.1.1、极速交易系统软件部分一般由:行情、交易、策略、风控、账户、数据和实时消息等组成。它们往往会涉及到如下技术:全内存、数据缓存加速、无锁队列技术、低延时总线、组播传输、负载均衡、线程绑核、数据库高并发、大数据、云计算和AI算法等等技术。
3.1.2、极速交易系统软件部分开发工具和开发语言:一般采用C++ 或C进行开发,以实现高效性能;在系统服务层如:账户管理、风控、策略、实时通知等,一般采用:Java SpingBoot 和 Java的动态语言能力,实现热部署与策略代码的热更新;在算法模型服务,一般采用Python进行开发,采用成熟的 TensorFlow 、Torch 框架。采用什么开发工具和语言,要看客户需求、公司技术积累、人才储备和投入,谨慎选择。
小结:1、目前主流交易平台软件部分一般采用C++或C比较多,为了更低延迟交易框架设计方案利用编程语言和并建立多语言平台接入方案,兼顾交易系统执行速度和交易策略模型搭建的效率。这里主要不看广告,看疗效!
2、一套完善的交易系统除了以上提的之处,还有满足高性能、易管理、易开发、高可用。真的不看广告,看疗效!否则相当麻烦会出大问题的。
3.2、硬件技术
3.2.1、一整套极速交易系统解决方案,当然少不了硬件的搭配,硬件有:低延时交换机的使用、低延时网卡的使用、机房物理位置调整、千兆高速宽带、网络防火墙调整、API启动和穿透调优、报盘机绑核、JVM性能优化。软硬结合、组播传输等技术来加速硬件柜台内的穿透延时,与极速柜台上下游相关的模块进行调优为了全链路调优。
3.2.2、以上会用到不少硬件技术,对于硬件技术完全是门外汉,太深奥了,不展开聊了以免误人误自。这里简单提下:FPGA(现场可编程门阵列)技术。
3.2.2.1、FPGA(Field- Programmable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展出来的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
3.2.2.2、FPGA 普遍用于实现数字电路模块,用户可对 FPGA 内部的逻辑模块和 I/O模块重新配置,以实现用户的需求。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。
图源于:百度图片,如有侵权请联系删除
3.2.2.3、FPGA 的设计流程包括算法设计、代码仿真以及设计、板级调试,设计者以及实际需求建立算法架构,利用 EDA 建立设计方案或 HD 编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至 FPGA 芯片中,验证实际运行效果。
3.2.3、FPGA的整体架构:主要包括可配置逻辑块 CLB(Configurable Logic Block)、输入输出块 IOB(Input Output Block)、内部连线(Interconnect)和其它内嵌单元四个部分。
3.2.4、FPGA开发流程:利用 EDA 开发软件和编程工具对 FPGA 芯片进行开发的过程。FPGA的开发流程一般如下图所示,包括功能定义/器件选型、设计输入、功能仿真、逻辑综合、布局布线与实现、编程调试等主要步骤。具体可自行百度进行了解。
3.2.4、FPGA行情开发:基于FPGA的硬件加速的方法进行行情的处理,FPGA有可编程、低延时的特性,基于RTL(寄存器传输级)级的逻辑编程,可以定制各种解码方案,实现数据的并行处理,达到极低的延时,满足金融证券交易者对低延时的需求。将通过万兆以太网传输而来的行情信息送入FPGA中,再由FPGA进行行情的解码,过滤不需要的行情,发送给客户服务器,客户获得行情信息。具体可自行百度进行了解。
好了有关硬件及硬件编码只能聊到这里了,真的是不了解实在是太深奥了,推荐大家有空去知呼看看:艾克雄写的一篇文章:什么是FPGA?FPGA 简介。
四、成本
通过前面和大家聊了相关极速交易解决方案、交易系统的内容,在不同程度上对Ta们有了了解,进一步介绍搭建极速交易解决方案、系统需要花费的成本,分别从软件、硬件等角度向大展示,可能不一定准确,供大家参考和学习。
基于以上内容很难估算一套极速交易解决方案和交易系统的成本,预估成本在:5000万以上,开发和维护基于FPGA的交易系统比较复杂,需要专门的技能和专业知识。考虑使用基于FPGA的解决方案的金融机构应评估其是否拥有内部专业知识来开发和维护这些系统,或者是否需要外包这项工作。
五、市面产品
5.1、一个市场繁荣与发展离不开,市场上厂商的努力与贡献。以下收集到各厂商产品信息,数据源于:各厂家官网、公众号、实盘和券商路演反馈,尽量做到公正和准确。数据仅供参考虑不做任何实际性建议,欢迎大家留言,一起优化下数据。(如:数据有不实烦请联系修改,更欢迎其它厂商提供产品信息)。
注:速度方面:同一系统上的不同券商、同一券商上的不同系统都会因防火墙、硬件配置、网络、调优等会有差异。
5.2、源本打算收集各券商自研极速产品,但实在太难收集(欢迎券商提供产品信息)。
文章写到这里就结束了,文章可能会有不足之处,欢迎大家给我多多提意见、留言反馈和补充,如有不妥之处,烦请大家指正,我们评论区见。
参考资料
1、【交易技术前沿】低延时网卡虚拟化在证券极速交易系统的最佳实践 -上交所技术服务
2、FPGA技术在极速交易场景的应用示范 -证券信息技术研发中心
3、申万宏源联合实验室低时延技术负责人张宏的主题演讲——《证券低时延交易系统全链路自主可控创新实践》
4、江顺锁:中金公司超极速交易系统探索与实践
5、各厂商公司官网,公众号
6、知乎 – 话题:现场可编辑逻辑门阵列(FPGA)
专栏作家
magbox勇,公众号:围炉喝茶聊产品,人人都是产品经理专栏作家。专注证券基金产品、企业数字化、财务产品设计和开发。
本文原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
干货满满!点赞。
文中举的黑龙江到交易所的例子,问题没得到解决,这套系统是怎么解决因为地理位置造成的时延不同的问题呢?比如,两个人同时提交了一笔交易订单,一个在黑龙江,一个在上海,这两个人最终交易的时间是相同的吗?
所用的时间肯定是不相同的,这个地理位置所造成的,数据在传输过程是需要时间,只这个时间很短而已人无法感知。