1. 做市交易基础与FPGA加速概览
大家好,我是你们的讲师。今天咱们聊聊做市交易和FPGA加速这件事。说实话,这个领域我摸爬滚打了快十年,踩过的坑比走过的路还多。嗯,咱们先从最基础的开始。
1.1 做市商到底怎么赚钱?
做市商,说白了就是「中间商赚差价」。你想想看,交易所里有人想买,有人想卖,但买卖不一定同时出现。做市商就站在中间,同时挂买单和卖单。
举个例子:
- 比特币现价 30000 USDT
- 我挂买单 29999 USDT,挂卖单 30001 USDT
- 有人卖给我,我赚 1 USDT 的价差
- 有人从我这里买,我又赚 1 USDT
听起来简单吧?但这里有个关键——价差必须覆盖交易成本。我在项目中遇到过,有些新手做市商把价差设得太小,结果手续费就把利润吃光了。
做市商的核心盈利公式:
净利润 = (买卖价差 × 成交量) - (手续费 + 滑点损失 + 库存风险成本)
做市商赚的是流动性溢价。你提供流动性,市场就奖励你。但这里有个陷阱——库存风险。万一市场单边暴跌,你手里囤了一堆货,那就亏大了。所以做市商需要不断调整报价,控制风险敞口。
1.2 高频交易对延迟的极致要求
做市交易,尤其是高频做市,对延迟的要求近乎变态。我给你们几个数字感受一下:
| 交易场景 | 可接受延迟 | FPGA能实现的延迟 |
|---|---|---|
| 传统股票做市 | 1-10 毫秒 | 100-500 纳秒 |
| 加密货币做市 | 100 微秒 - 1 毫秒 | 50-200 纳秒 |
| 期权做市 | 10-100 微秒 | 30-100 纳秒 |
为什么会这么苛刻?因为做市商之间在抢单。你想想看,同一个价格,谁先挂单谁成交。延迟差个几微秒,可能就错失了几百万的交易量。
我记得有一次,我们团队优化了一个做市策略,把延迟从 5 微秒降到了 800 纳秒。结果呢?日均成交量直接翻了一倍。这就是延迟的价值。
注意:延迟不是唯一指标。我曾经见过有人只盯着延迟,结果忽略了确定性。FPGA 的优势不仅在于快,更在于可预测的延迟——每次处理时间几乎恒定,不会像 CPU 那样受缓存命中率影响。
1.3 为什么选择FPGA而不是CPU/GPU?
这个问题我经常被问到。咱们做个对比:
| 特性 | CPU | GPU | FPGA |
|---|---|---|---|
| 延迟 | 微秒级 | 毫秒级 | 纳秒级 |
| 确定性 | 低(受OS调度影响) | 中 | 高(硬件级确定性) |
| 并行度 | 低(多核有限) | 高(数千核) | 极高(可定制流水线) |
| 功耗 | 中 | 高 | 低 |
| 开发难度 | 低 | 中 | 高 |
说白了,CPU 适合做复杂逻辑,但延迟不稳定。GPU 适合批量计算,但单次延迟太高。FPGA 呢?它用硬件电路直接实现算法,数据流进来,结果就出来,中间没有操作系统调度,没有缓存缺失。
我给你们看个实际例子。一个简单的做市信号处理流程:
// CPU 实现(伪代码)
while (true) {
order_book = receive_market_data(); // 1-10 us
signal = calculate_signal(order_book); // 5-50 us
if (signal > threshold) {
send_order(signal); // 1-5 us
}
}
// 总延迟:7-65 us
// FPGA 实现(硬件流水线)
// 数据流式处理,每个时钟周期处理一个数据包
// 总延迟:固定 150 ns(约 10 个时钟周期 @ 66MHz)
看到了吗?FPGA 的延迟是 CPU 的 1/50 到 1/400。而且它是确定的——每次都是 150 纳秒,不会忽快忽慢。
我的建议:如果你刚开始做 FPGA 加速,别想着把所有逻辑都塞进去。先做延迟最敏感的部分——比如行情解析和信号计算。订单管理和风控可以留在 CPU 上。这样开发难度降低,效果却立竿见影。
1.4 课程整体架构图
下面这张图展示了咱们整个课程的知识体系。我把它画成了流水线结构,因为 FPGA 的核心思想就是流水线。
这张图展示了咱们课程的四个阶段。从基础到实战,一步步搭建一个完整的 FPGA 做市系统。我个人建议,如果你对 FPGA 不太熟,前五章一定要打好基础。后面很多优化技巧,都建立在时序约束和流水线设计上。
本章核心要点:
- 做市商赚的是价差,但必须控制库存风险
- 高频做市对延迟要求极高,FPGA 能实现纳秒级处理
- FPGA 的核心优势:低延迟 + 确定性 + 可定制流水线
- 课程采用「基础→核心→高级→实战」四阶段递进
好了,第一章就到这里。记住一句话:做市交易,快就是一切。而 FPGA,就是快的极致。
公众号:蓝海资料掘金营,微信deep3321