一、高频做市概述

什么是高频做市

做市商,说白了就是「两边报价的人」。你在交易所里看到的买一卖一价,背后大概率是做市商在挂单。

高频做市呢?就是用极快的速度,在极短的时间内完成报价和成交。我习惯这么定义它:在微秒甚至纳秒级别,通过双边报价赚取买卖价差

举个例子。假设某只股票,有人愿意100元买,有人愿意100.01元卖。做市商就在中间挂单:100.005元买,100.015元卖。只要两边都成交,就赚了0.01元差价。高频做市就是把这个过程自动化、极致化。

你想想看,一次赚0.01元,一天做几万次,利润就相当可观了。

核心要点:高频做市不是预测价格涨跌,而是赚取流动性服务的报酬。说白了,就是「薄利多销」的极致版本。

高频做市的核心挑战

做高频做市,难在哪?我总结下来,主要有四个坎儿。

1. 速度——谁快谁赢

这是最直接的挑战。同样的报价,你比别人慢1微秒,单子就被别人抢走了。我在项目中遇到过,两个做市商同时报价,快的那家成交率高出30%以上。

为什么会这样?因为交易所的撮合规则是「价格优先、时间优先」。价格一样时,谁先到谁成交。

2. 风险——做市不是印钞机

很多人以为做市稳赚不赔。错了。市场剧烈波动时,你挂的单子可能被瞬间吃掉,然后价格反向跑,你就亏了。

我曾经见过一个团队,一天内因为做市策略没处理好,亏了上千万。嗯,做市本质上是在「卖期权」,赚的是小钱,亏的是大钱。

3. 成本——每一笔都有代价

交易所要收手续费,清算要收费,网络带宽要花钱,硬件设备更是烧钱。一台FPGA加速卡,便宜的几万,贵的几十万。

我算过一笔账:如果每笔交易赚0.001元,但手续费是0.0008元,那实际利润只有0.0002元。成本控制不好,就是白忙活。

4. 竞争——大家都在卷

高频做市不是蓝海了。全球顶尖的做市商,比如Citadel、Virtu,技术实力极强。你优化了1微秒,人家可能已经优化了2微秒。

挑战维度 具体表现 影响程度
速度 微秒级延迟竞争 极高
风险 市场波动导致亏损
成本 硬件、带宽、手续费
竞争 头部玩家技术壁垒

软硬件协同优化的必要性

好,问题来了:怎么应对这些挑战?

纯软件方案?不行。操作系统调度、网络协议栈、CPU中断,这些都会带来不可控的延迟。你写再好的C++代码,也扛不住内核态切换那几百纳秒的开销。

纯硬件方案?也不行。FPGA虽然快,但开发周期长,迭代慢。而且很多逻辑判断,比如复杂的定价模型,用硬件实现太麻烦。

所以,软硬件协同优化是唯一的路

我个人的经验是:把「必须快」的部分放到硬件里,把「需要灵活」的部分留在软件里

  • 硬件做:行情解析、订单生成、风控检查。这些逻辑相对固定,但对延迟极度敏感。
  • 软件做:策略参数调整、风险监控、日志记录。这些需要频繁更新,对延迟要求没那么苛刻。

一个小技巧:我曾经在项目中,把行情解析从CPU移到FPGA,延迟从2微秒降到了200纳秒。整整10倍提升。这就是软硬件协同的力量。

你想想看,如果只优化软件,可能从2微秒优化到1.5微秒,提升25%。但加上硬件,直接提升10倍。这个差距,在微秒级竞争里就是生死之别。

注意:软硬件协同不是简单地把代码搬到FPGA上。你需要重新设计数据流、接口协议、同步机制。我曾经见过一个团队,直接把软件逻辑翻译成Verilog,结果延迟反而更差了。嗯,这就是没理解「协同」二字的含义。

下面这张图,是我常用的高频做市系统架构。你可以看到,数据从网卡进来,经过FPGA预处理,再送到CPU做策略决策,最后又回到FPGA发单。整个流程是闭环的。

高频做市软硬件协同架构图 交易所网络 FPGA 行情解析 订单生成 CPU 策略决策 风险监控 交易所 行情数据回传 数据流向:行情 → FPGA预处理 → CPU策略 → FPGA发单 → 交易所 典型延迟分布 网络传输: 1-5μs | FPGA处理: 200-500ns | CPU处理: 1-3μs 总延迟目标: < 10μs(从行情到发单)

这张图里,FPGA和CPU的分工很明确。FPGA负责「快」,CPU负责「智」。两者通过高速总线(比如PCIe Gen4)通信,延迟控制在几百纳秒内。

我习惯把这种架构叫做「快慢分离」。快的那部分,用硬件做到极致;慢的那部分,用软件保持灵活。两者配合好了,才能在高频做市里站稳脚跟。

嗯,这就是软硬件协同优化的必要性。不是选择题,而是必答题。