Quote emission
The one shared tick step both lanes drive — its stages in order, what each one consumes, the two gates only a re-price consults, and the hold that must never be silent.
crates/vike-mm/src/quote.rs is "the maker's QUOTE-EMISSION unit — the one shared tick step both
Strategy lanes drive". SpreadMaker::requote "is the pipeline: own-filter the public book →
price (A-S layer or the pure QuoteStyle placement) → reward-band clamp → inventory-skew the sizes
→ flow-toxicity widen/cut → per-side breaker suppression → LADDER or SINGLE placement. The STAGE
ORDER is semantic (each stage consumes the previous stage's (price, size)), and every stage's
'off ⇒ byte-identical' contract is stated inline at the stage that owns it." It "stays ONE
straight-line function rather than a guard-stage pipeline: this crate runs on the p99 core thread,
and inline is what makes the neutral-reduction argument checkable by reading."
The two lanes
Both are in crates/vike-mm/src/strategy_impl.rs. on_quote_tick builds a one-level-per-side
BookView from the touch, on the grid "LEARNED from the L2 book lane (learned_book_tick) when one
has been seen, else the configured tick_size param". on_order_book builds a view from the top
depth_levels + 2 levels of the L2Book — "enough to index the Depth level AND still expose a
genuine best after filtration removes our own top-of-book level" — and stamps the tick with the
mount's now. ts everywhere is "the triggering event's EVENT ts (quote/book), never wall-clock."
The stages
(1) Own-filter. Only when filter_own is set. "Two filtration backends behind the ONE
filter_own gate: the opt-in OwnOrderBook ladder … when it is mounted, else the original
single-snapshot pair". On the default path the raw book is borrowed with no clone. Both backends
are on quote styles.
(2) Price. The signed inventory is read once from HftBroker::position. If A-S state is
present, AsState::price produces the pair (and advances σ̂²); otherwise BookView::priced applies
the selected QuoteStyle. A None means "no valid two-sided quote (book lacks a side / A-S pinned
at a wall) — hold the current resting orders untouched this tick".
(2b) Reward clamp. With a positive reward weight, clamp_into_band pulls the pair into the
venue's reward band, scored off the book midpoint, "not the A-S reservation the candidate is centred
on". It is skipped inside the A-S blackout: "the maker quotes at the walls (A-S widest) and must
NOT be reward-clamped back into the band — that would farm rewards straight into the resolution vol
spike." See liquidity rewards.
(3) Sizes. skew_multipliers shapes qty per side from inventory versus target — "neutral
params yield (1.0, 1.0)". (3b) bumps each side up to the reward min_size, never down. See
inventory skew.
(3c) Toxicity. With a non-zero ToxicityParams bag and a reading in hand, the toxic side is
pushed further from mid by flow · widen · half — half being this tick's (ask_px − bid_px)/2,
"captured BEFORE any widen so both sides scale off the SAME base spread" — and its size cut by
(1 − flow · size_cut).max(0). (3c-i) synthesizes the reading from OFI when no external one has
ever arrived; short-term alpha has the conditions.
(4) Suppression. A side is suppressed while ts < suppressed_until with the breaker enabled,
or when the toxicity cut drove its size to 0 while the guard is active. That second clause is
deliberately guard-scoped: on the default path "a side can reach 0 only via an extreme inventory
skew whose long-standing place-at-zero behavior is preserved".
(5) Placement. An active ladder (levels >= 2) rests N rungs per side from this tick's pair;
otherwise the single-order tail runs, bid first then ask. Switching modes retires the other mode's
orders first (retire_single_order, retire_ladder_orders), each "a guarded no-op" when there is
nothing to retire. Rungs are on ladder quoting.
One side, three arms
requote_single_side is the collapsed per-side tail, keyed by the tag "bid" or "ask":
- Suppressed: pull the resting quote with
cancel_tagged, "recording a CENSORED own outcome for the OwnFillFit κ MLE BEFORE the resting snapshot / placement clock is cleared." - Not resting:
submit_limit_tagged. - Resting:
modify_taggedin place, "additionally gated by the order-refresh TOLERANCE (refresh_skips) and the reward min-order-age hold (reward_moas_holds): a target that barely moved leaves the resting order — and its queue position — untouched, sending nothing."
The header is explicit that the two gates "are reachable ONLY from the re-price arm: a place or a
pull is never gated." refresh_skips answers false at once when no tolerance is configured, when
nothing is resting, or when the side is stale — a fill has invalidated a snapshot that "is the
maker's INTENDED quote but the venue-side remainder is smaller, so the comparison would wrongly read
'no change' and the partial-fill size top-up would be lost." reward_moas_holds short-circuits the
same way, "so a safety re-price (a mid that ran the quote out of the band) always fires." The
arithmetic behind the first gate is on refresh tolerance.
Every arm updates that side's SideState and mirrors its verb into the own-order ladder when one
is mounted.
The hold that speaks
An unpriced tick is announced on the edge, not swallowed
requote's early return on None "was the maker's one wholly silent hold". SpreadMaker::note_no_quote
now warns once when a hold episode opens — "maker HOLDING: the book priced no two-sided quote …
Zero levels on a side means the FEED is not delivering that side — check the venue subscription
before touching the maker's tuning" — and note_quote_resumed warns once when it closes. The
no_quote_holding field doc carries the incident: a maker "can hold forever with orders:0,
fault:null and an empty journal, which is exactly the state prod2 sat in on 2026-08-17 across
~112k summary seq while its bybit market-data socket carried keepalives and no orderbook.50
data." The fee-floor warn could not speak, "because AsState::price returns at
fair_value(view)? BEFORE reaching it".
When the break-even refusal is the cause, note_no_quote says nothing and does not latch:
AsState::note_fee_floor "has already announced the hold with the two numbers that make it
actionable, and it announces its own recovery." Both warns are edge-triggered because the requote
is the vike-core hot fold, whose rule is "instrument per-order boundaries and fault transitions
only."
Binary outcomes
Pricing a bounded [0,1] outcome token — the LMSR log-odds reservation, and the LS-LMSR and Glosten–Milgrom half-spread sources that replace the A-S vol/κ term.
Quote styles
The four pure placement styles, the book view they price from, and the two own-order filtrations that stop a maker joining or leaning on its own quote.