darkbookDocs

05DarkBook documentation

What it costs

Size privacy is a purchase. This page is the receipt: what the taker pays for it, who does not pay for it, and the configuration where the whole thing stops working.

Read fromresearch/band-signal/run_full.logcommit f5a832f

The question that decides whether a size-blind book is worth building is simple to ask and awkward to answer: if a maker cannot see how much you want to trade, do they quote you tighter or wider? The agent-based literature predicted wider unless the size bands carry enough signal to price against. A simulation in research/band-signal agrees, and puts a number on it.

On the live five-band schedule a maker breaks even at a 1.991 bps half-spread against 1.790 bps on an otherwise identical transparent book. The gap is +0.201 ±0.075 bps, about 11% wider. The uninformed taker crossing that spread pays 1.771 bps against 1.532 bps transparent. Half-spreads are per lot in basis points of the reference mid of 106.5 USD.

Break-even maker half-spread, bps per lot
Transparent CLOB1.790 ±0.039

Baseline. Informed flow slices its orders and the maker detects the split. Maker profit per lot: +0.017 bps.

Live five-band schedule1.991 ±0.064

What DarkBook runs. +0.201 ±0.075 bps against the paired transparent run. Maker profit per lot: -0.011 bps.

Fully blind, no size published4.346 ±0.050

One band, no size information at all. +2.555 ±0.063 bps. This is what the schedule is buying you out of.

Read from research/band-signal/run_full.log, section A, at commit f5a832f. 56 configurations, 300,000 rounds after a 100,000-round burn-in, 16 seeds, band schedule read live from constants.rs. Bars show the break-even maker half-spread; the bracket is the reported interval across seeds.

The taker pays, not the maker

Every row in that comparison is break-even calibrated. The maker is held to zero expected profit by construction in 50 of the 56 configurations, including both rows above: the live schedule maker earns -0.011 bps per lot and the transparent maker earns +0.017 bps. Neither of those is a margin. The widening is not maker profit, it is a transfer from the taker into the spread.

ConfigurationBreak-even maker half-spreadUninformed taker half-spreadMaker profit per lot
Transparent CLOB1.790 ±0.0391.532+0.017
Live five-band schedule1.991 ±0.0641.771-0.011
Fully blind, no size4.346 ±0.0504.394+0.011

All figures in bps per lot of the reference mid 106.5 USD, from section A of the run log.

The control that could have failed

A measured gap between two regimes is only about size information if the two regimes differ in size information and nothing else. The run includes a control for exactly that: a 128-band partition identical to the transparent maker's own, with over-declaring disabled, so the two information sets match. It reads +0.029 ±0.079 bps, which is zero. Two regimes with matched information sets collapse onto each other, as they must, so the +0.201 is about size and not about the plumbing.

The run also carries five self tests that each have a failing branch, and the model is rejected if any of them fails. The sharpest is the mechanism test: the band-minus-exact gap reads +2.615 bps when the size signal is switched on and +0.395 bps when it is switched off. If hiding size were not what moved the spread, that gap would not shrink.

Where it breaks

The 0.2 bps number assumes a risk-neutral maker. Drop that assumption and the picture changes, not by widening but by withdrawal. At a risk aversion of gamma 0.05 the gap goes to +1.351 ±0.114 bps, and the share of volume declared in the Block band collapses from 14.7% to 2.8%.

Share of measured volume by declared band
Risk-neutral makerRisk-averse maker, gamma 0.05
Smallceiling 8 lots3.0% to 3.8%
Mediumceiling 64 lots30.1% to 38.3%
Largeceiling 512 lots51.4% to 54.6%
Blockceiling 4,096 lots14.7% to 2.8%
Whaleceiling 32,768 lots0.8% to 0.4%

Read from research/band-signal/run_full.log, band usage section, rows 'LIVE rust schedule' and 'live gamma=0.05 (raw)'. The risk-aversion runs are not break-even calibrated; they are the six configurations out of 56 where the maker's profit is allowed to read as the risk premium it charges.

Read that as a behaviour, not a price. A risk-averse desk does not widen its large-band quote and keep trading. It stops quoting the large bands and the flow moves down into Medium and Large. That is the live risk to this product: if real desks price large size the way a gamma 0.05 maker does, the top of the schedule becomes decorative and DarkBook is a venue for mid-size flow that happens to hide its size.

How stable the number is

The +0.201 figure comes from one parameter set. The run sweeps around it so a reader can see how much of the result is the assumption and how much is the mechanism.

SweepExtra half-spread vs its paired transparent run
Base case, informed fraction 0.20+0.201 ±0.075
Informed fraction 0.05+0.274 ±0.025
Informed fraction 0.10+0.384 ±0.044
Informed fraction 0.35+0.230 ±0.075
Informed fraction 0.50+0.097 ±0.069
Maker cannot detect order splitting+0.202 ±0.054
Informed trader rotates wallets, 50%+0.201 ±0.064
Informed trader rotates wallets, 100%+0.237 ±0.065
Uninformed flow pads bands, 25% cover+0.844 ±0.084
Uninformed flow pads bands, 60% cover+1.134 ±0.067
Thin size tail+0.505 ±0.061
Fat size tail+0.207 ±0.044
Fast reveal horizon, 10 rounds+0.067 ±0.027
Slow reveal horizon, 90 rounds+0.776 ±0.136

Read from research/band-signal/run_full.log, sections B, C, E and G. The sign never flips: across every sweep in the run the banded book is at least as wide as its paired transparent run.

Two of those rows deserve attention rather than a glance. Cover traffic, the strategy where uninformed orders deliberately pad into higher bands to hide the real ones, more than quadruples the cost at 25% adoption and does not stay contained at 60%. And the slow-reveal row shows the result is partly about how long the information stays valuable: when the informed trader's edge decays over 90 rounds instead of 30, the cost of hiding size rises to +0.776 bps.

Method

  • 56 configurations, 300,000 rounds each after a 100,000-round burn-in, 16 seeds, break-even located on a grid of 8 quote multipliers across 5 seeds.
  • The band schedule is read live from programs/darkbook/src/constants.rs at run time, so the study cannot drift away from the deployed ceilings without the log saying so.
  • The transparent maker gets its own 128-bin geometric size partition, the finest schedule in the sweep, so the baseline is never handicapped by being coarser than the thing it is compared against.
  • Base parameters: informed fraction 0.20, event probability 0.03, event mean 0.055, reveal horizon 30 rounds, price impact kappa 4000, max size 32,768 lots, split detection on, risk aversion 0, collateral carry 3e-06, fee 0.0021 per lot.
  • All half-spreads are per lot, in basis points of the reference mid of 106.5 USD.

What this does not establish

The maker in this simulation is a break-even Bayesian learner with a bandit over quote multipliers. A real desk has inventory limits, hedging venues and a risk officer, and none of those are in the model. The 0.201 bps figure is the model's estimate awaiting desk validation. It is not a measured venue statistic, and it should not be quoted as one.

Why this page exists

A venue that hides something has an obvious incentive to describe the hiding as free. The cost is here, at the top of the page, in the same units a trader uses to compare venues, because a privacy claim with no price attached is a claim nobody has checked.