一、行情系统概述

各位同学好,我是老张。今天开始咱们聊极速行情系统。

做量化交易这些年,我见过太多团队在行情系统上栽跟头。有的延迟高了几个微秒,策略直接失效;有的吞吐量扛不住,数据丢了都不知道。说白了,行情系统就是量化交易的「眼睛」——眼睛要是花了,再厉害的大脑也白搭。

1.1 极速行情系统的定义

极速行情系统,简单来说就是:从交易所产生行情数据,到你的策略程序收到这笔数据,整个过程要尽可能快、尽可能稳

我个人的理解是,它不只是一个软件,而是一整套「从网卡到应用层」的优化链路。你想想看,行情数据从交易所的撮合引擎出来,经过网络、交换机、网卡、内核协议栈,最后到你的应用程序——这中间每一步都可能成为瓶颈。

核心定义:极速行情系统是指通过软硬件协同优化,实现微秒级甚至亚微秒级行情数据接收、解码、分发的基础设施。

我在2018年参与过一个项目,当时团队用的是开源方案,从收到行情到策略能用的延迟大概在50微秒左右。后来我们做了全链路优化,包括FPGA网卡、内核旁路、共享内存,硬生生压到了5微秒以内。嗯,这就是极速行情系统的价值所在。

1.2 核心指标

评价一个行情系统好不好,主要看三个指标:延迟、吞吐量、抖动。这三者缺一不可。

1.2.1 延迟

延迟就是行情数据从交易所到你策略的时间差。单位通常是微秒(μs),甚至纳秒(ns)。

延迟又分几种:

  • 网络延迟:光纤传输时间,光速限制下,1公里大约5微秒
  • 处理延迟:网卡接收、协议解析、数据解码的时间
  • 分发延迟:行情数据从接收节点到策略节点的传输时间

我曾经遇到过一个坑:某次系统上线后,延迟比预期高了20微秒。排查了三天,最后发现是交换机的一个端口配置了流控。关掉之后,延迟立刻降下来了。所以啊,延迟优化是系统工程,任何一个环节都不能忽视

实战经验:我个人习惯把延迟拆解成「固定延迟」和「可变延迟」。固定延迟由硬件决定,比如光纤长度;可变延迟来自软件处理,比如CPU调度、内存分配。优化时优先干掉可变延迟。

1.2.2 吞吐量

吞吐量指的是系统单位时间内能处理的行情数据量。比如每秒能处理多少笔逐笔成交、多少条订单簿快照。

A股市场,全市场逐笔成交峰值大概在每秒几十万笔。期货市场更夸张,中金所股指期货的行情峰值能到每秒百万笔以上。你的系统必须扛得住这种压力。

我记得有一次做压力测试,行情模拟器以2倍峰值速率发送数据,结果系统直接挂了——内存暴涨,CPU打满。后来发现是解码模块里有个无锁队列设计不合理,生产者太快,消费者跟不上。说白了,吞吐量不只是「快」,更要「稳」

市场 峰值吞吐量(笔/秒) 数据包大小
A股全市场 30万-50万 100-200字节
中金所期货 80万-120万 80-150字节
美股全市场 200万+ 50-100字节

1.2.3 抖动

抖动,也叫延迟方差。它衡量的是延迟的稳定性。

为什么抖动重要?你想想看,如果你的行情延迟平均是10微秒,但有时候突然跳到100微秒——这种「毛刺」对高频策略是致命的。做市商策略往往依赖稳定的行情输入,一旦抖动过大,策略会做出错误判断。

注意:很多团队只关注平均延迟,忽略了抖动。我曾经见过一个系统,平均延迟只有8微秒,但P99延迟(99%分位延迟)高达200微秒。这种系统在高频场景下基本不可用。

降低抖动的方法包括:

  • 使用CPU亲和性绑定,避免上下文切换
  • 禁用中断合并,减少延迟波动
  • 使用大页内存,减少TLB miss
  • 避免动态内存分配,使用对象池

1.3 应用场景

极速行情系统不是万能的,但在某些场景下,它是刚需。

1.3.1 量化交易

量化交易策略,尤其是统计套利、因子策略,对行情的实时性要求很高。你比别人早1微秒拿到行情,就可能多赚一个tick的价差。

我参与过的一个CTA策略,依赖跨品种的价差信号。行情延迟从20微秒优化到5微秒后,策略的夏普比率提升了0.3。为什么?因为信号更及时了,进场点位更好了。

1.3.2 做市商

做市商是极速行情系统的「重度用户」。做市商需要在极短时间内更新双边报价,行情延迟直接决定了报价的竞争力。

举个例子,你在交易所A看到某股票的最新成交价是10.00元,然后你在交易所B挂出10.01元的卖单。如果行情延迟大,等你看到A的成交价时,价格可能已经变了——你的卖单就成了「僵尸单」,容易被套利者吃掉。

1.3.3 高频交易

高频交易对延迟的追求近乎偏执。从网卡到应用,每一步都要优化到极致。

我记得有个高频团队,为了减少1微秒的延迟,把服务器从机房的一端搬到了另一端——离交换机更近,网线短了2米。你可能觉得夸张,但在高频交易领域,1微秒可能就是盈利和亏损的分界线。

1.4 知识体系总览

下面这张图,是我对极速行情系统知识体系的梳理。你可以把它当作整个课程的地图。

极速行情系统 核心指标 应用场景 技术栈 延迟 吞吐量 抖动 量化交易 做市商 高频交易 硬件加速 内核旁路 低延迟网络 共享内存 目标:微秒级延迟 · 百万级吞吐 · 纳秒级抖动

这张图展示了极速行情系统的三大核心维度:核心指标(延迟、吞吐量、抖动)、应用场景(量化交易、做市商、高频交易)、技术栈(硬件加速、内核旁路、低延迟网络、共享内存)。后续课程中,我们会逐一深入每个技术点。

学习建议:我建议你在学习后续章节时,时不时回看这张图。它能帮你建立全局视角,避免「只见树木不见森林」。

好了,第一章的内容就到这里。极速行情系统不是一蹴而就的,它需要你对硬件、操作系统、网络、数据结构都有深入理解。接下来的课程,我会带着大家一步步把这些技术点吃透。


专注资料整理