一、交易系统全景:从订单到成交的完整链路
做高频交易这么多年,我经常被问到同一个问题:「一笔订单从按下回车到最终成交,中间到底经历了什么?」
说实话,刚入行那会儿我也觉得这事挺简单——不就是客户端发个请求,交易所撮合一下,完事。直到有一次我在实盘环境里亲眼看到一笔订单延迟了 200 毫秒,导致滑点吃掉了一整天的利润……嗯,从那以后我再也不敢小看这条链路了。
1.1 订单的生命周期
咱们先捋一捋,一笔订单从诞生到消亡,到底走了哪些路。
- 策略决策:量化模型算出买卖信号,生成订单指令
- 订单编码:把指令转成交易所能识别的协议格式(比如 FIX 协议或港股特有的 ORS 协议)
- 网络传输:订单数据包穿越网线、交换机、光纤,抵达交易所网关
- 前置检查:交易所网关做合法性校验(价格、数量、账户状态等)
- 订单簿匹配:进入撮合引擎,与对手单进行价格优先、时间优先的匹配
- 成交回报:撮合结果原路返回,经过网络传输回到交易客户端
- 状态更新:系统更新本地订单簿、风控指标、账户持仓
你看,这 7 步里任何一步出问题,订单就可能延迟、被拒、甚至「幽灵成交」。我个人习惯把这条链路画成一张图,贴在工位上——每天看一眼,提醒自己延迟无处不在。
核心要点:高频交易拼的不是策略有多聪明,而是每一微秒的确定性。链路中任何一个环节的抖动,都可能让策略从盈利变成亏损。
1.2 港股市场微观结构解析
港股市场和 A 股、美股都不一样。我刚开始做港股时,就踩过不少坑。这里挑几个关键点说说。
交易机制
| 特性 | 港股 | 说明 |
|---|---|---|
| 交易时间 | 09:30-16:00(中午休市) | 早市和午市之间有 1.5 小时空档 |
| 最小变动价位 | 因股价而异 | 比如 0.01-0.25 港元的股票,最小变动是 0.001 |
| 交易机制 | 竞价 + 连续竞价 | 开盘前有集合竞价,收盘后也有收市竞价 |
| 卖空规则 | 仅限指定股票 | 不是所有股票都能做空,这点和美股差别很大 |
| 交易费用 | 印花税 + 交易征费 + 交易费 | 成本比美股高不少,高频策略必须算进去 |
这里我想特别提一下收市竞价。我记得有一次,策略在 16:00 之后还在发单,结果全部被拒。后来查文档才发现,港股收盘后还有 10 分钟的收市竞价时段,但规则和连续竞价完全不同。你想想看,如果策略没处理好这个时间窗口,尾盘信号就全废了。
订单簿结构
港股的订单簿是限价订单簿,和大多数交易所一样。但有个细节——港股支持冰山订单(Iceberg Order),也就是大单可以只显示一部分数量。这对高频交易者来说是个双刃剑:
- 好处:你可以隐藏真实意图,减少市场冲击
- 坏处:你永远不知道对手盘到底有多大
我在做流动性检测时,就吃过冰山订单的亏。当时看到一个卖单只有 5000 股,觉得吃掉它没问题。结果一吃下去,后面又冒出来 5 万股……嗯,那次滑点让我记忆深刻。
1.3 高频交易的核心挑战
做高频交易,说白了就是在和时间赛跑。但真正跑起来你会发现,对手不只是其他交易者,还有物理定律和系统架构。
挑战一:延迟
延迟是高频交易的头号敌人。从策略生成信号到订单到达交易所,每一微秒都可能是胜负手。
- 网络延迟:光纤传输速度大约是 200 公里/毫秒。如果你服务器在深圳,交易所在香港,光速往返就要 0.5 毫秒左右。再加上交换机、路由器、协议解析……实际延迟轻松超过 1 毫秒。
- 软件延迟:操作系统调度、内存分配、垃圾回收……这些平时不起眼的东西,在高频场景下都是灾难。
- 硬件延迟:CPU 缓存未命中、内存访问延迟、网卡中断处理……每一个硬件环节都可能成为瓶颈。
避坑指南:我曾经在 Linux 内核参数上折腾了整整两周,就为了把网络中断绑定到特定 CPU 核心上。最后发现,一个简单的 irqbalance 配置错误,就让延迟增加了 30%。所以,别小看系统调优。
挑战二:数据质量
高频交易依赖实时行情数据。但行情数据本身就有问题:
- 数据延迟:交易所发布行情到券商转发,中间有固定延迟
- 数据丢失:网络抖动可能导致行情快照丢失
- 数据错误:偶尔会出现价格异常、成交量异常等「脏数据」
我见过有人因为行情数据里出现了一个 0.001 港元的买单,策略直接触发买入信号——结果那笔单子根本就是数据错误。所以,数据清洗和校验是必须的,别偷懒。
挑战三:竞争
高频交易不是一个人在战斗。你面对的可能是:
- 做市商:他们拥有更快的硬件、更优的算法
- 其他高频基金:大家都在抢同一笔套利机会
- 交易所自身:交易所的撮合规则、费率结构都可能影响你的策略
说白了,高频交易是一场军备竞赛。你比别人慢 1 微秒,可能就永远抢不到那笔订单。
挑战四:成本控制
港股交易成本高,这是不争的事实。印花税、交易征费、交易费、结算费……加起来可能占到交易金额的 0.1% 以上。对于高频策略来说,这个成本是致命的。
举个例子:如果你的策略每笔交易赚 0.05%,但成本是 0.1%,那做一单亏一单。所以,高频策略必须把成本算进模型里,甚至要动态调整——比如在印花税调整时,策略参数也要跟着变。
注意:不要以为高频交易就是「快进快出」。真正赚钱的高频策略,往往是在极小的价差中反复套利,同时严格控制交易成本。我曾经见过一个团队,策略本身是赚钱的,但因为没算印花税,最终亏得一塌糊涂。
1.4 知识体系总览
说了这么多,咱们用一张图把本章的核心逻辑串起来。
这张图把本章的三个核心模块串在了一起。从上到下看:订单链路是基础,微观结构是环境,核心挑战是你要解决的问题。三者缺一不可。
我个人习惯在开始搭建系统前,先把这张图跑一遍。每遇到一个问题,就回到图上看看它属于哪个环节——这样思路会清晰很多。
好了,第一章就聊到这儿。记住一句话:高频交易不是魔法,是工程。把每个环节吃透,你才能在这个战场上活下去。
本章小结:
- 订单链路有 7 个关键环节,每个环节都可能引入延迟
- 港股微观结构独特,交易机制、订单簿、费用结构都要熟悉
- 高频交易面临延迟、数据质量、竞争、成本四大挑战
- 用一张全景图把知识体系串起来,方便后续深入