A股市场的投资者必须通过证券公司交易柜台链接交易所,即交易订单从客户策略服务器发至证券公司交易柜台(比如中金财富证券、中信证券、国信证券等),交易柜台内部处理完后发往交易所(沪市、深市和北交所),交易所确认报单后再发送回交易柜台。在这整个过程中的交易延时,报单发送交易所和回报返回至策略服务器的链路是一致的。就给大家简单分析一下高频量化交易的市场技术层面。
在一般互联网应用中,用户对于延时在1秒内基本上不会有太大的敏感,而在高频量化交易场所,对于时延却极其敏感,因为在这种业务中,时间就是金钱,先出价的人先成交。如果一家量化交易公司哪怕比竞争对手多1ms的延时,意味着会损失很多钱。所以在高频量化交易市场,可以见到网络架构中几乎是全球的低延时网络架构了。下面我们就来了解一下某券商的低延时网络架构,具体是在全链路的哪些环节进行了优化,才能使得交易速度得到如此大的tisheng?
1、使用FPGA极速行情
在高频量化交易中,大量地采用了FPGA编程计算,FPGA相比GPU的核心优势在于低延迟。所有数据均不需要跨越PCIE总线,另外在FPGA的数据传输不需要进行多次数据拷贝,其加速效果甚至可以达到CPU的10~100倍。使用FPGA还有可能实现TCP、IP、epoll等机制,甚至还包括业务逻辑处理,这样可以把系统延时做到百纳秒级别,甚至几十纳秒。
深圳现货市场的全链交易时延为2.8ms,华锐柜台穿透时延上行:34μs,下行:12μs;深圳两融的全链交易时延为2.9ms,华锐柜台穿透时延上行:55μs,下行:14μs。
上海现货市场的全链交易时延为30.4ms,华锐柜台穿透时延上行:43μs,下行:13μs;上海两融的全链交易时延为30.6ms,华锐柜台穿透时延上行:83μs,下行:15μs。接收上证逐笔行情比之前快大约1ms。
并且升级了FPGA板卡,不再联动重启客户系统行情端口,SF网卡假死的概率明显降低,客户机器自动检查网卡状态,如发现异常自动修复。
2、升级行情网关系统
网关是指放置在券商处,用于连接券商与交易所系统的软硬件设施。券商可同时使用多个网关进行报盘,但不允许使用他人的网关报盘。券商可根据需要将下属交易单元配置到网关上,多个交易单元可以同时配置在一个网关上,一个交易单元也可以配置在多个网关上。交易所通过网关对券商的报盘流速进行总量控制,当实际报盘速率到网关的流速限制值时,节流功能开启,超过限制值的报盘将被推延至下一时段传送。券商可根据需要申请对网关的报盘流速进行设定,深交所规定每份标准流速为50笔/秒,配置到网关上的流速必须是标准流速的整数倍,目前单个网关支持的大流速为1000笔/秒。
目前我所在的证券公司已经上架了5.8GHz超频机,部署行情网关,深圳网关穿透效率tisheng约30%,快照穿透降低30us,逐笔穿透降低10us。上海网关穿透效率tisheng约50%,快照穿透降低20us,逐笔穿透降低40us。
3、支持硬解码行情
基于硬解码的行情比软解码的速度更快,深圳FPGA硬件解码穿透时延快照:100ns,逐笔:500ns;上海FPGA硬件解码穿透时延快照:500ns,逐笔:500ns;不过对于券商来说,使用硬解码行情的话,需要客户自己购买物理机和FPGA板卡。
4、优化报盘组
上海节点现货和两融上线报盘组优化,使用背景liuliang方案优化稀疏单,后续使用流水线优化脉冲单。
5、优化网络线路
切换金桥数据中心与南方数据中心超低延时线路传输跨市场行情,传输效率tisheng39%。就近部署是简单有效的方法,链路上传输比较耗时那就直接把链路降低的短一些,很多交易中心都在交易所附近租服务器,比如深交所传送到南方数据中心,而在上交所附近设置中金唐镇机房,数据传送到金桥数据中心,金桥数据中心与中金唐镇机房双向时延约50μs。
还有就是跨地区的话,通过独占的物理线连接,这样就可以用短的物理线路,也不用受公网传输数据的干扰,稳定性和安全性也更好,这个在国内用的还是比较多的。
6、优化交换机
优化极速行情转发源服务器接入速度,行情转发接入时延从50ns降低到5ns。优化极速行情物理布线,tisheng数据中心现场操作效率,从而缩短交付时间。合理分配低延时交换机资源,为对时延为敏感的客户,提供顶配交换机资源。扩容行情交换机,使接入容量增加了70%。