要点
- 在卖价上或之上
- 买方发起(BUY)
- 在买价上或之下
- 卖方发起(SELL)
- 落在买卖价之间
- 中间价:无法从报价推断方向
报价规则
多数期权成交报告里有价格、规模、时间和场所,但没有「哪一方跨过了价差」。期权流工具从报价去推断它:在卖价上的一笔成交,是一位付掉卖价的买方在做主动方;在买价上的一笔成交,是一位打掉买价的卖方在做主动方。打在卖价之上或者买价之下的成交,通常按它最近的那一侧处理。
落在价差内部的一笔成交,可能是一个协商出来的价格、一次价格改善,或者一个复杂订单的一条腿,而仅凭报价无法说出是谁发起的。这不是一个可以用更聪明的规则解决的问题——所需的信息根本不在数据里。
算例
一张合约报价为买价 1.20、卖价 1.30。打在 1.30 和 1.32 的成交被标成买入,打在 1.20 的标成卖出,打在 1.25 的标成中间价。
如果在那笔 1.30 的成交之前,报价刚刚移动到 1.25 乘 1.35,那么这笔成交正确的标签是中间价,不是买入:拿一笔成交去和另一个时刻取到的报价做比较,可以改变它的归类。这就是为什么「报价快照取在什么时候」比归类规则本身更重要。
| 成交价 | 标签 | 读法 |
|---|---|---|
| 1.32 | 买入 | 高于卖价:买方追了上去 |
| 1.30 | 买入 | 在卖价上 |
| 1.25 | 中间价 | 在价差内部:无法归属 |
| 1.20 | 卖出 | 在买价上 |
为什么标签会误导
- 报价时间点:所用的报价必须是这笔成交时间戳上生效的那个。几秒之后取到的报价只是一个近似。
- 复杂订单:一个价差的各条腿往往按整包定价,可能打在各自报价上或者之外,于是一条腿是买入、另一条是卖出,而它们合起来表达的是同一个观点。
- 方向是第二层推断:买入看跌是看空、卖出看跌是看多,所以方向标签必须和期权类型结合起来才能读出方向。
- 开仓还是平仓是未知的:一笔在卖价上的买入,可能是在平掉一个空头头寸,而不是开出一个多头头寸。
在 Senzoukria 里
期权流把每一笔成交标成 BUY、SELL、MID,或者不给方向。在 Alpaca 和 Tradier 这两条路径上,软件把成交价和它轮询时拿到的最新买卖价做比较,而不是每一笔成交那一瞬间的报价,这个局限写在它的源码里;在 Tradier 路径上,每一次轮询对每张合约推断一个方向。
在 Databento 路径上,方向来自 OPRA 记录的主动方字段。报价缺失或者交叉时,方向留为未知。没有方向的成交会被从买入/卖出期权流合计里排除——合计处会写明被排除的权利金——也会被从净权利金和对冲压力的度量里排除,而不是在两侧之间对半分开。
相关内容
同一栏目
其他语言版本
常见问题
- 一笔在卖价上的成交意味着有人看多吗?
- 只对看涨期权成立,而且只是第一层读法。看跌期权上一笔在卖价的买入是看空的;而一笔在卖价的买入也可能是在平掉一个空头头寸,或者是某个整体方向不同的价差的一条腿。方向只是众多输入里的一个。
- 为什么两家期权流服务给同一笔成交打的标签不一样?
- 它们可能用了不同的报价快照、对价差内部成交用了不同的规则,以及对复杂订单成交有不同的处理方式。底层的成交报告是同一份;方向是每家各自的推断。