交易基礎與市場結構

訂單簿怎麼看?從 Bid、Ask 到市場深度與滑價完整實作

用 Binance 真實訂單簿辨認買賣盤、最佳價與累積深度,親手計算價差、平均成交價和滑價,再依可接受結果選擇委託方式。

訂單簿怎麼看?從 Bid、Ask 到市場深度與滑價完整實作

讀完這篇,你應該能在 Binance 現貨頁找到訂單簿,分清楚賣盤與買盤,算出當下價差,並用逐檔深度估算一筆市價單可能得到的平均成交價。最後,你會得到一套可直接使用的下單前檢查流程,而不是只會看紅綠數字猜漲跌。

先確定你看的交易對與數量單位

訂單簿只對當前交易對有效。以 BTC/USDT 為例:

  • Price(USDT):每 1 BTC 的報價,以 USDT 表示。
  • Amount(BTC):該價位等待成交的 BTC 數量。
  • Total:介面可能顯示該檔或累積數量,必須先看欄位標題與顯示模式。

切換成 BTC/USDC、ETH/USDT 或永續合約後,數值、深度和結算邏輯都會改變。不要拿另一個交易對的深度來估算目前這一筆委託。

在 Binance 真實介面找到訂單簿

Binance BTC/USDT 公開現貨交易頁真實截圖,左側訂單簿顯示紅色賣盤、綠色買盤、Price、Amount 與 Total 欄位

桌面版現貨頁的訂單簿位於左側。紅色區域是等待賣出的 Ask,綠色區域是等待買入的 Bid;兩者中間通常顯示最近成交價。截圖來自未登入的 Binance 公開交易頁,沒有帳戶、餘額或個人資料。價格只是截圖當下的畫面,不是即時報價,也不是交易建議。

介面版面可能調整,但辨認順序不變:先看交易對,再看 Price 和 Amount 的單位,最後才讀紅綠兩側的數量。

Bid、Ask、最佳價與最新價不是同一件事

  • Bid(買盤):買方已掛出的買入價格與數量。
  • Ask(賣盤):賣方已掛出的賣出價格與數量。
  • 最佳買價 Best Bid:買盤中最高的價格。
  • 最佳賣價 Best Ask:賣盤中最低的價格。
  • 最新成交價 Last Price:上一筆已完成交易的價格。

如果 Best Bid 是 99.90、Best Ask 是 100.10,買方此刻用市價單通常先碰到 100.10 的賣盤;賣方用市價單則通常先碰到 99.90 的買盤。最新價即使顯示 100.00,也不代表你能以 100.00 成交。

買賣價差怎麼算

絕對價差公式是:

價差 = Best Ask − Best Bid

沿用上例:

100.10 − 99.90 = 0.20 USDT

比較不同幣價時,應改看百分比價差:

中間價 = (Best Ask + Best Bid) ÷ 2

價差百分比 = 價差 ÷ 中間價 × 100%

因此中間價為 100.00,價差百分比為 0.20%。百分比價差較容易比較不同交易對,但仍未包含手續費與跨檔成交造成的滑價。

市場深度要逐檔累加,不能只看第一檔

假設賣盤如下:

Ask 價格 該檔可賣數量 累積數量
100.10 0.20 0.20
100.20 0.30 0.50
100.40 0.40 0.90
100.80 0.80 1.70

要市價買入 0.65 單位時,第一檔只有 0.20,不足的部分會繼續吃第二、第三檔:

  • 0.20 × 100.10 = 20.02
  • 0.30 × 100.20 = 30.06
  • 0.15 × 100.40 = 15.06

總成交額為 65.14,加權平均成交價為:

65.14 ÷ 0.65 = 100.2154

這才是未計費用的預估平均成交價。畫面最上方的 100.10 只是第一小部分能取得的價格。

滑價要用平均成交價計算

若以送單前 Best Ask 100.10 為基準:

買入滑價率 = (平均成交價 − 基準價) ÷ 基準價 × 100%

代入上例:

(100.2154 − 100.10) ÷ 100.10 × 100% ≈ 0.115%

實際結果仍可能不同,因為你讀取畫面到送出委託之間,其他人可以成交、掛單或撤單。這個計算的用途是判斷委託是否相對深度過大,不是保證成交價。

用 0.1%、0.5% 與 1% 深度做壓力測試

先以中間價為中心,累加價格偏離不超過 0.1%、0.5% 和 1% 的數量或成交額,再與自己的委託比較。例如,你的市價買單若已占上方 0.5% 範圍內可見賣盤的 60%,就不能只用 Best Ask 預估成本。

再做一個保守情境:假設送單前可見深度突然減半,重新計算平均成交價。如果結果超出可接受成本,應縮小委託、分批執行,或改用帶價格邊界的限價單。分批也不是免費方案;每一批之間市場可能移動,且可能增加操作和費用成本。

深度圖與訂單簿的關係

深度圖只是把訂單簿的累積量畫成曲線:橫軸是價格,縱軸是累積數量或價值。曲線突然變陡,表示某段價格聚集了較多可見委託;它不代表該價格一定守得住。

要核對深度圖,回到訂單簿查看三件事:聚集量距離目前價格多遠、數量是否持續存在、接近時是否真的出現成交。只看一張靜態深度圖,無法區分穩定流動性與短暫掛單。

為什麼「買牆/賣牆」不能直接當支撐壓力

訂單簿展示的是尚未成交、仍可撤銷的意願。大額掛單可能在價格接近前取消、移到別的價位、拆分,或只顯示部分數量。相反地,冰山單或演算法拆單也可能讓實際流動性比畫面更多。

因此不能因為看到一排大數字,就斷言價格會反轉。較可靠的觀察需要同時查看:

  1. 該價位的掛單是否在多個時間點持續存在;
  2. 價格靠近時,掛單是被成交還是突然撤走;
  3. 成交紀錄是否真的在該價位出現足夠交易量;
  4. 掛單是否反覆移動,始終與市場保持距離。

這些現象仍只能描述市場行為,不能保證下一步走勢。

限價單進入訂單簿後,還要考慮排隊

多數集中式交易所採價格優先,同價位再按時間優先。你把限價買單掛在 99.90,不代表畫面成交到 99.90 時就一定輪到你;同價位較早掛入的數量可能先成交。

如果取消後重新掛單,通常會失去原本的排隊位置。若限價買單直接跨過 Best Ask,它可能立刻與現有賣盤成交,成為 Taker,而不是留在簿上當 Maker。委託名稱本身不保證 Maker 身分。

按目標選擇委託方式

你的真正限制 可考慮的方法 必須接受的代價
優先快速成交 市價單,先估算逐檔深度 平均成交價不確定,可能滑價
不接受超過某個買價或低於某個賣價 限價單 可能部分成交或完全不成交
委託相對深度太大 縮小或分批,逐批重估深度 市場在各批之間移動,執行時間變長
只有完整數量成交才有意義 查看產品是否提供 FOK 深度不足時整張取消

如果「沒成交」帶來的後果比小幅滑價更嚴重,就不能只追求最低價格;如果超過某個價格就使計畫失效,就不能只追求速度。先寫出不可接受的結果,再選工具。

下單前到成交後的完整流程

  1. 確認頁首交易對與市場類型,例如 BTC/USDT Spot。
  2. 核對 Price、Amount、Total 分別使用哪一種資產。
  3. 記下 Best Bid、Best Ask,算出絕對與百分比價差。
  4. 從最佳價開始累加足以覆蓋自己委託的檔位。
  5. 算出預估成交額、加權平均成交價與滑價率。
  6. 把手續費加入總成本,再做深度減半的壓力測試。
  7. 依「價格邊界」和「未成交後果」選市價、限價或拆單。
  8. 送單後查看已成交量、未成交量、平均成交價與費用;不要只看委託已提交。

常見問題與修正方式

問題 真正原因 修正方式
最新價是 100,成交卻高於 100 市價買單跨越多個 Ask 用逐檔數量重算加權平均價
看起來深度很多,仍有明顯滑價 大量掛單離目前價格太遠 只累加可接受偏離範圍內的深度
限價碰到卻沒有完全成交 同價位前方仍有排隊量 查看已成交與剩餘數量,決定等待、取消或改價
把 Total 當成單檔數量 顯示模式是累積值 核對欄名與深度顯示模式
看到大牆就追單 掛單可隨時撤銷 同時看撤單、實際成交和時間變化
小數位輸入被拒絕 價格或數量不符合 tickSize/stepSize 依當前交易對規則調整價格與數量步長

完成檢查表

  • 我能指出當前交易對的基礎資產與計價資產。
  • 我能分辨 Best Bid、Best Ask 與最新成交價。
  • 我能計算絕對價差與百分比價差。
  • 我能逐檔累加深度並算出市價單的平均成交價與滑價。
  • 我知道可見買賣牆可以撤銷,不能單獨預測走勢。
  • 我會在送單後核對實際成交量、平均價格、剩餘數量與費用。

以上六項都能完成,才算真正讀懂訂單簿,而不是只認得紅綠顏色。

延伸閱讀

核對資料

本文用於解釋交易介面與執行機制,不構成投資建議。訂單簿會持續變動,試算結果不是成交承諾。