3. 市场微观结构入门
在CTA策略研究中,很多交易者把注意力集中在信号本身,却忽略了一个更底层的问题:策略最终能不能赚钱,不仅取决于预测方向,还取决于每次进出市场时被“摩擦”掉多少成本。市场微观结构就是研究这一摩擦如何产生的学科。它关注的是订单如何进入市场、如何撮合、价格如何形成,以及流动性如何影响成交结果。对CTA而言,理解微观结构,等于理解交易成本从哪里来、策略容量为什么有上限。
一、核心原理:订单簿是市场的“实时供需地图”
现代电子化市场普遍采用订单簿(Order Book)撮合机制。订单簿本质上是一个按价格排序的买卖委托集合:买方希望以某个价格买入,卖方希望以某个价格卖出。当买价与卖价匹配时,交易成交。订单簿分为两类主要订单:
- 限价单(Limit Order):指定价格,只有达到该价格才成交,提供流动性,但存在不成交风险。
- 市价单(Market Order):不指定价格,追求立即成交,消耗流动性,但可能产生滑点。
订单簿的最佳买价(Best Bid)与最佳卖价(Best Ask)之间的差额,就是买卖价差(Bid-Ask Spread)。价差是市场流动性的最直接度量:价差越窄,交易成本越低;价差越宽,交易者每次进出都要付出更高的隐性成本。
核心公式:一次完整买卖往返的显性价差成本 ≈ 买卖价差 × 交易数量。若价差为2个最小变动价位,交易10手,则仅价差成本就相当于20个最小变动价位的价值。
除了价差,市场深度(Market Depth)同样关键。深度指在某一价格附近可成交的订单数量。深度好,意味着大单不会轻易把价格打穿;深度差,则少量成交就可能推动价格跳动。流动性则是价差、深度、成交速度与价格弹性的综合体现。
二、方法流程:如何评估流动性对交易成本的影响
在CTA策略开发中,评估微观结构影响通常遵循以下流程:
- 采集订单簿快照:记录最佳买卖价、各档位价格与数量,形成时间序列。
- 计算价差指标:如绝对价差、相对价差(价差/中间价)、有效价差。
- 估算市场深度:统计买一卖一、买五卖五累计挂单量,判断大单容纳能力。
- 模拟成交与滑点:按策略下单量逐档撮合,计算实际成交均价与理论价格之差。
- 反推策略容量:当滑点与冲击成本超过信号收益时,该资金规模即为容量上限。
其中,滑点估算可以用简化模型表达:
# 简化滑点估算示例(伪代码)
def estimate_slippage(order_size, ask_levels):
remaining = order_size
cost = 0.0
for price, qty in ask_levels:
fill = min(remaining, qty)
cost += fill * price
remaining -= fill
if remaining == 0:
break
avg_price = cost / order_size
slippage = avg_price - ask_levels[0][0]
return avg_price, slippage
# 若 order_size 超过前几档总量,avg_price 会显著上移
三、案例/场景:深度不足如何吃掉CTA利润
假设某螺纹钢期货合约当前买一价为3712,卖一价为3715,价差3个点。某CTA策略发出买入信号,计划买入200手。订单簿卖盘前五档如下:
| 档位 | 价格 | 挂单量(手) | 累计成交量(手) |
|---|---|---|---|
| Ask 1 | 3715 | 40 | 40 |
| Ask 2 | 3718 | 25 | 65 |
| Ask 3 | 3720 | 18 | 83 |
| Ask 4 | 3723 | 30 | 113 |
| Ask 5 | 3726 | 50 | 163 |
若一次性市价买入200手,前五档仅能成交163手,剩余37手需继续向上吃单,成交均价将远高于3715。假设最终均价为3722,则相对初始卖一价的滑点为7个点。若策略预期每手盈利10个点,则滑点直接吃掉70%的利润。若交易频率较高,这种摩擦会迅速累积,导致实盘表现远差于回测。
常见误区:回测中使用收盘价或中间价成交,忽略价差与深度,会系统性高估策略收益。尤其是高频CTA或大资金策略,必须加入订单簿模拟或至少加入保守滑点假设。
四、误区/复盘:流动性评估中的典型错误
- 只看价差,不看深度:价差窄不代表大单能低成本成交,深度不足时冲击成本可能远超价差。
- 用静态数据代替动态订单簿:流动性随时间变化,开盘、收盘、重大数据发布前后差异巨大。
- 忽略自身订单对市场的影响:策略规模越大,越会改变订单簿结构,产生内生冲击成本。
- 把回测滑点设为固定值:固定滑点无法反映不同品种、不同时段、不同单量的真实差异。
复盘建议:对每笔实盘成交记录,对比下单时中间价与实际成交均价,计算有效滑点,并按品种、时段、单量分组统计。若某组滑点持续偏高,应降低该场景下的目标仓位或改用限价单拆分执行。
理解订单簿、价差、深度与流动性,是CTA策略从“信号研究”走向“可交易系统”的必经一步。只有把交易成本纳入收益模型,策略容量评估才有可靠基础。