Liquidity — book depth & matched-stake floors
How Liquidity works
The liquidity gate ensures liquidity-eligible books have enough size on the line to absorb the intended stake without slippage. Applies only to liquidity books by default: Kalshi and ProphetX. Sportsbooks bypass the gate entirely.
Runtime threshold formula
requiredLiquidity = max(globalMin, scoped.min, kelly * scoped.multiplier)
kelly * multiplier scales the floor with bet size — bigger Kelly demands proportionally more depth. globalMin (default 25) is the always-floor; per-(mode, market, league, book, flow) scoped overrides win when more restrictive.
Default config contract
filters.liquidity.enabled = true— master switch.filters.liquidity.globalMin = 25— always-floor for all liquidity-eligible books.filters.liquidity.scoped = []— array of scoped overrides (mode/market/league/book/flow + min + multiplier).filters.liquidity.books— optional override of which books are liquidity-eligible.filters.liquidity.prophetXProps.min— special floor for ProphetX player-prop markets.
What this Studio page does
Replays settled-position history and sweeps thresholds (globalMin, multiplier, scoped values) to find a configuration that maximizes ROI / minimizes blocked-but-profitable-bet regret. Replay math must match the runtime formula exactly — see docs/gates.md#liquidity for the canonical contract that the replay is held against.
Canonical contract: docs/gates.md#liquidity. Studio parity rule documented in AGENTS.md Gate Contracts section.
Data
Controls
Run Settings
Sweep Setup
Liquidity Coverage Gates
Guardrails
Segment Filters
Data Quality & Output
Summary
| Book | Market | Liquidity-present rows | % of matched rows |
|---|
| Param | Baseline | Best | Bets | Slice Liq Rows | Baseline Score | Best Score | Delta |
|---|
Distribution
| Parameter Value | Bets | Pass Rate | Distinct Days | Green Day % | Worst Day | Win Rate | ROI | Profit | Stake | Avg EV |
|---|