订单簿(order book)是某个交易对上还没有成交的限价单,按价格高低排成的清单。它告诉你,按眼下的价格能买到或卖掉多少,想成交得更多,又得把价格让到哪里。
簿分两列。卖单那一列记的是有人愿意以什么价格卖、卖多少;买单那一列记的是有人愿意以什么价格买、买多少。两列在中间相遇:卖单里要价最低的一档叫卖一,买单里出价最高的一档叫买一。从中间往外看,卖价一档比一档高,买价一档比一档低,离现在的成交价越来越远。
挂单(Maker)和吃单(Taker)是什么意思,哪种单会留在订单簿上
能留在簿上的只有限价单。限价单要等市场价到了你填的价格或更好的价格才成交;没到,它就一直挂在簿上。市价单下单就去成交,不会在簿上停留。
挂在簿上等别人来成交的一方叫挂单方(Maker),把簿上现成的单子直接吃掉的一方叫吃单方(Taker)。簿里的每一行都是挂单方留下的;每成交一笔,就是有一方作为吃单方,把其中一部分拿走了。一张限价买单,价格没有够到卖一,它就进簿成为买盘的一档。想让自己的单只进簿、不当场成交,可以用只做 Maker。
两列都按价格排。竖着排的盘口,卖单放在上半截,买单放在下半截,整张表从上往下价格一路递减:卖单的最低价贴着中间,买单的最高价也贴着中间,两者之间断开的那一截就是价差。同一个价位上可能挂着好几个人的单,簿上这一行显示的是它们的数量之和,看不出是几张单拼起来的。
买一卖一的价差大说明什么
价差等于卖一减买一。把两者取平均,得到的叫中间价。
这段距离是当场成交要付的代价。马上买入,最低也得按卖一付;马上卖出,最高也只能按买一拿。同一时刻买进再卖出,还没算手续费,就先少了一个价差。
价差拉宽,说明靠近当前价的位置上挂着的单变少了。可能这个交易对本来挂单就稀,也可能刚有一笔大单把最近几档吃空,新单还没补上来。哪一种,单看价差分辨不出,要配合深度一起看。
比较两个价位相差悬殊的交易对时,直接比价差没有意义。同样差 0.01,放在几块钱的币上和放在几万的币上,分量完全不同。拿价差除以中间价,换成比例再比,才放得到一起。
深度图怎么看:两边的台阶是什么意思
每一档后面的数量,是这个价位上还挂着多少。从卖一往上逐档加,得到卖盘的累计数量;从买一往下逐档加,得到买盘的累计数量。有的页面会在旁边另给一列累计数,没有的话,自己往外加就行。
有了累计数量,就能回答「不超过某个价格,一共能买到多少」。价差再窄,如果卖一、卖二只挂着一点点,稍大一些的买单一样会被推到远处的价位。
深度图把累计数量画了出来。价格沿横轴排开,中间是买一和卖一之间的缺口,往一侧是越来越低的买价,往另一侧是越来越高的卖价;纵轴是累计数量,所以两侧各是一道往外越走越高的台阶。台阶在某个价位突然拔高,说明那里挂得多;坡又平又矮,说明挂单稀,不大的单量就能把价格推出去一段。
算例举个例子,假设某一刻的五档盘口是这样。卖盘:卖一 8.00 USDT 挂 20 个,卖二 8.02 挂 30 个,卖三 8.05 挂 50 个,卖四 8.10 挂 40 个,卖五 8.20 挂 100 个。买盘:买一 7.98 挂 25 个,买二 7.95 挂 40 个,买三 7.90 挂 60 个,买四 7.85 挂 30 个,买五 7.80 挂 80 个。价差是 8.00 − 7.98 = 0.02 USDT,卖盘的累计数量依次是 20、50、100、140、240。现在你要买入,条件是成交均价不超过 8.03 USDT,手续费另算。吃完卖一、卖二共 50 个,花 20 × 8.00 + 30 × 8.02 = 400.60 USDT,均价 8.012,在线内;把卖三整档也吃下是 100 个、803.10 USDT,均价 8.031,越线了。所以要停在卖三中间:设从卖三买 x 个,令 (400.60 + 8.05x) ÷ (50 + x) = 8.03,得 0.02x = 0.90,x = 45。最多买 95 个,花 762.85 USDT,均价正好 8.03;从第 96 个起,均价就过了 8.03。
这张盘只是一张快照。等你真去下单,卖一、卖二可能已经被别人买走一部分,算出来的 95 个也就跟着变。
盘口冒出一张特别大的挂单,未必会一直等在那里
没成交的挂单随时可以撤,不用等价格走到那里,也不用知会谁。
就算不撤,它也只是在那个价位上供应了一个数量。价格走过来,吃单方照样可以把它一口一口吃掉,吃完了价格接着往前走。离买一卖一越远的大单,前面隔着的档位越多,价格得先把中间那些走完才轮得到它,这期间它有足够的时间消失。
一张大挂单只说明此刻有人在那里挂了这么多,证明不了那个价位守得住。
订单簿和最新成交列表的区别
订单簿旁边还可能有一列不断滚动的最新成交,同样带着价格和数量,记的却是另一回事。
订单簿列的是报价,交易还没发生。每一档的数量会因为有人挂单、撤单、成交而变动,簿上标着的价格,有可能一直等不到人来成交。想知道按某个价格能买到多少,看订单簿。
最新成交列的是已经发生的交易,每一条带成交价、数量和时间。吃单方的单与簿上的挂单撮合时,按挂单的价格成交:比如一张限价填得比当前价高的买单会立刻成交,成交价在当前价附近,不是你填的那个限价。最新价取的是最后一笔成交,K 线也是由这些成交画出来的。
合约页面上还会多一个标记价格,它既不是簿上的报价,也不是最新成交价。
也不是所有交易场所都有订单簿:在靠流动性池定价的去中心化交易所(DEX)里兑换,没有一张张挂单排成的两列,价格由池子里两种币的数量按公式算出来,换得越多,价格偏得越远。
市价单吃掉好几档时的成交均价
市价单按簿上最优的价格立刻成交,所以成交均价可能和你看到的当前价有出入:买单偏高一点,卖单偏低一点。原因就在簿上:市价买单从卖一开始吃,卖一的数量不够,就接着吃卖二、卖三,均价是这几档按各自成交数量加权出来的;一张 12 个的买单怎样吃过三档、滑点怎么算,可以看市价单和限价单的算例。
限价买单保证每一笔成交价都不高于限价,均价它管不了。还是那张五档盘口,一张限价 8.05、数量 100 个的买单,会把卖一到卖三全部吃下,每一个都没超过 8.05,均价却是 8.031,已经高过 8.03。要把均价压在某个数以内,得先按累计数量算好买多少。
读订单簿时,有些东西用不着盯。某一张格外显眼的大单,下一刻可能已经撤走了。盘口上一直在跳的数字也不必逐个去追,别人挂一张、撤一张、成交一笔,它就动一下。
常见疑问
盘口上的买一、卖一代表什么?
买一是此刻挂着的买单里出价最高的那一档,卖一是挂着的卖单里要价最低的那一档。想马上卖出,最先接手的是买一;想马上买入,最先成交的是卖一。两者相减是价差,两者的平均值叫中间价。每一档后面的数字是这个价位上挂着的数量之和,可能来自好几张单。
订单簿上突然出现的大单能不能当真?
挂单在成交之前可以由下单的人撤掉,也可能只成交一部分,所以它算不上承诺。离买一卖一越远的大单,价格要先走完中间那几档才轮得到它,在那之前它随时可能不见。拿它判断价格会在那里停住,依据并不充分。
K 线上的价格和订单簿上的报价,差在哪?
两者记的不是同一样东西。K 线由已经成交的价格画成,每一根记一段时间里的开盘、最高、最低和收盘成交价;订单簿列的是还没成交的报价。簿上挂着的价位如果一直没人成交,就不会出现在 K 线里。正在走的那根 K 线,收盘价就是最近一笔成交价,它成交在当时簿上的某一档,之后有人挂单、撤单,簿上的买一卖一就和它隔开了。



