三种价差,三个问题
| 度量 | 公式(以买入为例) | 它回答什么问题 |
|---|---|---|
| 报出价差 | 最优卖价 − 最优买价 | 现在跨过去要花多少? |
| 有效价差 | 2 × (成交价 − 成交时的中间价) | 这笔成交实际付了多少? |
| 已实现价差 | 2 × (成交价 − 一段时间之后的中间价) | 流动性提供方留下了多少? |
| 价格冲击 | 有效 − 已实现 | 这笔成交之后中间价动了多少? |
一个算例
委托簿显示买价 5 000.00、卖价 5 000.25,所以中间价是 5 000.125。一张买入市价单在 5 000.25 成交。它的有效价差是 2 × (5 000.25 − 5 000.125) = 0.25,也就是一跳,和报出来的价差一样。一分钟之后中间价是 5 000.375。已实现价差是 2 × (5 000.25 − 5 000.375) = −0.25:那个提供流动性的卖方现在落后了一跳。价格冲击是 0.25 − (−0.25) = 0.50。这个买方是有信息的、或者是运气好;而那个卖方被逆向选择了。
有效价差为什么和报出价差不同
- 一张大于最优价格上规模的委托会走穿委托簿,付出比报出价差更多。
- 在允许的平台上,一张委托可以在价差之内成交,付得更少。
- 报价在决策与成交之间会变,所以相关的那个中间价是成交那一刻的。
- 在一个价差只有一跳的期货市场上,小市价单的有效价差通常恰好是一跳;有意思的变化在更大的委托上,以及在已实现价差上。
当拿不到报价时
计算有效价差需要每一笔成交那一刻的报价。当只有价格可得时,一些估计量从价格行为里推断一个平均的有效价差:Roll 的估计量从价格变化的负自协方差,而 Corwin 与 Schultz 的从一根与两根 K 线高低区间之间的关系。两者描述的都是一个窗口上的平均,而两者都依赖日内数据可能违背的假设。
在 Senzoukria 里
指标库的「Quantitative」组里有「Roll Implied Spread」和「Corwin-Schultz Spread」,两者都在不读委托簿的情况下从 K 线价格估计一个有效价差。它们和「Tape & flow」组里的「Spread Proxy (ticks)」不同——后者度量的是在一根 K 线之内,价格在成交过的各价位之间跳过了多少跳,是那些成交印的几何形状,而不是一个价差模型。实时报出的价差,可以通过热力图上的最优买卖价两条线、以及 DOM 阶梯看到。
相关内容
同一栏目
其他语言版本
常见问题
- 为什么要乘以二?
- 一笔成交与中间价之间的距离,是一次往返的一半。乘以二让有效价差能和报出价差作比较,而后者是从买价到卖价的完整距离。有些资料改为报半价差,所以在比较数字之前要先确认约定。
- 已实现价差会是负的吗?
- 会。已实现价差为负意味着在度量窗口之内,中间价朝主动方的方向越过了成交价,所以流动性提供方在那笔成交上亏了钱。在很多笔成交上取平均,一个为负的已实现价差是有毒、有信息流量的一个迹象。