5. 买卖价差分析:价差定义、影响价差的因素、价差与流动性的关系
买卖价差,英文叫 Bid-Ask Spread。说白了,就是你想买,我愿意卖,我们俩之间的那个价格差距。
我刚开始做量化的时候,觉得这东西不就是个手续费嘛。后来在实盘里吃了亏才明白——价差才是真正的隐形杀手。你策略赚的那点 alpha,可能全被价差吃掉了。
5.1 价差的定义
价差 = 卖一价 - 买一价。
举个例子:
- 买一价:10.00 元(有人愿意出这个价买)
- 卖一价:10.02 元(有人愿意出这个价卖)
- 价差:0.02 元
这个 0.02 元,就是你做一次完整交易(先买后卖,或者先卖后买)需要付出的成本。
核心公式:
绝对价差 = 卖一价 - 买一价
相对价差 = (卖一价 - 买一价) / 中间价 × 100%
中间价 = (买一价 + 卖一价) / 2
我个人习惯用相对价差。因为不同价格的股票,绝对价差没法直接比。茅台价差 0.5 元和工商银行价差 0.01 元,哪个流动性好?用相对价差一看就清楚了。
5.2 影响价差的因素
价差不是固定的。它像水一样,会随着市场环境变化。我总结了几个关键因素:
5.2.1 流动性
这是最直接的因素。流动性好的品种,买卖单子多,价差自然小。比如沪深300的ETF,价差经常只有 0.001 元。而一些小盘股,价差可能到 0.05 元甚至更大。
我在做高频策略时遇到过这种情况:一个冷门品种,买一和卖一之间差了 10 个 tick。你想做市?根本做不了,进去就被套。
5.2.2 波动性
市场波动大的时候,做市商和流动性提供者会扩大价差来保护自己。你想想看,如果价格上蹿下跳,谁还敢把单子挂在那不动?
我记得有一次财报季,某只股票盘前波动巨大。开盘时价差从平时的 0.02 元直接扩大到 0.15 元。嗯,这时候你要是用市价单进场,成本就高了去了。
5.2.3 交易时间
- 开盘和收盘:信息不对称最严重,价差通常较大
- 午盘休息前后:流动性下降,价差扩大
- 盘中稳定期:价差最小
5.2.4 信息事件
重大新闻、财报发布、政策变动——这些都会让价差瞬间扩大。做市商需要时间消化信息,重新调整报价。
避坑指南:
我曾经在财报发布前用市价单做了一笔交易,结果成交价离预期差了 0.3%。那笔交易本来盈利 0.5%,最后只剩 0.2%。从那以后,我遇到重大事件都改用限价单,或者干脆等市场稳定了再动手。
5.2.5 订单簿深度
价差只反映了第一档的价格差距。但真正的流动性要看整个订单簿的深度。如果买一和卖一之间价差很小,但后面几档单子很薄,那其实流动性并不好。
我习惯用「价差 + 深度」两个维度一起看。光看价差,容易被骗。
5.3 价差与流动性的关系
价差和流动性,说白了就是一枚硬币的两面。
- 价差小 → 流动性好:交易成本低,容易进出
- 价差大 → 流动性差:交易成本高,大单容易滑点
但这里有个细节:价差小不一定等于流动性好。为什么?
举个例子:某只股票买一和卖一之间只有 0.01 元价差,但买一只有 100 股,卖一只有 200 股。你想买 10000 股?对不起,你得吃掉好几档,实际成交价可能比卖一高很多。
所以,我一般用「价差 + 订单簿深度」来综合评估流动性。具体来说:
| 指标 | 含义 | 流动性好 | 流动性差 |
|---|---|---|---|
| 绝对价差 | 卖一 - 买一 | < 0.01 元 | > 0.05 元 |
| 相对价差 | 价差 / 中间价 | < 0.1% | > 0.5% |
| 深度 | 前五档总挂单量 | > 100 万元 | < 10 万元 |
| 滑点 | 实际成交价与预期价差 | < 0.02% | > 0.2% |
实战技巧:
我写策略时,会在代码里加一个流动性过滤器。如果相对价差超过 0.3%,或者前五档深度不足 50 万元,就跳过这笔交易。虽然会错过一些机会,但能避免大部分滑点损失。
5.4 知识体系图
下面这张图,把价差分析的核心逻辑串起来了:
这张图的核心逻辑是:从价差定义出发,分析四个影响因素,最后落到价差与流动性的关系上。你写策略的时候,可以把这个框架当成检查清单——每笔交易前,先看看价差,再看看深度,最后决定要不要进场。
总结一下:
价差是交易成本的核心组成部分。影响价差的因素很多,但最关键的还是流动性和波动性。价差和流动性是负相关关系——价差越小,流动性越好。但别忘了,价差只是第一层,订单簿深度才是真正的流动性体现。