The Problem: Thin Orderbooks
By default, Arbitron uses the Best Bid and Ask (BBA) — the top-of-book prices — to calculate spreads and decide when to open a trade. These are the best available prices at any given moment. The issue is that the best price might only have a tiny amount of liquidity behind it. If the top ask has only 0.5 SOL available but your order size is 10 SOL, the exchange will fill part of your order at the best price and the rest at progressively worse prices deeper in the book. This is called slippage.
On highly liquid pairs like BTC-USDT on Binance, this is rarely an issue — the top levels typically hold hundreds of thousands of dollars. But on less liquid pairs, smaller exchanges, or exotic tokens, the gap between what the BBA shows and what you actually get can wipe out the entire spread profit. The Depth Multiplier solves this by computing a more realistic execution price before deciding to trade.
Why do thin orderbooks happen so often in crypto perpetuals? Three structural reasons. First, liquidity fragments across 18+ active venues — what looks like a $10M-cap token is actually 18 separate orderbooks, each with a fraction of total depth. Second, market makers concentrate liquidity at the top one or two levels and leave wide gaps below — a profile that displays well on screen but evaporates the moment a real-size order arrives. Third, Asian off-hours, weekends, and pre-announcement windows pull market makers off altogether, so book depth can collapse by 50–90% inside a few minutes. A spread that looked profitable at 03:00 UTC may have nothing behind it by 04:00 — and BBA-only logic has no way to tell the difference.
How It Works: VWAP Instead of BBA
When you set Depth Multiplier to a value greater than 0, Arbitron replaces the top-of-book BBA with a Volume-Weighted Average Price (VWAP) for spread calculations. Instead of looking only at the single best price, it simulates walking through the orderbook to fill your entire order and computes the average price you would actually pay or receive.
The depth that is checked equals your Order Size multiplied by the Depth Multiplier. For example, if your Order Size is 10 SOL and the Depth Multiplier is 2, the system computes VWAP at 20 SOL of depth on each exchange. This means it walks through the orderbook accumulating levels until 20 SOL is filled, then calculates the weighted average price: total cost divided by total quantity.
The algorithm processes each level in order — starting from the best price, taking as much quantity as available at each level, and moving to the next. If the top ask level has 8 SOL at $150.00 and the next level has 12 SOL at $150.05, the VWAP for 20 SOL would be (8 × 150.00 + 12 × 150.05) ÷ 20 = $150.03. The resulting VWAP price is always equal to or worse than the best BBA price — never better.
Choosing the Right Value
A value of 0 disables the feature entirely — spreads are computed using raw BBA prices. This is fine for highly liquid pairs where the top of book always has ample depth. A value of 1 checks liquidity at exactly your order size — the minimum reasonable check. A value of 2–3 is the recommended range for most setups: it ensures there is enough depth to absorb your order with a comfortable margin. Higher values like 5–10 are conservative and suited for less liquid pairs where you want extra certainty.
The higher the multiplier, the deeper the system looks and the worse (more conservative) the VWAP price becomes. This means spreads will appear narrower with a high multiplier, and you may see fewer trade signals. This is by design — the system only opens when there is genuine liquidity at profitable levels, filtering out phantom opportunities that would result in slippage losses.
Practical defaults by pair tier: BTC-USDT or ETH-USDT on a top-5 venue (Binance, Bybit, OKX, Bitget) — multiplier 0–1 is usually fine because top-of-book depth comfortably exceeds typical order sizes. SOL, AVAX, MATIC and similar mid-caps on the same exchanges — multiplier 2–3 catches the times of day when market makers retreat. Lower-cap altcoins or mid-cap pairs on smaller exchanges (Gate.io, MEXC, KuCoin) — multiplier 3–5 is the floor; consider 5–10 if you trade in size. The cleanest way to calibrate is to start with multiplier 2, run the card for a few days, and watch the "VWAP insufficient depth" skip rate in diagnostics. If skips stay under 5%, the multiplier is appropriate. If they climb above 20%, the pair is structurally too thin for that size — reduce notional or pick a more liquid venue rather than lowering the multiplier.
What Happens When Depth Is Insufficient
If the orderbook does not have enough liquidity to fill the requested depth (Order Size × Depth Multiplier), the VWAP computation returns no result and the spread tick is silently skipped. No trade signal is generated. This is a deliberate safety mechanism — if the book is too thin to validate, the system refuses to act rather than guessing.
You can monitor how often this happens via the "VWAP insufficient depth" metric in the diagnostics. If skips happen frequently, it could mean the pair is too illiquid for your order size, or the multiplier is set too high. Consider reducing the multiplier or the order size.
Practical Example
Suppose you have a card trading TOKEN-USDT between Exchange A and Exchange B. Order Size = 100 tokens, Depth Multiplier = 2. The system will compute VWAP at 200 tokens of depth on each exchange. On Exchange A the ask side looks like: 50 tokens at $1.200, 80 tokens at $1.201, 100 tokens at $1.205. Walking 200 tokens: 50 × 1.200 + 80 × 1.201 + 70 × 1.205 = VWAP = $1.2022. Meanwhile the raw best ask is $1.200.
The system uses $1.2022 instead of $1.200 for the spread calculation on Exchange A's ask side. This 0.18% difference may seem small, but on a pair where the total spread is 0.4%, losing 0.18% to slippage on one leg alone cuts your profit by almost half. The Depth Multiplier catches this before the trade opens, rather than discovering it after execution.
The same example without Depth Multiplier illustrates what goes wrong. With multiplier 0, the system reads ask $1.200 on Exchange A and bid $1.205 on Exchange B (top-of-book) — a 0.42% gross spread, well above the open threshold. It fires a market order. Two milliseconds later the order rolls through 50 + 80 + 70 tokens and the actual fill VWAP is $1.2022 on A; a parallel slippage walk on B drops the bid VWAP to $1.2031. Realised gross spread: 0.075%, not 0.42%. After taker fees on two exchanges (0.10% round trip on liquid altcoins) you have a guaranteed loss. The orderbook screamed "thin" — but BBA-only logic does not listen. The Depth Multiplier is the listening mechanism.
Key Points
The Depth Multiplier affects how spreads are computed for both opening and closing decisions. It does not change actual order execution: orders are always placed as market orders at the best available price. The feature uses live orderbook data, not cached or delayed snapshots.
VWAP prices are used for spread thresholds (Open Spread and Close Spread triggers) and for the executable spread comparison when closing positions. Setting the multiplier to 0 disables the feature with zero performance overhead. The valid range is 0 to 50.
Monitoring is built in. Each card's diagnostics panel shows: current VWAP open-side and close-side spreads, the difference between raw BBA and VWAP (your effective slippage prediction), the "VWAP insufficient depth" skip counter, and the average depth observed at the requested level. Treat these as your dashboard for orderbook health. If the slippage prediction climbs steadily during a session, market makers are pulling liquidity — consider closing positions, reducing size, or pausing the card until depth recovers.
Common troubleshooting: if the card never fires despite a clear BBA-level spread, the multiplier may be too high — drop from 5 to 3, or 3 to 2, and watch whether signals begin to come through. If trades fire but realised slippage repeatedly exceeds the diagnostics estimate, the orderbook is updating slower than the feed (rare on Arbitron's real-time incremental feeds, but possible during exchange overload) — pair this with a Notify on Slippage threshold for early warning. If skips dominate one specific exchange in a pair, that venue is the bottleneck; consider switching to a deeper alternative for the same symbol.