背景知识:交易所与订单簿机制
理解交易所如何运作,是理解滑点、执行和市场微观结构的基础。
一、交易所类型
1.1 中心化交易所 (CEX)
代表:NYSE、NASDAQ、上交所、Binance
特点:
- 统一撮合引擎
- 中央订单簿
- 高流动性
- 受监管
1.2 去中心化交易所 (DEX)
代表:Uniswap、dYdX
特点:
- 智能合约撮合
- AMM 或订单簿
- 无需信任中介
- 延迟较高
二、订单簿 (Order Book)
2.1 基本结构
卖方(Ask) 价格 买方(Bid)
$101.50
50 股 $101.25
100 股 $101.00
$100.75 200 股
$100.50 150 股
$100.25 80 股
- Bid(买盘):买方愿意支付的最高价
- Ask(卖盘):卖方愿意接受的最低价
- Spread(价差):Best Ask - Best Bid
2.2 订单簿深度
Level 1:只有最优买卖价
Best Bid: $100.75 × 200
Best Ask: $101.00 × 100
Level 2:多档报价
Bid:
$100.75 × 200
$100.50 × 150
$100.25 × 80
Ask:
$101.00 × 100
$101.25 × 50
$101.50 × 30
Level 3:每笔订单详情(通常不公开)
三、订单类型
3.1 市价单 (Market Order)
定义:以当前最优价格立即成交
优点:保证成交 缺点:不保证价格,可能产生滑点
示例:
订单簿:
Ask: $101.00 × 100, $101.25 × 50
市价买入 120 股:
100 股 @ $101.00
20 股 @ $101.25
平均成交价 = (100×101.00 + 20×101.25) / 120 = $101.04
滑点 = $101.04 - $101.00 = $0.04
3.2 限价单 (Limit Order)
定义:只在指定价格或更优价格成交
优点:价格确定 缺点:可能不成交
示例:
限价买入 100 股 @ $100.75
如果当前 Best Ask = $101.00:
→ 订单进入买盘排队
→ 等待卖方愿意以 $100.75 卖出
3.3 其他订单类型
| 类型 | 说明 | 用途 |
|---|---|---|
| 止损单 (Stop) | 触发价格后变为市价单 | 止损 |
| 止损限价单 | 触发后变为限价单 | 精确止损 |
| 冰山单 | 只显示部分数量 | 隐藏大单 |
| IOC | 立即成交或取消 | 避免挂单 |
| FOK | 全部成交或取消 | 大单执行 |
| GTC | 一直有效直到取消 | 长期挂单 |
四、撮合机制
4.1 价格优先、时间优先
规则:
- 价格更优的订单先成交
- 同价格时,先到的订单先成交
示例:
买盘排队:
1. 09:00:01 买入 $100.75
2. 09:00:05 买入 $100.75
3. 09:00:03 买入 $100.50
卖方市价卖出 → 先成交 #1,再成交 #2
4.2 连续撮合 vs 集合竞价
连续撮合:
- 订单实时匹配
- 适用于正常交易时段
集合竞价 (Call Auction):
- 收集一段时间的订单,统一确定开盘/收盘价。
- A股开盘集合竞价 (9:15-9:25):
- 9:15-9:20:可以报单,也可以撤单。(常有虚假报单探测压力)
- 9:20-9:25:可以报单,不再允许撤单。(真实意图展现)
- 减少价格操纵,增加开盘流动性。
五、做市商 (Market Maker)
5.1 角色
- 持续提供买卖报价
- 提供流动性
- 赚取 Bid-Ask Spread
5.2 做市商策略
做市商报价:
Bid: $100.00 × 1000
Ask: $100.10 × 1000
Spread = $0.10
如果买卖订单平衡:
买入 1000 股 @ $100.00
卖出 1000 股 @ $100.10
利润 = 1000 × $0.10 = $100
5.3 风险
- 存货风险:持有过多单边头寸
- 逆向选择:被知情交易者"狙击"
六、市场微观结构
6.1 价差的决定因素
| 因素 | 影响 |
|---|---|
| 流动性 | 流动性高 → 价差小 |
| 波动率 | 波动大 → 价差大 |
| 信息不对称 | 信息不对称高 → 价差大 |
| 交易量 | 交易量大 → 价差小 |
6.2 市场冲击
定义:大单对价格的影响
临时冲击:订单执行时的价格偏移,之后恢复 永久冲击:订单携带信息,价格永久改变
估算公式(简化):
市场冲击 ≈ σ × √(Q / ADV)
σ = 日波动率
Q = 订单量
ADV = 平均日成交量
6.3 流动性度量
| 指标 | 公式 | 含义 |
|---|---|---|
| Bid-Ask Spread | Ask - Bid | 交易成本 |
| Depth | 订单簿深度 | 可容纳订单量 |
| Resilience | 价格恢复速度 | 冲击后恢复能力 |
| Turnover | 日成交量 / 总股本 | 活跃度 |
七、高频交易 (HFT)
7.1 特点
- 持仓时间极短(毫秒级)
- 大量订单(每秒数千笔)
- 低延迟(微秒级)
- 高胜率、低单笔利润
7.2 常见策略
| 策略 | 说明 |
|---|---|
| 做市 | 提供流动性赚 Spread |
| 套利 | 跨市场价差套利 |
| 动量 | 探测大单跟随 |
| 统计套利 | 高频均值回归 |
7.3 技术要求
- 低延迟网络(Co-location)
- FPGA / ASIC 硬件
- 纳秒级时钟同步
- 专用交易所接口
八、延迟的重要性
8.1 延迟来源
| 来源 | 典型延迟 |
|---|---|
| 网络传输 (光纤) | 1-50 ms (跨城) |
| 交易所处理 (撮合) | 10-100 μs (微秒) |
| 本地处理 (决策) | 1-10 μs (微秒) |
| FPGA 硬线加速 | 100-500 ns (纳秒) |
8.2 延迟对策略的影响
策略类型 可接受延迟
核心 HFT 做市 < 10 μs (微秒)
跨市场套利 < 5 ms (物理极限)
日内量化趋势 < 10-100 ms
日频/波段策略 < 1 秒
九、实践建议
9.1 对于非高频策略
- 关注流动性:选择流动性好的标的
- 分批执行:大单拆分为小单
- 限价优先:避免市价单的滑点
- 避开波动时段:开盘/收盘流动性差
9.2 滑点控制
# 简单滑点估算
def estimate_slippage(order_size, avg_daily_volume, volatility):
"""
order_size: 订单量(股)
avg_daily_volume: 平均日成交量
volatility: 日波动率
"""
participation_rate = order_size / avg_daily_volume
slippage = volatility * (participation_rate ** 0.5)
return slippage
十、不同市场的特点
| 市场 | 交易时间 | 特点 |
|---|---|---|
| 美股 | 9:30-16:00 ET | T+1 结算(2024新规)、可日内交易、Dark Pools |
| A股 | 9:30-11:30, 13:00-15:00 | T+1 交易(当日买入次日才能卖)、涨跌停 |
| 港股 | 9:30-12:00, 13:00-16:00 | T+2、VCM冷静期、收市竞价 |
| 加密货币 | 24/7 | 24/7不休市、AMM与订单簿并存 |
T+1 区别:美股 T+1 指结算(资金交割),但当日可自由买卖;A股 T+1 指交易限制,当日买入的股票次日才能卖出。
核心原则:理解订单簿和撮合机制,是理解为什么回测结果和实盘表现不同的关键。你的订单不是在真空中执行的,而是在一个复杂的市场生态系统中与其他订单博弈。