1.2 订单类型与市场机制
订单是交易员与市场对话的语言。不同订单类型在不同市场条件下表现完全不同 — 理解它们对回测和实盘都至关重要。
订单簿基础
订单簿由**买方(Bid)和卖方(Ask)**的限价单组成:
| 级别 | 买方 (Bid) | 数量 | 卖方 (Ask) | 数量 |
|---|---|---|---|---|
| 1 | 10.00 | 1,000 | 10.05 | 500 |
| 2 | 9.99 | 2,500 | 10.06 | 1,200 |
| 3 | 9.98 | 800 | 10.07 | 3,000 |
买卖价差 (Bid-Ask Spread) = 最低卖价 - 最高买价 = 10.05 - 10.00 = 0.05
手算:价差百分比
| 步骤 | 计算 | 结果 |
|---|---|---|
| 1. 最佳买价 | 10.00 | $10.00 |
| 2. 最佳卖价 | 10.05 | $10.05 |
| 3. 绝对价差 | 10.05 - 10.00 | $0.05 |
| 4. 中间价 | (10.00 + 10.05) / 2 | $10.025 |
| 5. 价差百分比 | 0.05 / 10.025 | ≈ 0.499% |
Quant Link:高流动性股票(如 AAPL、MSFT)的价差通常只有 1-2 个基点(0.01%-0.02%),而小盘股或 ETF 可能高达 1-2%。高频交易公司赚的就是价差 — 他们做买卖双方的"中间人"。
主要订单类型
1. 市价单 (Market Order)
- 定义:以当前市场上的最好价格立即成交
- 特点:保证执行,但不保证价格
- 风险:在流动性差时可能有严重的滑点(滑点 = 预期成交价与实际成交价之间的差额,由订单簿深度不足导致)
示例:下达买入 5,000 股市价单
| 订单簿级别 | 卖价 | 可买数量 | 你的成交情况 |
|---|---|---|---|
| 1 | 10.05 | 500 | 500 股 @ $10.05 |
| 2 | 10.06 | 1,200 | 1,200 股 @ $10.06 |
| 3 | 10.07 | 3,000 | 3,000 股 @ $10.07 |
| 4 | 10.08 | 800 | 300 股 @ $10.08 |
| 总成交 | — | — | 5,000 股,均价 $10.068 |
2. 限价单 (Limit Order)
- 定义:以指定价格(或更好价格)成交,否则不执行
- 特点:保证价格,但不保证执行
- 优势:提供流动性,通常有手续费折扣
3. 止损单 (Stop Loss)
- 定义:当价格达到触发价时,变成市价单
- 用途:控制最大亏损
- 注意:触发后仍然是市价单,可能滑点
4. 冰山订单 (Iceberg Order)
- 定义:一个大额订单,只对外展示一小部分,隐藏真实数量
- 用途:防止大额交易影响市场价格
手算:限价单成交概率直觉
假设当前市场价格 10.00/10.05,你在 9.95 放置一个买单,挂单 4 小时。考虑不同市场波动性下:
| 场景 | 价格波动 | 4 小时内触及 9.95 的概率 | 说明 |
|---|---|---|---|
| 平静 | $0.02(日内波动 0.2%) | ≈ 5% | 价格几乎不波动 |
| 正常 | $0.05(日内波动 0.5%) | ≈ 30% | 偶尔触及 |
| 波动 | $0.10(日内波动 1.0%) | ≈ 65% | 频繁触及 |
| 重大事件 | $0.20(日内波动 2.0%) | ≈ 90% | 几乎必然触及 |
这里的计算基于简单的随机游走假设:价格在 4 小时内波动范围约 ±2σ√t。
直觉:限价单的价格离当前中间价越近,市场越波动,成交概率越高。但你需要在价格和概率之间做权衡 — 价格更好(更低买价)意味着更难成交。
各订单类型对比
| 维度 | 市价单 | 限价单 | 止损单 | 冰山订单 |
|---|---|---|---|---|
| 执行保证 | ✅ 是 | ❌ 否 | ⚠️ 触发后保证 | ❌ 否 |
| 价格保证 | ❌ 否 | ✅ 是 | ❌ 否 | ✅ 隐藏部分 |
| 提供流动性 | ❌ 吃单 | ✅ 挂单 | ❌ 吃单 | ✅ 挂单 |
| 手续费 | 较高 | 较低 | 较高 | 较低 |
| 典型用户 | 散户、急单 | 做市商、HFT | 风控系统 | 机构大单 |
滑点 (Slippage)
滑点是预期成交价格与实际成交价格之间的差异。
滑点来源
| 来源 | 解释 | 发生场景 |
|---|---|---|
| 价差成本 | 买入即亏价差 | 所有市价单 |
| 市场冲击 | 大单推高/推低价格 | 市价单量 > 最优价挂单量 |
| 延迟 | 下单到成交之间的价格变动 | 高频率交易、网络延迟 |
回测中的滑点计算
实际成交价 = 信号触发价 × (1 ± 滑点%)假设滑点设为 0.1%,买入信号触发价 $10.00:
实际买入成交价 = \$10.00 × (1 + 0.001) = \$10.01Quant Link:回测中不考虑滑点是新手最常见的错误之一。一个策略在回测中年化 30%,加上 0.1% 滑点可能直接变成 5%。专业量化团队会在回测中模拟多种滑点假设。
关键概念总结
| 概念 | 一句话 |
|---|---|
| 市价单 | 我要成交,价格无所谓 |
| 限价单 | 我要这个价,等多久都行 |
| 止损单 | 亏到 X 我就跑 |
| 冰山订单 | 我想买 10 万股,但别人只能看到 500 |
| 价差 | 买卖之间的"税" |
| 滑点 | 理论价和实际价之间的差 |