金融技术量化交易与 FPGA:从 IOE 架构到纳秒级交易的演进史#
从 Oracle + 小型机时代的集中交易,到 FPGA + SmartNIC + 极速行情链路,金融交易系统经历了一场持续二十年的低延迟革命。
一、金融交易系统的四次技术革命#
如果回顾过去 30 年金融 IT 的发展,可以看到交易系统经历了四次架构迁移:
第一阶段:营业部柜台时代(1990-2000)
Client
|
交易服务器
|
数据库
特点:
* 营业部本地部署
* 两层 C/S 架构
* 数据孤岛
第二阶段:集中交易时代(2000-2010)
Client
|
中间件
|
业务服务器
|
Oracle/DB2
|
IBM 小型机
代表:
恒生 AR/AS
金证 KCXP/KCBP
BEA Tuxedo
特点:
* 全国大集中
* IOE 架构
* 数据库中心化
第三阶段:分布式交易时代(2010-2020)
APP
|
API Gateway
|
微服务
|
消息总线
|
分布式数据库
代表:
CRES
JRES
KOCA
Kafka
特点:
* 服务化
* 云化
* 横向扩展
第四阶段:低延迟交易时代(2020-)
行情
|
FPGA
|
SmartNIC
|
内存计算
|
CPU/GPU
特点:
* 微秒
* 纳秒
* 硬件加速金融交易系统的发展,本质是一场:
从提高吞吐量 → 提高并发 → 降低延迟 → 消灭延迟抖动的战争。
二、为什么量化交易需要 FPGA?#
很多传统金融系统关注:
- TPS
- 并发用户数
- 数据库性能
但是量化交易关注另外一个指标:
Latency(延迟)
对于普通交易:
用户点击交易按钮
↓
100ms 返回
用户无感但是对于高频交易:
行情变化
↓
产生交易信号
↓
发送订单
↓
交易所撮合整个过程:
10 微秒
100 纳秒
甚至更低都可能决定:
- 是否成交
- 是否套利成功
- 是否抢占盘口
因此:
传统软件架构:
Application
|
|
Operating System
|
|
Network Driver
|
|
NIC存在大量开销:
- Kernel interrupt
- Context switch
- Memory copy
- TCP stack
- Cache miss
而 FPGA:
Market Data| |
FPGA Logic| |
Order Generation| |
Exchange数据直接经过硬件逻辑。
三、FPGA 在金融交易中的位置#
FPGA 并不是替代 CPU。
更准确地说:
FPGA 是交易链路中的高速数据平面。
典型架构:
Exchange
|
|
Market Data Feed
|
|
+---------------+
| FPGA NIC |
| |
| Packet Parser |
| Feed Handler |
| Strategy |
+---------------+
|
|
CPU
Risk / Management
|
Database
四、FPGA 主要解决什么问题?#
1. 行情解析#
交易所行情:
Binary Protocol
ITCH
OUCH
FAST
FIX
STEP传统方式:
Network
|
Kernel
|
Application
|
Parser几十微秒。
FPGA:
Network Packet
↓
Hardware Parser
↓
Structured Data直接完成:
- TCP/UDP解析
- 二进制解码
- 行情过滤
延迟:
几十微秒
↓
亚微秒级2. Tick-to-Trade 极速链路#
量化交易核心指标:
Tick-to-Trade Latency
定义:
收到行情
↓
计算策略
↓
生成订单
↓
发送交易传统:
Market Data
10us
↓
CPU Strategy
20us
↓
Kernel
10us
↓
Network
20us
Total:
60us+FPGA:
Market Data
↓
FPGA Logic
↓
Order Packet
Total:
<1-5us3. 风控前置#
传统:
Order
|
Application Server
|
Risk Engine
|
Exchange问题:
风控增加延迟。
FPGA:
Order
|
FPGA Risk Gate
|
Exchange硬件实时检查:
- 最大订单数量
- 单笔金额
- 价格偏离
- 仓位限制
五、FPGA 与 GPU:量化计算路线之争#
很多人会问:
为什么不用 GPU?
答案:
因为两者解决的问题不同。
GPU#
优势:
- 大规模并行计算
- AI
- 深度学习
- 因子计算
例如:
10000只股票
1000个因子
历史回测GPU 非常适合。
FPGA#
优势:
- 极低延迟
- 确定性
- 实时处理
适合:
盘口套利
做市
高频交易
行情处理简单比较:
| 技术 | 优势 | 场景 |
|---|---|---|
| CPU | 通用 | 交易逻辑 |
| GPU | 大规模计算 | AI/回测 |
| FPGA | 极低延迟 | 高频交易 |
| ASIC | 极致性能 | 专用交易硬件 |
六、金融机构 FPGA 架构演进#
第一代:硬件行情加速#
2005-2015
架构:
Exchange
|
FPGA Feed Handler
|
CPU Strategy主要解决:
行情解析。
第二代:FPGA 策略卸载#
2015-2020
架构:
Exchange
|
FPGA
|
Strategy Logic
|
Order策略部分进入硬件。
第三代:SmartNIC + FPGA#
2020以后
架构:
Exchange
|
SmartNIC FPGA
|
+—————+
| Data Plane |
| Risk Engine |
| Strategy |
+—————+
|
CPU
FPGA 成为:
金融系统的数据平面。
七、中国金融 IT 的低延迟路线#
中国证券 IT 也经历类似演进。
第一阶段:IOE 集中交易#
2000年代:
Client
|
KCBP / KCXP
|
Oracle
|
IBM或者:
Client
|
AR/AS
|
Oracle
|
IBM目标:
稳定。
第二阶段:中间件加速#
2010年代:
交易中间件
*
缓存
*
内存数据库代表:
- 恒生 CRES
- 金证 KOCA
目标:
降低数据库压力。
第三阶段:低延迟平台#
2020以后:
HARE
*
LDP
*
FPGA
*
RDMA目标:
进入:
微秒时代。
八、FPGA 与国产金融基础设施#
未来金融基础设施:
不会只有软件。
而是:
国产 CPU
*
国产 OS
*
国产数据库
*
国产中间件
*
FPGA 加速形成:
金融计算基础设施尤其:
- 高频交易
- 期权做市
- 量化交易
- 风控
- 行情系统
都会越来越依赖硬件加速。
九、未来十年:金融交易系统会变成什么?#
未来架构:
Exchange
|
FPGA / SmartNIC
|
Low Latency Bus
|
Memory Computing
|
AI Strategy Engine
|
Risk Control
|
Database
核心变化:
过去:
数据库驱动交易
未来:
数据流驱动交易
十、总结:金融 IT 的终极竞争是时间#
过去 20 年:
金融 IT 比拼:
- 功能
- 稳定
- 容量
未来:
竞争:
- 微秒
- 纳秒
- 确定性
从:
Oracle + IBM + Tuxedo到:
C++ + RDMA + FPGA + SmartNIC金融交易系统完成了一次巨大迁移:
从"数据库中心架构",走向"数据流和硬件加速架构"。
FPGA 并不是金融 IT 的终点。
它代表的是一种趋势:
软件定义金融系统的时代结束,软硬协同定义金融基础设施的时代开始。
Reference Architecture#
Trading System
|
|
+---------------+
| FPGA Layer |
|---------------|
| Feed Handler |
| Risk Control |
| Strategy |
| Packet IO |
+---------------+
|
+---------------+
| Low Latency |
| Middleware |
|---------------|
| HARE |
| RDMA |
| Zero Copy |
+---------------+
|
+---------------+
| Compute Layer |
|---------------|
| CPU |
| GPU |
| AI Model |
+---------------+
|
+---------------+
| Data Layer |
|---------------|
| Memory DB |
| Distributed DB|
+---------------+
金融 IT 的下一场战争,不是 CPU 速度,而是谁能更快地完成一次信息到交易的转换。