价差是谁留下的?
把盘口看成一组等待中的库存,比较卖一深度、买卖价差与一笔扫单的真实交易成本。
- 区分价差、深度和最近成交价
- 解释做市者为什么愿意在两边挂单
- 用盘口变化判断流动性是否正在变薄
- 上一章市价单会吃掉什么?
- 本章价差是谁留下的?
把盘口看成一组等待中的库存,比较卖一深度、买卖价差与一笔扫单的真实交易成本。
- 下一章改价为什么要重新排队?
先想一想这几个问题
展开答案前,可以先在心里做个判断。与预期不同的内容可以加入复习列表。
Q01买卖价差只有 1,为什么大单仍然可能很贵?+
价差只描述最前面一小档。若卖一只有 1 份,后面价格迅速抬高,大单会跨档成交;交易成本取决于整条深度,不只看门口。
订单簿里的流动性不是一个抽象百分比,而是一组愿意在不同价格等待的资产。买一、卖一、各档数量和最近成交价共同决定:此刻交易需要付出多少,以及一笔更大的订单会把价格推到哪里。
价差是第一笔交易成本
买一是当前最高买价,卖一是当前最低卖价。两者之间的价差不是某个人单独收取的费用,而是立即买入再卖出时必须跨过的空间。做市者通过在两边挂单提供选择,承担库存和被动成交的风险,换取可能的价差收益。
LAB / 积分
限价订单先进入队列;只有盘口交叉,撮合引擎才会把它们变成成交。
同一个“买入”会不会穿过多个价格档位?
先看卖一有多少数量,再调整深度探针。只有跨到 105 分档位时,平均执行价才会高于第一档报价。
先读盘口:卖一是当前最低卖价,买一是当前最高买价。只有买价不低于卖价时,撮合循环才会启动。
- 01
盘口创建:卖一 102 分(两个价位相同的订单),买一 98 分。价格和时间都需要被保留。
拖动滑块可以回到此前的步骤。从那里继续操作时,后续记录会替换为新的操作序列。
Maker 与 Taker 是两种不同的动作
- Maker 把限价单留在盘口,等待别人来成交;它增加可见深度,也承担订单被选择的风险。
- Taker 提交能穿过价差的订单,立即消耗已有流动性;它获得确定性,但可能付出价差和价格冲击。
相同的账户可以在不同动作中扮演两种角色。一个“买入”按钮不能说明它是好是坏,必须看它是把订单放进队列,还是跨过卖一执行。
展开:这一步如何实现
spread = bestAsk - bestBid
average = sum(fill.price * fill.quantity) / sum(fill.quantity)
impact = average / bestAsk - 1
价差、价格冲击和手续费是不同概念:价差来自买卖两边的报价间隔,冲击来自你改变了可用档位,手续费则是协议或平台额外扣除的金额。把它们混在一起,会误判市场到底是“贵”还是“薄”。
判断一个订单簿是否有足够流动性时,哪组信息最有用?
继续追问盘口
- 做市者为什么可能在波动时撤掉报价?
- 为什么一个看起来很窄的价差,遇到大单仍然可能很贵?
- 当卖一数量下降时,订单簿的风险是价格先变,还是可成交数量先变?
这些问题把订单簿和 AMM 连接起来:订单簿把深度拆成离散报价,AMM 把深度写进一条连续曲线。两者都在回答“下一单位资产要付出什么代价”。