1. 高频交易概述

大家好,我是你们这门课的老朋友。今天咱们聊聊高频交易,也就是HFT。很多人一听到这个词,就觉得是「闪电般的手速」和「印钞机」。嗯,确实有那味儿,但背后的门道,远比想象中复杂。

我最早接触HFT是在2012年,当时帮一家自营团队做系统优化。第一次看到他们的交易日志,我整个人都愣住了——一天几百万笔订单,真正成交的不到5%。说白了,大部分订单都是「炮灰」,用来试探市场深度的。从那天起,我就明白了一个道理:高频交易拼的不是预测,而是速度与确定性。

1.1 什么是高频交易

高频交易,简单讲就是利用极快的速度,在极短的时间内完成大量交易。它依赖的是计算机算法,而不是人的直觉。

你想想看,传统交易员看K线、等信号,下单可能需要几秒甚至几分钟。而HFT呢?从行情数据到达,到策略决策,再到订单发出,整个流程必须在微秒甚至纳秒级完成。一眨眼的功夫,几十笔交易已经跑完了。

我个人习惯把HFT分成三个层次:

  • 硬件层:FPGA、网卡、交换机,甚至用微波塔传信号
  • 系统层:内核旁路、内存数据库、无锁队列
  • 策略层:做市、套利、统计套利

这三个层次缺一不可。你策略再好,系统慢了,照样被市场收割。

核心定义:高频交易不是一种策略,而是一种技术能力。它让你在别人还没反应过来的时候,完成交易并锁定利润。

1.2 HFT的核心目标

做HFT,你脑子里必须时刻绷着三根弦:延迟、吞吐量、确定性。这三者缺一不可,但优先级完全不同。

延迟(Latency)

延迟是HFT的命根子。从行情数据到达网卡,到订单离开网卡,这个时间差就是延迟。我见过太多团队,策略收益不错,但延迟比别人慢了10微秒,结果就是天天被「抢跑」。

延迟又分几种:

  • 网络延迟:光纤、微波、甚至卫星传输
  • 软件延迟:协议栈、内核调度、锁竞争
  • 硬件延迟:FPGA处理、内存访问、CPU缓存命中

我曾经帮一个客户排查问题,发现他的系统在行情数据到达后,竟然花了3微秒去做日志写入。嗯,这就是典型的「捡了芝麻丢了西瓜」。日志可以异步写,但交易路径上,每一纳秒都得省着用。

吞吐量(Throughput)

吞吐量指的是系统每秒能处理多少笔订单。很多人以为延迟低,吞吐量自然就高。其实不然。你想想看,如果系统每笔订单处理很快,但来了大量订单时,CPU上下文切换频繁,吞吐量反而会下降。

我建议在设计系统时,先确定你的业务场景:

场景 延迟要求 吞吐量要求
做市 < 1微秒 高(百万级/秒)
套利 < 10微秒 中(十万级/秒)
统计套利 < 100微秒 低(万级/秒)

你看,做市对延迟和吞吐量要求都极高。而统计套利,反而更看重计算精度。

确定性(Determinism)

这一点,很多人容易忽略。确定性指的是系统在相同输入下,每次输出的结果和耗时是否一致。为什么重要?因为HFT系统里,任何一次「抖动」都可能导致订单延迟,甚至错过行情。

我记得有一次,系统在某个时间点突然慢了50微秒。查了半天,发现是JVM的垃圾回收在作祟。从那以后,我坚决不用Java做核心交易路径。C++和FPGA才是王道。

我的经验:延迟优化做到极致后,确定性比延迟绝对值更重要。一个稳定在1微秒的系统,比一个偶尔0.5微秒、偶尔2微秒的系统更可靠。

1.3 HFT的典型应用场景

HFT不是只有一种玩法。不同策略对延迟、吞吐量、确定性的要求完全不同。下面我挑三个最常见的场景聊聊。

做市(Market Making)

做市商的核心逻辑很简单:同时挂买单和卖单,赚取买卖价差。比如某股票当前买一价10.00元,卖一价10.01元,做市商就挂10.00元买、10.01元卖,每笔赚0.01元。

但这里有个坑:你挂的单子,随时可能被「聪明钱」吃掉。所以做市系统必须能快速调整报价,甚至撤单重挂。延迟稍微慢一点,你就成了别人的「提款机」。

我曾经做过一个做市系统,最开始用软件实现,延迟在5微秒左右。结果呢?每天被高频套利者「剃头」,亏得不行。后来换成FPGA,延迟降到500纳秒,才勉强稳住。

避坑指南:做市不是稳赚不赔的。市场剧烈波动时,做市商可能被「两头打」。一定要有风控机制,比如最大持仓限制、自动熔断。

套利(Arbitrage)

套利分很多种:跨市场套利、跨品种套利、期现套利等等。核心逻辑就是利用同一资产在不同市场或不同合约之间的价差,低买高卖。

举个例子,某股票在A交易所报价10.00元,在B交易所报价10.02元。你可以在A买入,在B卖出,赚取0.02元的差价。听起来很简单?但问题是,这个价差可能只存在几毫秒。你慢了,价差就消失了。

我建议做套利时,重点关注两点:

  • 行情同步:两个市场的行情数据必须精确对齐,否则你看到的价差可能是假的
  • 执行速度:从发现价差到完成交易,必须在价差消失前搞定

嗯,这里要注意:跨市场套利还涉及网络延迟。比如你在上海和深圳两个交易所之间套利,光纤传输本身就有几毫秒的延迟。所以很多团队直接把服务器托管在交易所机房,甚至用微波通信。

统计套利(Statistical Arbitrage)

统计套利跟传统套利不同。它不追求无风险价差,而是基于统计模型,寻找价格偏离的「大概率」机会。比如两只股票历史相关性很高,突然某只股票价格偏离了,就做多偏离的、做空正常的,等待价格回归。

统计套利对延迟要求相对较低,但对计算能力要求很高。你需要实时计算协方差矩阵、回归系数,甚至跑机器学习模型。

我个人习惯用Python做策略回测,但实盘时一定用C++或FPGA。为什么?因为Python的延迟抖动太大,你算出来信号时,行情可能已经变了。

一句话总结:做市拼的是「快」,套利拼的是「准」,统计套利拼的是「稳」。但不管哪种,延迟优化都是基本功。

知识体系总览

下面这张图,是我自己梳理的HFT知识体系。你可以把它当作整个课程的地图。每个模块后面都会详细展开。

高频交易知识体系 核心目标 延迟(Latency) 吞吐量(Throughput) 确定性(Determinism) 典型应用场景 做市(Market Making) 套利(Arbitrage) 统计套利(Stat Arb) 核心技术栈 硬件(FPGA/网卡) 系统(C++/内核旁路) 策略(算法/模型) 网络(微波/光纤)

这张图把HFT的核心目标、应用场景和技术栈串在了一起。你会发现,所有技术最终都服务于三个目标:延迟、吞吐量、确定性。后面的章节,我会逐一拆解每个模块。

好了,第一章就到这里。记住一句话:高频交易不是魔法,是工程。每一纳秒的优化,背后都是扎实的硬功夫。


公众号:蓝海资料掘金营,微信deep3321